Definition

Platform as a Service (PaaS)

PaaS (Platform as a Service) ist ein Cloud-Computing-Modell, bei dem ein Drittanbieter Hardware- und Software-Tools für Benutzer über das Internet bereitstellt. In der Regel kommen PaaS-Tools bei der Anwendungsentwicklung zum Einsatz. Ein PaaS-Anbieter hostet die Hard- und Software anstelle des Kunden auf seiner Infrastruktur. Dadurch befreit PaaS Entwickler von Aufgaben im Zusmmenhang mit der Installation von Hardware und Software, wenn sie neue Anwendungen entwickeln und testen wollen.

PaaS-Tools sollten im Idealfall einfach zu bedienen und bequem sein. Meistens werden die Plattformen gemäß der Ressourcenbelegung abgerechnet. In vielen Fällen erreichen Unternehmen durch den Einsatz von PaaS eine Senkung der Betriebskosten gegenüber dem Hosting On-Premises.

Wie PaaS funktioniert

Wie bereits erwähnt, ersetzt PaaS nicht die gesamte IT-Infrastruktur eines Unternehmens, sondern fungiert als Ergänzung für bestimmte Aufgaben. Es wird über die gehostete Infrastruktur eines Cloud-Service-Providers bereitgestellt. Benutzer greifen meist über einen Browser auf die Angebote zu. PaaS kann angebunden an Public, Private und Hybrid Clouds bereitgestellt werden, um Services wie Anwendungshosting und Java-Entwicklung zu liefern.

Weitere typische PaaS-Dienste sind:

  • Zusammenarbeit von Entwicklungsteams
  • Anwendungsdesign und -entwicklung
  • Testen und Bereitstellen von Anwendungen
  • Integration von Webdiensten
  • Informationssicherheit
  • Datenbankintegration

Neben den üblichen Pay-Per-Use-Modellen gibt es auch Bezahlmodelle, bei denen eine monatliche Pauschalgebühr für den Zugang zur Plattform und ihren Anwendungen anfällt.

Vor- und Nachteile von PaaS

Der Hauptvorteil von PaaS ist die Einfachheit und Bequemlichkeit für die Anwender. Der PaaS-Anbieter stellt einen Großteil der Infrastruktur und IT-Services zur Verfügung, auf die die Anwender von überall über ihren Webbrowser zugreifen können. Durch den geringeren Investitionsaufwand für Hardware und Software, entfallen außerdem hohe Anschaffungskosten.

Die Serviceverfügbarkeit oder Ausfallsicherheit kann bei PaaS jedoch zum Problem werden. Kommt es zu einem Serviceausfall oder einer anderen Störung der Infrastruktur, kann sich dies negativ auf die Kunden auswirken und zu kostspieligen Produktivitätsausfällen führen.

Eine weitere häufige Sorge ist Vendor Lock-in, da Anwender viele Dienste und Daten nicht ohne weiteres von einem PaaS-Produkt zu einem Konkurrenzprodukt migrieren können. Interessenten müssen bei der Auswahl eines PaaS-Anbieters die geschäftlichen Risiken von Serviceausfallzeiten und Vendor Lock-in abwägen.

Interne Änderungen an einem PaaS-Produkt sind ebenfalls ein potenzielles Problem. Wenn ein PaaS-Anbieter beispielsweise die Unterstützung einer bestimmten Programmiersprache einstellt oder sich für die Verwendung eines anderen Satzes von Entwickler-Tools entscheidet, kann das den Betrieb der Kunden beeinträchtigen. Anwender müssen also Ankündigungen und langfristige Pläne ihres Anbieters im Blick behalten und rechtzeitig reagieren.

Viele PaaS-Produkte sind auf die Softwareentwicklung ausgerichtet. Diese Plattformen bieten Rechen- und Speicherinfrastrukturen sowie Dienste zur Textbearbeitung, Versionsverwaltung, Kompilieren und zum Testen, die Entwicklern helfen, neue Software schnell und effizient zu erstellen. Ein PaaS-Produkt kann auch die Zusammenarbeit von Entwicklungsteams ermöglichen, unabhängig von ihrem physischen Standort.

