PaaS-Anbieter (Platform-as-a-Service) offerieren eine Cloud-basierte Plattform zum Erstellen und Ausführen von Anwendungen.
Nach Lektüre dieses Artikels können Sie Folgendes:
Link zum Artikel kopieren
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.
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.
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.
Die wichtigsten Angebote von PaaS-Anbietern sind:
Verschiedene Anbieter können auch noch andere Dienste bereitstellen, aber dies sind die wichtigsten PaaS-Dienste.
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.
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.
Ein PaaS-Anbieter stellt das Betriebssystem, auf dem Entwickler arbeiten und auf dem die Anwendung ausgeführt wird, bereit und wartet es.
PaaS-Anbieter verwalten und pflegen Datenbanken. In der Regel stellen sie Entwicklern auch ein Datenbankmanagementsystem zur Verfügung.
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.
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.
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.
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.
PaaS-Anbieter übernehmen alle Lizenzen für Betriebssysteme, Entwicklungstools und alles andere, was ihre Plattform umfasst.
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.
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.
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.
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.