Momentum Technologie & Architektur

Cloud Com­puting ent­schlüs­selt – Teil 1: IaaS, PaaS, SaaS

Geschätzte Lesedauer: 5 Minuten



von Stephanie Schuldes

Sonnenstrahlen durch große Wolke über Wald

“Die Cloud” ist ein Sammelbegriff für verschiedene Dienste und Bereitstellungsmodelle. Dieser Artikel ist der erste Teil einer zweiteiligen Serie, in der wir einen Blick auf die Grundlagen werfen. Der erste Teil befasst sich mit den Servicemodellen IaaS, PaaS und SaaS. Im nächsten Artikel werden wir uns mit den Bereitstellungsmodellen Public, Private und Hybrid Cloud beschäftigen.

Fünf Merk­male des Cloud Com­puting

Cloud Computing ist ein Überbegriff für die Bereitstellung von Rechenkapazitäten und -ressourcen über ein Netzwerk, in der Regel das Internet. Nach Angaben des NIST wird Cloud Computing durch fünf Hauptmerkmale definiert:

  • Self-Service nach Bedarf: Kund*innen können über eine Selbstbedienungsschnittstelle Zugang zu Rechnerkapazitäten erhalten, ohne sich mit einem Verkäufer treffen oder einen Vertrag unterzeichnen zu müssen.
  • Breiter Netzwerkzugriff: Die bereitgestellten Funktionen sind über das Internet und verschiedene Geräte zugänglich.
  • Ressourcen-Pooling: Die Anbieter bedienen mehrere Kund*innen gleichzeitig (Multitenancy) und passen die zugewiesenen Ressourcen dynamisch an den jeweiligen Bedarf der Kund*innen an. Dies bedeutet auch, dass die Kund*innen in der Regel nicht wissen, wo genau sich die Ressourcen befinden.
  • Schnelle Elastizität: Die Ressourcen können schnell und manchmal automatisch nach oben und unten skaliert werden, was den Eindruck einer unbegrenzten, jederzeit verfügbaren Rechenkapazität vermittelt.
  • Messbare Leistung: Die Ressourcennutzung wird erfasst, was eine Beobachtung, Optimierung und Transparenz sowohl auf Seiten des Anbieters als auch auf Seiten der Kund*innen ermöglicht.

Cloud-Service­modelle

Damit ein System diese fünf Anforderungen erfüllen kann, wird die Aufgabe der Verwaltung der Infrastruktur vom Nutzer auf den Cloud-Anbieter übertragen. Es gibt mehrere Möglichkeiten, wie die Verantwortung für den Hardware und Software Stack zwischen diesen beiden Parteien aufgeteilt werden kann. Infolgedessen haben sich drei Cloud-Servicemodelle herausgebildet: IaaS, PaaS und SaaS.

Cloud-Servicemodelle

Was ist Infra­structure as a Service (IaaS)?

Bei IaaS wird die technische Infrastruktur von einem Rechenzentrum bereitgestellt (Hardware, Netzwerk, Speicher, Server). Anstatt eigene Server zu kaufen, können die Nutzer*innen diese nach Bedarf mieten. Für die Wartung ist der IaaS-Anbieter zuständig. Vom Betriebssystem an aufwärts sind Nutzer*innen für alles andere zuständig. Im Grunde genommen haben die Nutzer*innen ein virtuelles Rechenzentrum.

Beispiele für IaaS

  • Google Cloud Infrastructure
  • Amazon Web Services (AWS, auch PaaS)
  • Microsoft Azure (auch PaaS)
  • IBM Cloud
  • Red Hat OpenStack Platform

Anwendungsszenarien

  • Ein qualifiziertes IT- und Entwicklungsteam ist vorhanden.
  • Ein hohes Maß an Kontrolle über die installierten Komponenten ist erforderlich.
  • Rechenkapazität ist erforderlich, aber es gibt keine Ressourcen für ein eigenes Rechenzentrum.

