Servicemodelle im Cloud-Computing

Mirko Stocker
Cloud Solutions @ OST
3 min readMar 2, 2020

--

Im letzten Beitrag haben wir angeschaut, wie sich ein Cloud-Computing Angebot definieren lässt und auf welche Eigenschaften es bei einem echten Cloud-Angebot ankommt. Derselbe ISO/IEC 17788 Standard gibt uns auch eine Kategorisierung von Cloud-Angeboten in drei Servicemodelle vor.

Key Takeaways

  • Cloud-Angebote lassen sich in Infrastructure-, Platform- und Software-as-a-Service unterteilen.
  • Je nach Modell behält man viel Kontrolle (IaaS) über die Infrastruktur, konzentriert sich auf die Entwicklung (PaaS) oder konfiguriert nur noch eine fixfertige Softwarelösung (SaaS).
  • Welches das richtige Modell ist, hängt stark vom geplanten Einsatzzweck ab.

Die drei Servicemodelle unterscheiden sich primär darin, wie die Kontrolle und Verantwortung über den ganzen Infrastrukturstack zwischen Provider und Kunde aufgeteilt sind. Bei Infrastructure-as-a-Service (IaaS) stellt der Provider — meist virtuelle — Hardware zur Verfügung auf der dann ein Betriebssystem läuft, das vom Kunden selbst administriert wird. Im Platform-as-a-Service (PaaS) Modell übernimmt der Provider diese Aufgabe und stellt eine vordefinierte Ausführungsumgebung für Applikationen zur Verfügung, häufig ergänzt durch Datenbanken und Middleware. Noch einen Schritt weiter geht Software-as-a-Service (SaaS), wo die Anwendungssoftware vom Provider stammt und vom Kunden nur noch konfiguriert und administriert werden kann. (Da selbstverständlich auch Datenbanken, Middleware und das Betriebssystem Software sind, wäre der Begriff Application-Software-as-a-Service eigentlich treffender.)

Servicemodelle unterscheiden sich in der Aufgabenverteilung zwischen Provider und Kunde.

Das wohl bekannteste IaaS-Beispiel ist Amazons Elastic Compute Cloud EC2, bei der aus einer Unzahl an Hardwarekonfigurationen ausgewählt werden kann. Abgerechnet werden die aktiven Instanzen dabei stündlich; durch eine längerfristige Reservation der Instanzen lassen sich Rabatte erzielen.

Unter den PaaS-Anbietern gehört Heroku zu den bekanntesten und ältesten Anbietern. Bei Heroku mietet man sich keine virtuelle Maschine, sondern deployed direkt ganze Applikationen, ohne dass man sich um die Konfiguration von Betriebsystem, Webserver, Proxy, etc. kümmern muss. Die Applikationen werden in Dynos genannten Containern ausgeführt und auf die Sekunde genau nach Laufzeit abgerechnet. Wird beispielsweise eine Datenbank benötigt, lässt sich PostgreSQL mit wenigen Klicks hinzufügen.

Ein SaaS-Angebot eignet sich nicht für das Deployment eigener Applikationen. Die Anwendungssoftware wird vom Anbieter entwickelt und betrieben, lassen sich aber selbst konfigurieren und verwalten (wir erinnern uns an das Self-Service Kriterium). Das klassische Beispiel hier ist CRM-Anbieter Salesforce oder Googles G-Suite.

Die Servicemodelle unterscheiden sich also darin, wieviel man selbst in der Hand haben will und welche Aufgaben der Provider übernehmen soll. Daraus ergeben sich unterschiedliche Vor- und Nachteile: Während man beim IaaS-Angebot volle Kontrolle über die Software hat, muss man sich auch selbst um Plattform-Updates kümmern. Diese Arbeit nimmt einem der PaaS-Anbieter ab, gleichzeitig gibt man aber auch viel Kontrolle auf. Noch grösser wird der Lock-in bei SaaS-Angeboten, die oftmals proprietär sind.

Welches Serviceangebot das richtige ist, muss von Fall zu Fall unterschieden werden: für eine Legacy-Applikation findet sich womöglich kein passendes PaaS-Angebot, stattdessen kann man auf ein IaaS zurückgreifen. Als Startup möchte man sich hingegen nicht um Betriebssystemupdates kümmern, sondern sich voll auf die Entwicklung konzentrieren. Die Zeitersparnis eines PaaS machen allfällige Beschränkungen mühelos wett, aber für ein einfaches MVP reicht womöglich schon ein SaaS-Angebot.

Neben diesen drei etablierten Servicemodellen existieren noch eine Vielzahl an weiteren X-as-a-Service (XaaS) Angeboten: Container-as-a-Service (CaaS), Function-as-a-Service (FaaS), Business-Process-as-a-Service (BPaaS) , Identity-as-a-Service (IDaaS), Integration-as-a-Service (IaaS), etc. In den Anfängen des Cloud Computing war das Erfinden von neuen XaaS-Kategorien eine Art Anbieter-Trendsport. Alle diese Angebote lassen sich aber auf eine der drei grundlegenden Servicemodelle abbilden. Auch die aktuell sehr populären Serverless-Angebote wie z.B. AWS Lambda und AWS Step Functions lassen sich als PaaS klassifizieren.

Im nächsten Beitrag geht es um unterschiedliche Deploymentmodelle und die Frage, wo die Cloud überhaupt ist.

Weiterführende Links

Sie können sich nicht zwischen Anbietern entscheiden? Eventuell haben wir diese schon evaluiert. Treten Sie mit uns in Kontakt!

Die letzte Aktualisierung dieser Story erfolgte am 13. März 2023 (ZIOL).

--

--

Mirko Stocker
Cloud Solutions @ OST

SE Prof (Cloud, Web, Programming Languages) @ OST; Partner @ Institute for Software; Co-Founder @ LegalGo