PaaS-Architekturen halten ihre zugrundeliegende Infrastruktur vor Entwicklern und anderen Benutzern verborgen. Daher ähnelt das Modell dem Serverless Computing und Function-as-a-Service-Architekturen; das heißt, der Cloud-Service-Provider verwaltet und betreibt den Server und kontrolliert die Verteilung der Ressourcen.

Arten von PaaS

Für Entwickler stehen derzeit verschiedene Arten von PaaS zur Verfügung. Diese sind:

  • Public PaaS
  • Private PaaS
  • Hybride PaaS
  • Kommunikations-PaaS
  • Mobile PaaS
  • OpenPaaS

Public PaaS eignet sich am besten für den Einsatz in der Public Cloud. Ein Public PaaS ermöglicht es dem Anwender, die Softwarebereitstellung zu kontrollieren, während der Cloud-Anbieter die Bereitstellung aller anderen wichtigen IT-Komponenten verwaltet, die für das Hosting von Anwendungen erforderlich sind, darunter Betriebssysteme, Datenbanken, Server und Storage System Networks.

Public PaaS-Anbieter bieten Middleware an, mit der Entwickler Server und Datenbanken einrichten, konfigurieren und steuern können, ohne die Infrastruktur einrichten zu müssen. Infolgedessen laufen Public PaaS und Infrastructure as a Service (IaaS) zusammen, wobei PaaS auf der IaaS-Infrastruktur eines Anbieters betrieben wird, während die Public Cloud genutzt wird. Leider bedeutet dies, dass der Kunde an einem bestimmten Public-Cloud-Anbieter gebunden ist.

Einige kleine und mittlere Unternehmen (KMU) setzen Public PaaS ein, bei größeren Unternehmen wirkt die Herstellerbindung jedoch abschreckend. Das liegt vor allem an den zahlreichen Vorschriften und Compliance-Problemen, die auf die Entwicklung von Unternehmensanwendungen in der Public Cloud zutreffen.

Private PaaS zielt darauf ab, die Agilität von Public PaaS zu bieten und gleichzeitig die Sicherheit, die Compliance, die Vorteile und die potenziell niedrigeren Kosten des privaten Rechenzentrums zu erhalten. Ein Private PaaS wird in der Regel als Appliance oder Software innerhalb der Firewall des Anwenders bereitgestellt, die häufig im On-Premises-Rechenzentrum des Unternehmens gepflegt wird. Ein Private PaaS kann auf jeder Art von Infrastruktur entwickelt werden und innerhalb der spezifischen privaten Cloud des Unternehmens arbeiten.

Private PaaS ermöglicht es einer Organisation, Entwickler besser zu bedienen, die Nutzung interner Ressourcen zu verbessern und den kostspieligen Cloud Sprawl zu vermeiden, mit dem viele Unternehmen konfrontiert sind. Darüber hinaus können Entwickler mit Private PaaS die Anwendungen ihres Unternehmens bereitstellen und verwalten und gleichzeitig strenge Sicherheits- und Datenschutzanforderungen einhalten

Hybrid PaaS kombiniert Public PaaS und Private PaaS, um Unternehmen die Flexibilität der unbegrenzten Kapazität eines Public PaaS und die Kosteneffizienz einer eigenen Infrastruktur in Private PaaS zu bieten. Hybrid PaaS nutzt eine Hybrid Cloud.

Kommunikations-PaaS (CPaaS) ist eine Cloud-basierte Plattform, die es Entwicklern ermöglicht, Echtzeitkommunikation in ihre Apps einzubauen, ohne dass eine Backend-Infrastruktur und Schnittstellen erforderlich sind. Normalerweise findet die Echtzeitkommunikation in Apps statt, die speziell für diese Funktionen entwickelt wurden. Beispiele hierfür sind Skype, FaceTime, WhatsApp und das herkömmliche Telefon.

CPaaS bietet ein komplettes Entwicklungs-Framework für die Erstellung von Echtzeit-Kommunikationsfunktionen, ohne dass ein Entwickler ein eigenes Framework aufbauen muss, einschließlich standardbasierter Anwendungs-Programmierschnittstellen (API, Appliation Programming Interface), Software-Tools, vorgefertigter Apps und Beispielcode.

