Was ist Platform-as-a-Service (PaaS)?

PaaS-Anbieter (Platform-as-a-Service) offerieren eine Cloud-basierte Plattform zum Erstellen und Ausführen von Anwendungen.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • PaaS definieren
  • Vor- und Nachteile von PaaS ergründen
  • PaaS mit Serverless Computing vergleichen

Link zum Artikel kopieren

Was ist Platform-as-a-Service (PaaS)?

Beim PaaS-Modell (Platform-as-a-Service) mieten Entwickler im Wesentlichen alles, was sie zum Erstellen einer Anwendung benötigen, und verlassen sich bezüglich Entwicklungstools, Infrastruktur und Betriebssystemen auf den Cloud-Provider. Dies ist eines der drei Servicemodelle des Cloud-Computings. PaaS vereinfacht die Entwicklung von Webanwendungen erheblich. Aus Sicht des Entwicklers erfolgt das gesamte Backend-Management hinter den Kulissen. Obwohl PaaS einige Ähnlichkeiten mit Serverless Computing hat, gibt es doch viele wesentliche Unterschiede zwischen beidem.

Welches sind die drei Dienstmodelle des Cloud-Computings?

SaaS-, PaaS- und IaaS-Service-Modelle

Die drei Modelle des Cloud-Computings sind PaaS, SaaS (Software-as-a-Service) und IaaS (Infrastructure-as-a-Service). IaaS beinhaltet eine Cloud-Computing-Infrastruktur (Server, Speicher usw.), die vom Cloud-Anbieter verwaltet wird. Bei SaaS hingegen geht es um vollständige Anwendungen, die in der Cloud gehostet und vom SaaS-Anbieter verwaltet werden. Wenn ein SaaS-Kunde jemand ist, der ein Haus mietet, dann ist ein PaaS-Kunde jemand, der alle schweren Geräte und Elektrowerkzeuge mietet, die für den schnellen Bau eines Hauses erforderlich sind, wobei die Werkzeuge und Geräte vom Eigentümer kontinuierlich gewartet und repariert werden.

Wie verhält sich PaaS im Vergleich mit intern gehosteten Entwicklungsumgebungen?

Auf PaaS kann über jede Internetverbindung zugegriffen werden, so dass die gesamte Anwendung im Webbrowser erstellt werden kann. Da die Entwicklungsumgebung nicht lokal gehostet ist, können Entwickler von überall auf der Welt an der Anwendung arbeiten. Auf diese Weise können Teams zusammenarbeiten, die sich physisch an verschiedenen geografischen Standorten aufhalten. Es bedeutet auch, dass Entwickler weniger Kontrolle über die Entwicklungsumgebung haben, obwohl dies mit weitaus weniger Aufwand verbunden ist.

Was beinhaltet PaaS?

Die wichtigsten Angebote von PaaS-Anbietern sind:

  • Entwicklungswerkzeuge
  • Middleware
  • Betriebssysteme
  • Datenbankverwaltung
  • Infrastruktur

Verschiedene Anbieter können auch noch andere Dienste bereitstellen, aber dies sind die wichtigsten PaaS-Dienste.

Entwicklungswerkzeuge

PaaS-Anbieter bieten eine Vielzahl von Tools an, die für die Softwareentwicklung erforderlich sind, wie Quellcode-Editor, Debugger, Compiler und andere wichtige Tools. Diese Tools können zusammen als Framework angeboten werden. Die konkret angebotenen Tools hängen vom jeweiligen Anbieter ab. Die PaaS-Angebote sollten jedoch alles enthalten, was ein Entwickler zum Erstellen seiner Anwendung benötigt.

Middleware

Als Dienst angebotene Plattformen enthalten normalerweise auch Middleware, so dass Entwickler diese nicht selbst erstellen müssen. Middleware ist eine Software, die sich zwischen Anwendungen für Benutzer und dem Betriebssystem des Computers befindet. Middleware kann Software beispielsweise gestatten, über Tastatur und Maus auf Eingaben zuzugreifen. Middleware ist zum Ausführen einer Anwendung erforderlich, Endbenutzer interagieren jedoch nicht mit ihr.

Betriebssysteme

Ein PaaS-Anbieter stellt das Betriebssystem, auf dem Entwickler arbeiten und auf dem die Anwendung ausgeführt wird, bereit und wartet es.

Datenbanken

PaaS-Anbieter verwalten und pflegen Datenbanken. In der Regel stellen sie Entwicklern auch ein Datenbankmanagementsystem zur Verfügung.

Infrastruktur

PaaS ist im Cloud-Computing-Servicemodell des IaaS der nächste Layer. Alles, was im IaaS enthalten ist, ist auch im PaaS enthalten. Ein PaaS-Anbieter verwaltet entweder Server, Speicher und physische Rechenzentren oder kauft sie von einem IaaS-Anbieter.

SaaS, PaaS, IaaS und die Cloud als Pyramide

Warum verwenden Entwickler PaaS?

Schnellere Markteinführung

