Lernfabrik

Einführung in Cloud Computing

Was ist Cloud Computing?

Cloud Computing bezeichnet die Bereitstellung von IT-Ressourcen über das Internet, sodass Benutzer Daten und Anwendungen nicht lokal speichern oder ausführen müssen. Stattdessen werden sie auf entfernten Servern ausgeführt, die in Rechenzentren betrieben werden. Diese Ressourcen sind über das Internet zugänglich und bieten Flexibilität, Skalierbarkeit und Kosteneffizienz.

Es gibt drei Hauptmodelle im Cloud Computing:

IaaS (Infrastructure as a Service) Bereitstellung von Infrastruktur wie Rechenleistung, Speicher und Netzwerken.
Beispiele: Amazon Web Services (AWS), Microsoft Azure, Google Cloud.
PaaS (Platform as a Service) Bereitstellung von Plattformen zur Entwicklung und Bereitstellung von Anwendungen.
Beispiele: Heroku, Google App Engine, Microsoft Azure App Services.
SaaS (Software as a Service) Bereitstellung von vollständigen Softwarelösungen, die über das Internet zugänglich sind.
Beispiele: Google Workspace (Docs, Sheets, Gmail), Microsoft 365, Salesforce.

Cloud Computing hat viele Vorteile, darunter:

Skalierbarkeit Ressourcen können nach Bedarf hinzugefügt oder entfernt werden.
Praxisbeispiel: Eine E-Commerce-Webseite kann zur Weihnachtszeit mehr Serverleistung buchen und sie danach wieder reduzieren.
Kosteneffizienz Es entfallen Investitionen in Hardware sowie laufende Wartungskosten.
Praxisbeispiel: Ein kleines Unternehmen nutzt Salesforce als CRM-System, ohne eine eigene IT-Infrastruktur aufbauen zu müssen.
Sicherheit Cloud-Anbieter bieten hohe Sicherheitsstandards inklusive Verschlüsselung, Firewalls und Zugriffskontrollen.
Praxisbeispiel: Amazon Web Services (AWS) schützt Kundendaten mit einem mehrschichtigen Sicherheitskonzept.
Zugänglichkeit Cloud-Dienste sind von überall mit Internetverbindung erreichbar.
Praxisbeispiel: Google Workspace ermöglicht es Teams weltweit, in Echtzeit an denselben Dokumenten zu arbeiten – ideal fürs Homeoffice.

Cloud-Modelle im Detail

IaaS – Infrastructure as a Service
IaaS bietet grundlegende Infrastrukturressourcen wie virtuelle Maschinen, Speicher und Netzwerke. Nutzer haben vollständige Kontrolle über diese Infrastruktur, müssen jedoch keine Hardware verwalten. Ein typisches Beispiel ist Amazon Web Services (AWS), wo Kunden virtuelle Maschinen (EC2) und Speicherplatz (S3) anmieten können, um ihre Anwendungen zu betreiben.

**Praxisbeispiel**: Ein Unternehmen, das eine Website betreibt, könnte AWS EC2-Instanzen verwenden, um Server-Ressourcen bereitzustellen, und S3 zur Speicherung von Bildern und Dokumenten. Bei hohem Traffic kann das Unternehmen einfach mehr Ressourcen skalieren.

PaaS – Platform as a Service
PaaS stellt eine Entwicklungsumgebung zur Verfügung, um Anwendungen zu erstellen, zu testen und bereitzustellen. Dies erleichtert Entwicklern die Arbeit, da sie sich nicht um die zugrunde liegende Infrastruktur kümmern müssen. Ein Beispiel hierfür ist **Heroku**, das Entwicklern ermöglicht, Apps zu hosten, ohne sich um Server oder Netzwerkarchitektur kümmern zu müssen.

**Praxisbeispiel**: Ein Startup, das eine neue mobile App entwickelt, könnte PaaS von Google App Engine verwenden, um die App schnell bereitzustellen und gleichzeitig Kosten zu sparen. Das Entwicklerteam konzentriert sich nur auf die App-Logik, ohne sich um Serveradministration zu kümmern.

SaaS – Software as a Service
SaaS ist eine Cloud-Softwarelösung, bei der der Anbieter die gesamte Software verwaltet. Benutzer greifen über das Internet auf die Software zu, ohne sich um Wartung oder Updates kümmern zu müssen. Beispiele für SaaS sind **Salesforce**, **Google Workspace** und **Microsoft 365**.

**Praxisbeispiel**: Ein kleines Unternehmen nutzt Salesforce, um sein Kundenbeziehungsmanagement zu verwalten. Es muss keine eigene Infrastruktur kaufen und kann von überall auf das CRM zugreifen. Es spart Zeit und Kosten, da Updates und Wartung vom Anbieter erledigt werden.

Hinweis: Alle Ergebnisse und Zwischenergebnisse müssen in Moodle abgegeben werden.

Cloud Computing Übung
Schwierigkeitsgrad: Einfach
  • Aufgabe 1: Beschreibe die Unterschiede zwischen IaaS, PaaS und SaaS. Welche Modelle würden für folgende Szenarien am besten geeignet sein?
    • Ein Startup, das eine mobile App entwickeln möchte.
    • Ein Unternehmen, das ein komplexes CRM benötigt.
    • Ein Software-Entwicklungsunternehmen, das Server-Ressourcen für verschiedene Projekte anmieten möchte.
Programmieraufgabe: Cloud-Service
Schwierigkeitsgrad: Mittel
  • Aufgabe 2: Erstelle eine einfache Webseite, die verschiedene Cloud-Dienste (IaaS, PaaS, SaaS) vorstellt und ihre Vor- und Nachteile erklärt.
  • Aufgabe 3: Entwickle eine einfache Cloud-Anwendung, die eine Nutzeranmeldung über eine API ermöglicht. Überlege, wie man das Modell "Platform as a Service" dabei anwenden könnte.