CPaaS-Anbieter helfen Anwendern auch während des gesamten Entwicklungsprozesses, indem sie Support und Produktdokumentation bereitstellen. Einige Anbieter bieten auch Software-Development-Kits (SDKs) sowie Bibliotheken an, die bei der Erstellung von Anwendungen auf verschiedenen Desktop- und Mobilplattformen helfen können. Entwicklungsteams, die sich für CPaaS entscheiden, können bei der Infrastruktur, den personellen Ressourcen und der Markteinführungszeit sparen.

Mobile PaaS (MPaaS) ist die Nutzung einer kostenpflichtigen integrierten Entwicklungsumgebung für die Konfiguration von mobilen Apps. Bei einem mPaaS sind keine Programmierkenntnisse erforderlich. MPaaS wird über einen Webbrowser bereitgestellt und unterstützt typischerweise Public Cloud, Private Cloud und On-Premises-Speicher. Der Service wird in der Regel geleast, wobei der Preis pro Monat variiert und sich nach der Anzahl der einbezogenen Geräte und der unterstützten Funktionen richtet.

MPaaS bietet in der Regel eine objektorientierte Drag-and-Drop-Oberfläche, mit der Benutzer die Entwicklung von HTML5- oder nativen Apps durch direkten Zugriff auf Funktionen wie GPS, Sensoren, Kameras und Mikrofon des Geräts vereinfachen können. Es unterstützt oft verschiedene mobile Betriebssysteme.

Unternehmen nutzen MPaaS oft für das Erstellen von Anwendungen, die sowohl intern als auch für Kunden genutzt werden sollen. Diese Implementierung kann eine BYOD-Umgebung (Bring Your Own Device) und Produktivitäts-Apps fördern, ohne dass mobile App-Entwickler oder zusätzlicher IT-Support erforderlich sind.

OpenPaaS ist eine kostenlose, quelloffene, geschäftsorientierte Plattform für die Zusammenarbeit, die auf allen Geräten läuft und nützliche Web-Apps, einschließlich Kalender-, Kontakt- und E-Mail-Anwendungen, bietet. OpenPaaS wurde entwickelt, um Benutzern die schnelle Bereitstellung neuer Anwendungen zu ermöglichen. Es hat das Ziel, eine PaaS-Technologie zu entwickeln, die auf Unternehmensanwendungen für die Zusammenarbeit ausgerichtet ist, insbesondere auf solche, die in Hybrid Clouds eingesetzt werden.

PaaS-Anwendungen

PaaS-Lösungen werden häufig bei der Entwicklung von mobilen Anwendungen eingesetzt. Viele Entwickler und Unternehmen nutzen PaaS jedoch auch, um plattformübergreifende Anwendungen zu erstellen, da es eine flexible und dynamische Lösung darstellt, mit der Entwickler Anwendungen erstellen können, die auf fast jedem Gerät laufen.

Außerdem eignet sich PaaS als DevOps-Tool. PaaS bietet Funktionen für das Application Lifecycle Management (ALM) sowie spezifische Funktionen, die zu den Produktentwicklungsmethodologien eines Unternehmens passen. Das Modell ermöglicht es DevOps-Teams auch, Cloud-basierte Continuous-Integration-Tools (kontinuierliche Integration, CI) einzusetzen, die Updates ohne Ausfallzeiten einspielen können. Darüber hinaus können Unternehmen, die dem Wasserfallmodell folgen, ein Update über dieselbe Konsole bereitstellen, die sie für das tägliche Management verwenden.

Mit PaaS lässt sich zudem die Markteinführungszeit einer Anwendung verkürzen, da Administrations- und Wartungsaufgaben automatisch ablaufen oder komplett entfallen. Darüber hinaus kann PaaS das Infrastrukturmanagement einfacher gestalten, indem es dazu beiträgt, den Aufwand für die Verwaltung einer skalierbaren Infrastruktur zu reduzieren. PaaS beseitigt die Komplexität des Load Balancing, der Skalierung und der Verteilung neuer abhängiger Dienste, da die Verantwortung dafür an den Anbieter ausgelagert wird.