Mit PaaS können Anwendungen schneller erstellt werden, als wenn Entwickler sich um das Erstellen, Konfigurieren und Bereitstellen ihrer eigenen Plattformen und Backend-Infrastruktur kümmern müssten. Mit PaaS müssen sie einfach den Code schreiben und die Anwendung testen. Den Rest erledigt der Anbieter.

Eine Umgebung vom Anfang bis zum Ende

Mit PaaS können Entwickler ihre Anwendungen in derselben Umgebung erstellen, testen, debuggen, bereitstellen, hosten und aktualisieren. Auf diese Weise können Entwickler gewährleisten, dass eine Webanwendung vor der Veröffentlichung wie gehostet funktioniert, und den Zyklus der Anwendungsentwicklung vereinfachen.

Preis

PaaS ist in vielen Fällen kostengünstiger als IaaS. Die Betriebskosten sind niedriger, da PaaS-Kunden keine virtuellen Maschinen verwalten und bereitstellen müssen. Darüber hinaus haben einige Anbieter eine Pay-as-you-go-Preisstruktur, bei der der Anbieter nur die von der Anwendung verwendeten Rechenressourcen in Rechnung stellt, was den Kunden normalerweise Geld spart. Allerdings hat jeder Anbieter eine etwas andere Preisstruktur. Einige Plattformprovider berechnen eine monatliche Pauschalgebühr.

Einfache Lizenzierung

PaaS-Anbieter übernehmen alle Lizenzen für Betriebssysteme, Entwicklungstools und alles andere, was ihre Plattform umfasst.

Welches sind die potentiellen Nachteile der Nutzung von PaaS?

Anbieter-Lock-in

Es kann schwierig werden, den PaaS-Anbieter zu wechseln, da die Anwendung mit den Tools des Anbieters und speziell für dessen Plattform erstellt wurde. Jeder Anbieter kann andere Architekturanforderungen haben. Verschiedene Anbieter unterstützen eventuell nicht dieselben Sprachen, Bibliotheken, APIs, Architekturen oder Betriebssysteme, die zum Erstellen und Ausführen der Anwendung verwendet wurden. Bei einem Anbieterwechsel müssen Entwickler gegebenenfalls ihre Anwendung entweder neu erstellen oder stark verändern.

Abhängigkeit vom Anbieter

Der Aufwand und die Ressourcen für den Wechsel des PaaS-Anbieters können dazu führen, dass Unternehmen stärker von ihrem aktuellen Anbieter abhängig sind. Eine kleine Änderung der internen Prozesse oder der Infrastruktur des Anbieters kann einen großen Einfluss auf die Performance einer Anwendung haben, die für die effiziente Ausführung der alten Konfiguration ausgelegt ist. Wenn der Anbieter sein Preismodell ändert, kann das Betreiben einer Anwendung plötzlich teurer werden.

Sicherheits- und Compliance-Herausforderungen

In einer PaaS-Architektur speichert der externe Anbieter die meisten oder alle Daten einer Anwendung zusammen mit dem Hosting des Codes. Gegebenenfalls kann der Anbieter die Datenbanken tatsächlich über einen weiteren Dritten, einen IaaS-Anbieter, speichern. Obwohl die meisten PaaS-Anbieter große Unternehmen mit strengen Sicherheitsmaßnahmen sind, ist es schwierig, die Sicherheitsmaßnahmen zum Schutz der Anwendung und ihrer Daten vollständig zu bewerten und zu testen. Für Unternehmen, die strenge Datenschutzbestimmungen einhalten müssen, bedeutet die Überprüfung der Einhaltung weiterer externer Anbieter zusätzliche Hürden bei der Markteinführung.

Worin unterscheidet sich Platform-as-a-Service von Serverless Computing?

PaaS und Serverless Computing sind insofern ähnlich, als Entwickler sich nur um das Schreiben und Hochladen von Code kümmern müssen und der Anbieter alle Backend-Prozesse abwickelt. Die Skalierung verläuft bei den beiden Modelle jedoch sehr unterschiedlich. Mit Serverless Computing oder FaaS erstellte Apps skalieren automatisch, während PaaS-Apps dies nur tun, wenn sie entsprechend programmiert sind. Die Startzeiten variieren ebenfalls stark. Serverless-Apps können nahezu sofort ausgeführt werden. PaaS-Apps ähneln eher herkömmlichen Anwendungen und müssen die meiste oder die ganze Zeit ausgeführt werden, um sofort für Benutzer verfügbar zu sein.

Ein weiterer Unterschied besteht darin, dass Serverless-Anbieter keine Entwicklungstools oder Frameworks bereitstellen, wie dies bei PaaS-Anbietern der Fall ist. Und schließlich unterscheidet auch die Preisgestaltung die beiden Modelle voneinander. Die PaaS-Abrechnung ist bei weitem nicht so präzise wie die des Serverless Computings, bei dem die Gebühren auf Sekunden oder Sekundenbruchteile pro Instanz einer Funktion genau berechnet werden.