Vorteile

  • Flexibilität und Skalierbarkeit ermöglichen eine schnelle Anpassung der Ressourcen an den tatsächlichen Bedarf.
  • Kein Aufwand für Anschaffung und Betrieb bedeutet geringere Kosten und mehr Zeit für das IT-Personal, sich auf andere Aufgaben zu konzentrieren.
  • Es ist kostengünstiger, nur für die Ressourcen zu zahlen, die tatsächlich genutzt werden.
  • Auslagerung der Verantwortung für Backup und Datenschutz
  • Bequeme Nutzung

Nachteile

  • Das Entwicklungsteam muss fast bei Null anfangen.
  • Höherer Wartungsaufwand für Kund*innen, da ein größerer Teil des Stacks in seinem Verantwortungsbereich liegt
  • Größere Abhängigkeit vom Anbieter in Bezug auf die Ausfallsicherheit (Infrastruktur ist für Kund*innen nicht zugänglich), was sich auf die Benutzerfreundlichkeit und Kundenzufriedenheit auswirken kann.
Cloud-Servicemodelle als Pyramidenmodell

Was ist Plat­form as a Service (PaaS)?

PaaS bietet eine integrierte Laufzeit- und Entwicklungsumgebung (einschließlich Hardware, Software und Wartung) als Service über das Rechenzentrum. Nutzer*innen zahlen also für die Nutzung von z. B. Datenbanken, Dateisystemen oder Anwendungsservern. Nutzer*innen verwalten ihre eigenen Anwendungen und Daten.

Beispiele für PaaS

  • Amazon Web Services (AWS, auch IaaS)
  • Microsoft Azure (auch IaaS)
  • SAP HANA Cloud Platform
  • Microsoft Azure
  • Google App Engine
  • Salesforce Platform
  • Magento Commerce

Anwendungsszenarien

  • Als Framework für die Entwicklung und Ausführung benutzerdefinierter Anwendungen
  • Analytics/Business Intelligence: Die (KI-gestützte) Analyse von Unternehmensdaten kann neue Erkenntnisse, bessere Prognosen und Entscheidungen sowie Innovationen liefern.
  • Zusätzliche Dienste zur Ergänzung und Integration bestehender Anwendungen

Vorteile

  • Es entstehen keine Kosten (in Form von Zeit und Geld) für die Anschaffung und den Betrieb der Infrastruktur (z. B. Wartung, Sicherheitsupdates, Backups).
  • Neben der Infrastruktur gibt es sofort verfügbare Middleware, Datenbanken und Tools, die die Entwicklung und Bereitstellung von Anwendungen unterschiedlicher Komplexität unterstützen, sodass die Entwickler schneller arbeiten, weniger Komponenten selbst entwickeln und ihre Entwicklungsfreiheit behalten können.
  • Die entwickelten Anwendungen weisen eine hohe Skalierbarkeit und Verfügbarkeit auf und können einer großen Anzahl von Kunden zur Verfügung gestellt werden (Multitenancy).
  • Die Plattform bietet eine einheitliche Entwicklungsumgebung für den gesamten Lebenszyklus von Entwicklung, Test, Bereitstellung und Aktualisierung.
  • Die Fokussierung auf die eigentliche Geschäftsidee führt zu schnellen Ergebnissen.
  • Es ist weniger Fachwissen erforderlich, z. B. für den Betrieb der Infrastruktur oder die Analyse von Daten.
  • Komfortablere Entwicklung für mehrere Plattformen
  • Die Nutzung komplexer Tools ist für einen begrenzten Zeitraum möglich, was zu Kosteneinsparungen im Vergleich zur Anschaffung führt, oder ermöglicht den Zugang zu Tools, die sonst unerschwinglich wären.
  • Selbst die einmalige Nutzung eines Dienstes wird erschwinglich, da keine hohen Kosten für die Infrastruktur selten genutzter Anwendungen anfallen.
  • Ermöglicht es Entwicklungsteams, von überall (auch weltweit) zu arbeiten

