Die Cloud ist Sammelbegriff für verschiedene Dienste und Bereitstellungsmodelle. Wo man die Servicemodelle IaaS, PaaS und SaaS sinnvoll einsetzt und wie sie sich unterscheiden, erklärt Stephanie Schuldes von Optimal Systems.
Cloud Computing gewinnt zunehmend mehr Bedeutung, nicht zuletzt, weil es beliebig skalierbare Rechenkapazitäten und -ressourcen über das Internet zur Verfügung stellt. Nach Angaben des National Institute of Standards and Technology zeichnet die Technologie fünf Hauptmerkmale bzw. Vorteile aus:
- Self-Service nach Bedarf: Nutzer 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 Kunden gleichzeitig (Multitenancy) und passen die zugewiesenen Ressourcen dynamisch an den jeweiligen Bedarf an. Dies bedeutet auch, dass man in der Regel nicht weiß, wo die Ressourcen lokalisiert sind.
- Schnelle Elastizität: Die Ressourcen lassen sich schnell und manchmal automatisch nach oben und unten skalieren, 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 Kunden ermöglicht.
Cloud-Servicemodelle
Je nach Verantwortung für den Hardware- und Software-Stack zwischen den beiden Parteien haben sich drei Cloud-Servicemodelle am Markt etabliert: IaaS, PaaS und SaaS. Hier eine Übersicht der Merkmale und Vor- bzw. Nachteile:
Infrastructure as a Service (IaaS)
Bei IaaS wird die technische Infrastruktur von einem Rechenzentrum bereitgestellt (Hardware, Netzwerk, Speicher, Server) und können nach Bedarf gemietet werden. Für die Wartung ist der IaaS-Anbieter, für Betriebssystem an aufwärts sind die Kunden zuständig. Beispiele für IaaS sind Google Cloud Infrastructure, Amazon Web Services, Microsoft Azure, IBM Cloud und Red Hat OpenStack Platform. Anwendungsszenarien bedingen ein qualifiziertes IT- und Entwicklungsteam, hohe Kontrolle über die installierten Komponenten und ausreichend Rechenkapazität.
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
- Kostengünstiger, weil nur die tatsächlich genutzten Ressourcen bezahlt werden müssen
- Auslagerung der Verantwortung für Backup und Datenschutz
- Bequeme Nutzung
Nachteile
- Das Entwicklungsteam muss fast bei Null anfangen
- Höherer Wartungsaufwand für Kunden, da ein größerer Teil des Stacks in seinem Verantwortungsbereich liegt
- Größere Abhängigkeit vom Anbieter in Bezug auf die Ausfallsicherheit (Infrastruktur ist nicht zugänglich)
Platform as a Service
PaaS bietet eine integrierte Laufzeit- und Entwicklungsumgebung (einschließlich Hardware, Software und Wartung) als Service über das Rechenzentrum. Kunden zahlen also für die Nutzung von z.B. Datenbanken, Dateisystemen oder Anwendungsservern und verwalten ihre eigenen Anwendungen und Daten. PaaS bieten Amazon Web Services, Microsoft Azure, SAP HANA Cloud Platform, Google App Engine, Salesforce Platform und Magento Commerce. PaaS eignet sich als Framework für die Entwicklung und Ausführung benutzerdefinierter Anwendungen, Analytics- bzw. Business Intelligence-Applikationen und 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
Software 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). Beispiele für SaaS sind Microsoft 365, Trello, Slack und Google Workspace (z. B. Gmail). Anwendungsszenarien umfassen die direkte Nutzung von Anwendungen (entweder für geschäftsbezogene Aufgaben oder zur Erstellung zusätzlicher Websites und Anwendungen) sowie für Entwickler die Bereitstellung von Anwendungen für mehrere Endnutzer.
Vorteile
Für Endnutzer
- Abo-Gebühren sind flexibel
- Kein Installations- und Wartungsaufwand
- Responsive und/oder barrierefreie Designs sind aufgrund der browserbasierten Schnittstellen leichter zu realisieren
Für Entwickler
- Geringere Betriebskosten durch Multitenancy: Die Anwendung kann von einer einzigen Systeminstanz aus mehrere Kunden bedienen
- Updates und Korrekturen werden schneller verteilt (müssen nur in einer Instanz durchgeführt werden und sind sofort verfügbar)
- Diversifizierung und Innovation: schnelle Entwicklung und Monetarisierung von neuen Anwendungen, was den Zugang zu neuen Kunden ermöglicht
Nachteile
Für Endnutzer
- 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
Für Entwickler
- Verantwortlich für Verfügbarkeit, Wartung, Sicherheit, Datenschutz und Support
IaaS, PaaS, SaaS – welches Modell ist das richtige?
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.
Bild: iStock