Durch PaaS bekommen Entwickler Unterstützung dabei, neue Kanäle für technisches Wachstum einzuführen, wie zum Beispiel mit serverlosen Funktionen und Containern. Dies ist besonders für Branchen relevant, in denen der technologische Wandel ein langsamer Prozess ist, wie im Bankwesen und in der Fertigung. PaaS ermöglicht es diesen Organisationen, sich an die neuesten Angebote anzupassen, ohne ihre Geschäftsprozesse komplett zu verändern.

Unterschiede zwischen PaaS, IaaS und SaaS

PaaS ist eine der drei Hauptkategorien von Cloud-Computing-Diensten. Die anderen beiden sind Software as a Service (SaaS) und Infrastructure as a Service (IaaS).

  • Bei IaaS stellt ein Anbieter die grundlegende Rechen-, Speicher- und Netzwerkinfrastruktur zusammen mit dem Hypervisor – der Virtualisierungsschicht – bereit. Die Benutzer müssen dann virtuelle Maschinen (Virtual Machines, VMs) erstellen, Betriebssysteme installieren, Anwendungen und Daten unterstützen und sich um die gesamte Konfiguration und Verwaltung dieser Aufgaben kümmern.
  • Bei PaaS stellt ein Anbieter einen größeren Teil des Anwendungs-Stacks als bei IaaS-Lösungen bereit und fügt Betriebssysteme, Middleware (wie Datenbanken) und andere Runtimes in die Cloud-Umgebung ein.
  • Bei SaaS bietet ein Anbieter einen kompletten Anwendungs-Stack Benutzer melden sich einfach an und nutzen die Anwendung, die vollständig auf der Infrastruktur des Anbieters läuft. Typischerweise sind SaaS-Anwendungen vollständig über einen Browser zugänglich.
Abbildung 1: Die drei Servicemodelle IaaS, SaaS und PaaS im Vergleich

Was ist in einer Platform as a Service enthalten?

Die spezifischen PaaS-Funktionen können zwischen verschiedenen Anbietern und Produkten variieren, in der Regel gehören dazu aber Infrastruktur, Entwicklungstools, Middleware, Betriebssysteme und Datenbankmanagement-Tools.

  • Infrastruktur. PaaS enthält alles, was auch zu IaaS gehört. Das bedeutet, dass PaaS-Anbieter Server, Speicher, Rechenzentren und Netzwerkressourcen verwalten.
  • Tools für Anwendungsdesign, Tests und Entwicklung. PaaS stellt Kunden alles zur Verfügung, was sie zum Erstellen und Verwalten von Anwendungen benötigen. Auf diese Tools kann über das Internet mit einem Browser zugegriffen werden, unabhängig vom physischen Standort. Zu den spezifischen Softwareentwicklungs-Tools gehören häufig, aber nicht ausschließlich, ein Debugger, ein Quellcode-Editor und ein Compiler.
  • Middleware. PaaS umfasst in der Regel auch Middleware, also die Software, die die Lücke zwischen Betriebssystemen und Endbenutzeranwendungen schließt. Daher müssen PaaS-Abonnenten ihre internen Entwickler und Ressourcen nicht für das Erstellen von Middleware einsetzen.
  • Betriebssysteme. Der PaaS-Anbieter stellt Betriebssysteme zur Verfügung, auf denen die Anwendungen laufen und auf denen die Entwickler die Anwendungen aufbauen können.
  • Datenbanken. PaaS-Anbieter verwalten häufig Datenbanken und stellen ihren Kunden Tools dafür zur Verfügung.

Was ist iPaaS?

Obwohl PaaS und Integrationsplattform als Service (iPaaS) ein ähnliches Akronym nutzen, handelt es sich um verschiedene Technologien mit verschiedenen Einsatzzwecken.

IPaaS-Automatisierungstools verbinden Softwareanwendungen, die in unterschiedlichen Umgebungen eingesetzt werden, und helfen dabei, Daten und Anwendungen on-Premises mit denen in einer Cloud zu verbinden.

PaaS hingegen bietet eine Cloud-Infrastruktur sowie Tools zur Anwendungsentwicklung, die über das Internet bereitgestellt werden.

Diese Definition wurde zuletzt im Januar 2021 aktualisiert

Erfahren Sie mehr über Softwareentwicklung

ComputerWeekly.de
Close