PaaS: Platform as a Service im Überblick

PaaS ist die Abkürzung für Platform as a Service. Mit diesem Begriff wird ein Cloud-Service bezeichnet, über den der Anbieter eine Entwicklungsumgebung und Tools für die Entwicklung von neuen Anwendungen bereitstellt. Somit ist PaaS als Dienst vor allem vor allem für Entwickler und Software-Unternehmen sinnvoll, die schnell und einfach neue Programme oder Apps erschaffen und veröffentlichen wollen, ohne sich selbst um die benötigte Infrastruktur kümmern zu müssen.

Was ist PaaS?

Im Cloud Computing stellt PaaS ein Bindeglied zwischen „Software as a Service“ (SaaS) und „Infrastructure as a Service“ (IaaS) dar. Während IaaS lediglich die Infrastruktur bereitstellt, die Unternehmen für ihre Arbeit benötigen, geht PaaS einen Schritt weiter und bietet gezielt ein Paket mit nützlichen Tools an, um direkt mit der App-Entwicklung loszulegen. Entwerfen, testen, überarbeiten und das Produkt seinen Nutzern bereitstellen: All das ist mit Platform as a Service möglich.

Bekannte Platform-as-a-Service-Lösungen sind beispielsweise die Google App Engine (GAE), Microsoft Azure und force.com von Salesforce.

Definition PaaS

Die Dienstleistung Platform as a Service (kurz PaaS) ermöglicht es Kunden, eine virtuelle Plattform zu mieten, auf der sie Webanwendungen entwickeln, testen und für Nutzer bereitstellen können.

Wie ist PaaS aufgebaut?

PaaS-Angebote bestehen unter anderem aus grundlegender Infrastruktur wie Servern, Betriebssystemen, Speicherplatz und Middleware, also Programmen, die mehrere Anwendungen untereinander verbinden. Dazu kommen Ressourcen wie beispielsweise Entwicklungswerkzeuge, Programmiersprachen, Datenbankmanagement-Systeme und Container-Techniken. Die verschiedenen auf der Plattform enthaltenen Lösungen sind entweder Eigenentwicklungen des Anbieters oder stammen von Drittanbietern. Ihr Zweck ist es, den Kunden die komfortable und schnelle Entwicklung neuer Webanwendungen zu ermöglichen.

Wenn Sie PaaS in Anspruch nehmen, müssen Sie sich also nicht mehr um die Beschaffung und Verwaltung der Infrastruktur kümmern oder die für die Entwicklung benötigten Lösungen beschaffen, sondern können sich komplett auf das Programmieren Ihrer Anwendung und auf Ihre Kunden fokussieren. Die dabei entstandenen Programme lassen sich anschließend als Software as a Service über die Cloud bereitstellen. Das können beispielsweise kommerzielle Apps sein oder es kann sich um interne Software handeln, die nur für die Nutzung innerhalb des eigenen Unternehmens vorgesehen ist.

Wie funktioniert PaaS?

Mit Platform as a Service entwickeln Sie Ihr Produkt im Grunde so, wie Sie es auch in einer selbst aufgebauten Entwicklungsumgebung tun würden. Nach der Erstellung des Codes übertragen Sie ihn auf die Plattform, wo er in einem den Ressourcenanforderungen entsprechenden Container bereitgestellt und ausgeführt wird. So können Sie Änderungen sofort sehen. Viele PaaS-Dienste sind dabei in der Lage, mehrere Versionen eines Programms gleichzeitig auszuführen. Dadurch lassen sich beispielsweise Live-Testumgebungen schaffen oder Rollbacks von früheren Versionen ausführen.

Webhosting-Angebote sind ein einfaches Beispiel dafür, wie Platform as a Service funktioniert. Sie als Kunde erstellen den Code und geben ihn beim Webhosting-Dienst ein. Dieser führt den Code aus und zeigt die von Ihnen erstellte Webseite an. Sie müssen sich nicht um Speicherplatz, Wartung oder die Einrichtung von Datenbanken kümmern. PaaS-Angebote können allerdings auch wesentlich komplexer sein und viele weitere Funktionen enthalten.

Was sind die Besonderheiten von PaaS?

Wenn Sie Platform as a Service nutzen, stehen Ihnen jeweils nur bestimmte Programmiersprachen zur Verfügung. Somit müssen Sie einen Anbieter wählen, der die von Ihnen verwendeten Sprachen unterstützt. Achten Sie genau darauf, welche Anforderungen Ihr eigenes Projekt hat und welche Programmiersprachen von den einzelnen PaaS-Lösungen genutzt werden.

Überlegen Sie auch, welche Leistungen Sie voraussichtlich in Zukunft benötigen werden, wenn die von Ihnen entwickelten Anwendungen erfolgreich sind und mehr Traffic generieren. Denn auch bei einem Nutzeransturm muss Ihr Dienst stabil bleiben – eine schlechte Performance wirkt sich schlecht auf Ihr Unternehmen aus, da sie zu langen Ladezeiten führt. Und das wiederum führt dazu, dass die Kunden unzufrieden werden.

Die von Ihnen gebuchten Leistungen lassen sich zwar meist hochskalieren, doch damit steigt auch der Preis. Diese Kosten sollten Sie berücksichtigen, bevor Sie sich für einen Anbieter entscheiden.

