Was ist Platform as a Service?

Platform as a Service (PaaS) ist ein Cloud-Computing-Modell, bei dem ein Drittunternehmen eine Plattform anbietet, die Kunden zur Entwicklung, Ausführung und Verwaltung eigener Apps nutzen können. Dadurch brauchen Entwickler und Programmierer die Infrastruktur, die ihre Software-Applikationen unterstützt, nicht selbst zu erstellen und zu warten. Sie benötigen lediglich eine Internetverbindung, um auf die Plattform zuzugreifen.

Von IaaS zu PaaS und SaaS

PaaS ist nicht von heute auf morgen entstanden. Cloudnative Entwicklung war der nächste logische Schritt nach der Verfügbarkeit von Infrastructure as a Service (IaaS). Cloudnative Entwicklung wiederum führte zu cloudnativen Applikationen (Software as a Service oder SaaS) – einem weiteren großen Trend.

Bevor IaaS verfügbar wurde, nutzten IT-Abteilungen VMs zur Virtualisierung von Servern. Dies steigerte die Effizienz der Servernutzung und bot den zusätzlichen Vorteil, dass sich mehr als ein Betriebssystem pro Gerät installieren ließ. Mit dem exponentiellen Wachstum von Enterprise-Daten war jedoch klar, dass Unternehmen ihre bestehenden Rechenzentren durch die Cloud ergänzen müssen.

Es dauerte etwas, bis Unternehmen Vertrauen in IaaS gefasst hatten. Denn sie waren es gewohnt, ihre Infrastruktur selbst zu verwalten und zu sichern.

In der Zwischenzeit begannen Startups SaaS-Optionen anzubieten und übten damit Wettbewerbsdruck auf traditionelle Softwareunternehmen aus, die das Wirtschaftsmodell von Abonnements bisher ablehnten. Warum sollte ein Unternehmen Lizenzen, Wartung und Upgrades für relativ geringe Abonnementgebühren anbieten, wenn sich ebenso gut teure Lizenzen und jährliche Softwarewartungen verkaufen ließen? Mit zunehmendem Druck waren die traditionellen Softwareanbieter jedoch gezwungen, SaaS als Option anzubieten, um nicht obsolet zu werden.

Als traditionelle Softwareanbieter die Wirtschaftlichkeit von SaaS analysierten, entdeckten sie, dass sie ein monolithisches Angebot in ein Kernprodukt und Module zerlegen konnten. Dadurch hatten Kunden eine Auswahl – und Softwareanbieter mehrere potenzielle Einnahmequellen. Die traditionelle On-Premises-Software hat weiterhin Bestand. Doch selbst Anbieter von Enterprise-Software, die wie IBM oder Oracle sowohl Applikations- als auch Cloud-Anbieter sind, drängen ihre Kunden, auf SaaS und PaaS umzusteigen.

Die erste PaaS – die Zimki JavaScript Web Application Development Platform – wurde 2005 von Fotango entwickelt. Den Durchbruch im PaaS-Bereich schaffte jedoch Google mit seiner App Engine im Jahr 2008. Die Nachfrage nach PaaS wurde nicht nur durch IaaS und SaaS, sondern auch durch weitere Trends wie Mobile, Agile, DevOps und CI/CD angetrieben.

Vor allem mobile Apps nutzen die Cloud im Backend. Seit einiger Zeit verwenden auch Entwickler und Citizen Developer PaaS, um mobile und Web-Erlebnisse im Frontend zu erstellen. Mobile Apps werden in der Regel in der Cloud in einem unabhängigen Testzentrum getestet. Denn der Aufbau und die Wartung im eigenen Unternehmen ist angesichts der Anzahl der Geräte, Betriebssysteme und Browser, mit denen Apps getestet werden müssen, kostspielig.

Neben Entwicklung und Tests erfolgt auch die Produktion in der Cloud. Dies führt uns zum nächsten Vorteil: PaaS erleichtert DevOps und CI/CD.

DevOps und CI/CD erfordern, dass Entwicklung und IT-Betrieb als ein zusammenhängendes Team arbeiten. Dies lässt sich am besten durch identische Entwicklungs- und Produktionsumgebungen erreichen. Auch wenn sich Entwickler mithilfe von Simulatoren und Emulatoren einer Produktionsumgebung annähern können, bilden Cloud-Umgebungen Produktionsumgebungen genauer nach.

Wenn alles in der Cloud stattfindet – Entwicklung, Tests, IT-Ops usw. –, beschleunigt dies die Applikationsbereitstellung. Mit PaaS erhalten Sie die Entwicklungstools und die Infrastruktur, die Sie zum Erstellen, Testen und Bereitstellen von Applikationen benötigen. Sollte Ihnen die Vorstellung, eine fremde Cloud zu nutzen, nicht gefallen, bieten einige Anbieter auch Private-Cloud-Optionen an, die auf einer Appliance hinter einer Firewall laufen.

Ein weiterer Grund für die Einführung von PaaS ist maschinelles Lernen, das große Datenmengen (und damit viel Speicherplatz) sowie viele parallele Rechenressourcen erfordert. Die Nutzung von PaaS ist günstiger als ein Supercomputer.