Nachteile

  • Weniger Kontrolle als bei IaaS
  • Größere Abhängigkeit vom Anbieter (Verfügbarkeit, Wartung, Sicherheit, Datenschutz, Support)
  • Bedenken hinsichtlich des Datenschutzes müssen berücksichtigt werden.

Was ist Soft­ware as a Service (SaaS)?

Bei SaaS wird komplexe Software über das Rechenzentrum zur Verfügung gestellt. Anstelle eines einmaligen Lizenzkaufs und einer lokalen Installation wird die Software als Service bereitgestellt (ähnlich wie beim Kauf oder der Miete eines Autos). Dieser Trend wurde vor allem durch Webdienste begünstigt, die in der Regel pro Aufruf abgerechnet werden.

Beispiele für SaaS

  • Microsoft 365
  • Trello
  • Slack
  • Google Workspace (z. B. Gmail)

Anwendungsszenarien

  • Als Endnutzer*in: direkte Nutzung von Anwendungen (entweder für geschäftsbezogene Aufgaben oder zur Erstellung zusätzlicher Websites und Anwendungen)
    Als Entwickler*in: Bereitstellung von Anwendungen für mehrere Endnutzer

Vorteile

Endnutzer*innen

  • Abo-Gebühren sind flexibel.
  • Kein Installations- und Wartungsaufwand
  • Responsive und/oder barrierefreie Designs sind aufgrund der browserbasierten Schnittstellen leichter zu realisieren.

Entwickler*innen

  • Geringere Betriebskosten durch Multitenancy: Die Anwendung kann von einer einzigen Systeminstanz aus mehrere Kund*innen bedienen.
  • Updates und Korrekturen werden schneller verteilt (müssen nur in einer Instanz durchgeführt werden und sind sofort für alle Kund*innen verfügbar).
  • Diversifizierung und Innovation: schnelle Entwicklung und Monetarisierung von neuen Anwendungen, was den Zugang zu neuen Kund*innen ermöglicht

Nachteile

Endnutzer*innen

  • Da kein Zugriff auf den Code möglich ist, gibt es oft nur wenige Anpassungsmöglichkeiten.
  • Erfordert eine Internetverbindung
  • Verfügbarkeit, Wartung, Sicherheit, Datenschutz und Support hängen vom jeweiligen Anbieter ab.

Entwickler*innen

  • Verantwortlich für Verfügbarkeit, Wartung, Sicherheit, Datenschutz und Support

IaaS, PaaS, SaaS – welches Modell ist das richtige für Ihr Projekt?

Jedes Unternehmen muss entscheiden, welche Methoden für den Entwicklungsprozess am besten geeignet sind. Bei Projekten mit begrenzten Ressourcen und dem Schwerpunkt auf einfachen Anwendungen, Prozessen oder Plattformen kann man viel Zeit und Geld sparen, wenn man ausschließlich in der Cloud entwickelt. Für die meisten Anwendungen profitieren Unternehmen, die Wert auf Flexibilität, Leistung, Sicherheit und Portabilität legen, von der hybriden Kombination aus Cloud und bestehenden On-Premises-Infrastrukturen.

IaaS, PaaS und SaaS bieten Unternehmen deutliche Vorteile in Bezug auf Skalierung, Leistung und Kosteneinsparungen. IaaS ist zum Beispiel ideal für Unternehmen, die schnelle Bereitstellungszyklen von einem skalierbaren System wünschen. Bei PaaS bleibt die Kontrolle über die Infrastruktur erhalten, während ein Großteil der Backend-Arbeiten entfällt, die normalerweise mit der Entwicklung und Wartung von Anwendungen verbunden sind. SaaS schließlich ermöglicht Unternehmen den schnellen und einfachen Zugriff auf neue Anwendungen sowie den regelmäßigen Zugang zu neuen Funktionen und Upgrades.

In Teil 2 geht es weiter mit den Cloud-Bereitstellungsmodellen Public, Private und Hybrid Cloud.