Anwendungsgebiete von Platform as a Service

Neben der App-Entwicklung gibt es noch weitere Anwendungsbereiche, in denen PaaS häufig eingesetzt wird:

  • Beispielsweise, um neue Programmierschnittstellen (APIs) zu entwickeln oder zu erweitern.
  • Zudem lassen sich damit umfangreiche Daten analysieren, um so beispielsweise die Nachfrage nach bestimmten Produkten besser prognostizieren zu können.
  • Paas kann auch dem Zugang bzw. der Einrichtung einer Business-Process-Management-Plattform dienen, auf der Geschäftsregeln oder Service-Level-Agreements gespeichert sind.
  • Die Plattform lässt sich auch für die Verwaltung von kritischen Geschäftsdaten verwenden: Sie ermöglicht dann eine schnelle Übersicht über Daten, auch wenn diese redundant auf verschiedenen Systemen gespeichert sind.
  • Des Weiteren kann Platform as a Service als Kommunikations-Plattform fungieren, über die Sprach- oder Videoinhalte oder Messaging angeboten wird.
  • Als Database-PaaS wird der Service zudem für automatisierte Datenbanken eingesetzt.
  • Als zukünftiges Wachstumsgebiet gilt insbesondere das Internet of Things. Das spielt für Cloud-Services eine große Rolle, da PaaS-Umgebungen sich auch für die Entwicklung neuer Anwendungen eignen, die man für das Internet der Dinge nutzen kann.

Welche PaaS-Typen gibt es?

Angesichts des großen Angebots an Platform as a Service-Lösungen ist es kaum noch möglich, diese eindeutigen Kategorien zuzuordnen. Denn die einzelnen Modelle unterscheiden sich mitunter sehr stark und sind auf verschiedene Bedürfnisse zugeschnitten. Dennoch gibt es bestimmte Merkmale, anhand derer sich unterschiedliche Typen identifizieren lassen.

So unterscheidet man beispielsweise Application PaaS (aPaaS) und Integration and Governance PaaS (iPaaS). Erstgenanntes Modell beschreibt die Bereitstellung von Apps, die mit einem grafischen Interface zur Bedienung versehen sind. Das könnte beispielsweise ein Programm für die interne Nutzung im Unternehmen sein, das die Mitarbeiter über die Cloud aufrufen und nutzen können.

iPaaS zielt dagegen auf die Integration von Cloud Services ab, wobei die Plattform dafür sorgt, dass keine Middleware mehr benötigt wird, um Anwendungen bereitzustellen. Ein Beispiel dafür ist die von MuleSoft entwickelte Anypoint Platform.

Die reine Anwendungsbereitstellung ermöglicht wiederum weder die Entwicklung noch das Testen von Apps, sondern nur deren Betrieb.

Dazu kommen die offenen PaaS-Angebote. Damit sind Anwendungen wie Google App Engine gemeint, die das Arbeiten in einer Open-Source-Umgebung ermöglichen und bei denen die Programmiersprachen, Datenbanken, Server oder Betriebssysteme nicht vorgegeben sind.

Wie oben erwähnt, gibt es auch Plattformen, die zu Kommunikationszwecken eingesetzt werden. Diesen Typ bezeichnet man als Communications Platform as a Service (cPaaS).

Vor- und Nachteile von Platform as a Service

Die Verwendung von PaaS bietet Entwicklern zahlreiche Vorteile. Der größte ist der, dass die Entwicklung ohne eigene Anschaffung und Verwaltung von Infrastruktur wesentlich schneller und einfacher vonstattengeht. Produkte lassen sich so schneller auf den Markt bringen. Die Leistung ist zudem skalierbar, das heißt, wie bei anderen Cloud-Diensten können Sie die gebuchten Kapazitäten je nach Bedarf flexibel erweitern oder verringern. Zudem besteht die Möglichkeit, Kosten zu sparen, da für Sie keine Anschaffungskosten anfallen und Sie auch nicht selbst Wartungen und Aktualisierungen durchführen oder neue Software-Lizenzen erwerben müssen.

Dass sich der Anbieter um die Konfiguration der Infrastruktur kümmert, ist sowohl Vorteil als auch Nachteil von PaaS. Denn infolgedessen haben Sie keinen Einfluss auf die Infrastruktur und können Features nicht selbst implementieren. Außerdem sind nur jene Programmiersprachen und Tools nutzbar, die der Anbieter bereitgestellt hat.

Ein weiterer Faktor, der bei der Entscheidung für oder gegen Platform-as-a-Service berücksichtigt werden sollte, ist die Tatsache, dass Sie mit Ihrem Projekt mehr oder weniger stark an die gewählte Entwicklungsumgebung gebunden sind. Ein kleines Projekt lässt sich zwar migrieren, doch bei größeren Anwendungen lässt sich der Code bei einem Umzug zu einer anderen Plattform nicht immer vollständig übernehmen und muss unter Umständen zumindest teilweise neu geschrieben werden.

Besonders ärgerlich ist es zudem, wenn sich der gewählte Anbieter entscheidet, seinen Dienst einzustellen oder er insolvent geht. Um dieses Risiko zu minimieren, sollten Sie sich möglichst für einen etablierten Marktteilnehmer entscheiden, der sich schon auf dem Markt behauptet hat.