PaaS und aPaaS: Gemeinsamkeiten und Unterschiede

Ein weiterer Begriff, der PaaS konzeptionell ähnelt und oft synonym verwendet wird, ist aPaaS. Beide Konzepte ermöglichen es Menschen, sich auf die Lösung von Problemen zu konzentrieren, ohne sich um die Infrastruktur (PaaS) oder die Programmierung (aPaaS) kümmern zu müssen.

PaaS setzt in der Regel Programmierkenntnisse voraus, aPaaS nicht.

Mit anderen Worten: PaaS richtet sich an professionelle Entwickler. aPaaS dagegen eignet sich sowohl für Citizen Developer ohne Programmier-Kenntnisse als auch für Webentwickler, die mit HTML und JavaScript vertraut sind und für professionelle Entwickler, die Zeit sparen wollen.

what-is-platform-as-a-service-01

Die Hierarchie der Cloud-Optionen.

Ist aPaaS die Zukunft von PaaS?

Derzeit lautet die Antwort nein, denn viele professionelle Entwickler halten Low-Code für unter ihrem Niveau oder nehmen es nicht ernst. Da Entwickler ihre Programmierkenntnisse über mehrere Jahre hinweg entwickeln, ist es auch kaum vorstellbar, dass ein Low-Code-Tool, das die vielen Komplexitäten der Applikationsentwicklung hinter visuellen Werkzeugen und Assistenten verbirgt, ihren Platz einnehmen könnte. Doch Entwickler zu ersetzen, ist nicht das Ziel von Low-Code.

In Zukunft könnten PaaS und aPaaS konvergieren, da immer mehr professionelle Entwickler Low-Code-Plattformen einsetzen werden müssen, um wettbewerbsfähig zu bleiben. Wie wir in den letzten zehn Jahren gesehen haben, gehen Entwicklerteams über Agile hinaus zu DevOps und CI/CD über, um Kunden schneller einen Mehrwert bieten zu können.

Im Zuge immer kürzerer Software-Lieferzyklen dürfte die manuelle Programmierung zunehmend als Barriere für mehr Geschwindigkeit wahrgenommen werden. Infolgedessen werden Entwickler Low-Code und andere moderne Entwicklungstools verwenden und alles, was Low-Code-Tools nicht out-of-the-box erledigen können, von Hand programmieren. PaaS-Anbieter werden ihre Mission der Produktivitätssteigerung weiter fortsetzen. Dadurch rückt die Konvergenz von PaaS und aPaaS in greifbare Nähe.

Ob PaaS oder aPaaS der Name einer einzigen, konsolidierten Kategorie wird, ist auf lange Sicht unerheblich. Doch kurzfristig ist eine Unterscheidung angesichts der unterschiedlichen Zielgruppen noch sinnvoll.

PaaS und aPaaS sind sinnvoll für MVPs

Viele der heutigen Entwicklungsteams greifen aus Notwendigkeit zu einem extremen Agile-Ansatz. Anstatt eine monolithische Applikation in kleine Teile zu zerlegen, sie zu erstellen und dann zu hoffen, dass Anwender sie mögen, geht es jetzt darum, ein Minimum Viable Product (MVP) zu schaffen und möglichst schnell Feedback zu erhalten. Dieser Kulturwandel von der Perfektion zur Iteration wurde angetrieben von digitalen Disruptoren wie Amazon, Facebook, Google und Netflix.

Stellen Sie sich vor, Sie investieren Millionen Dollar in Tools und Mitarbeiter, nur um ein Produkt zu entwickeln, das sich als Flop herausstellt – was oft genug passiert ist. Unternehmen haben inzwischen erkannt, dass es besser ist, ein MVP zu entwickeln, aus Fehlern zu lernen („fail fast“) und dann weiterzumachen.

PaaS and aPaaS eignen sich perfekt für MVPs, weil sie die Produktbereitstellung beschleunigen. Zudem bieten sie unzählige App-bezogene Daten, die analysiert werden können, mitsamt den erforderlichen Tools – alles an einem Ort. Eine erfolgreiche App können Sie bis ins Unendliche skalieren, weil sie in der Cloud entwickelt wurde – vorausgesetzt, dass Ihr PaaS- oder aPaaS-Anbieter dies erlaubt.

Nicht zuletzt müssen PaaS und aPaaS im Hinblick auf neue Sprachen, Tools, Methoden und Paradigmen immer einen Schritt voraus sein. Wenn Sie also zum Beispiel Container und Microservices-Architekturen verwenden, sind Sie auf der sicheren Seite. Wenn nicht, ist es auch kein Problem.

Fazit

PaaS und aPaaS machen die Softwareentwicklung effizienter und effektiver. Momentan ist eine Unterscheidung sinnvoll, da beide auf unterschiedliche Zielgruppen ausgerichtet sind. Im Zuge weiterer Veränderungen wird langfristig wahrscheinlich aber nur einer der Begriffe Bestand haben.

PaaS und aPaaS sind logische Schritte in den Cloud-Migrationsstrategien von Unternehmen und werden im Zuge der digitalen Transformation zu stärker softwareabhängigen und softwaregesteuerten Organisationen weiter an Bedeutung gewinnen.