Auf dem Cloud-Markt sind PaaS-Dienste zwar noch nicht so stark etabliert wie etwa SaaS- (Software as a Service) oder reine IaaS-Lösungen (Infrastruktur as a Service). Doch im PaaS-Markt ist Musik drin. Wie der Marktforschungsspezialist Gartner prognostiziert, sollen dieses Jahr die weltweiten PaaS-Erlöse bereits 1,5 Milliarden Dollar betragen, 2016 sollen es 2,9 Milliarden werden. Im Vergleich zum gesamten Cloud-Markt sprechen wir noch von einem kleinen Marktsegment. Doch gegenüber dem Jahr 2011, in dem die Erlöse auf rund 900 Millionen Dollar beziffert wurden, entspreche diese Entwicklung einem beachtlichen Wachstum von 167 beziehungsweise 322 Prozent.
PaaS hat das Potenzial, die Internet-Economy zu revolutionieren. Noch nie war es so einfach und günstig, eine sichere, hochverfügbare und beliebig skalierbare Web-Anwendungsplattform aufzubauen, wie es heutzutage der Fall ist. Dank moderner PaaS-Lösungen kann die Hardwareschicht theoretisch vollständig abstrahiert werden. Damit können sich Software-Entwickler besser auf die Bussingess-Logik ihrer Anwendungen konzentrieren, während die vielen administrativen und oft komplexen Aufgaben, die mit dem Betrieb einer professionellen Anwendungsplattform zusammenhängen, von den Anbietern abgenommen werden. Um Server-Updates, Patches oder Sicherungen müssen sich Kunden also keine Sorgen mehr machen. Zudem werden dabei spezielle Dienste und Programmierwerkzeuge zur Verfügung gestellt, die ein professionelles Deployment und zentrales Anwendungsmanagement erlauben.
Auf den folgenden Seiten werden einige der wichtigsten PaaS-Lösungen aufgeführt, die sich in der Praxis bereits erprobt haben und den Ton auf diesem zukunftsträchtigen Marktsegment angeben.
Google App Engine
Einer der populärsten PaaS-Dienste ist die "App Engine" von Google. Damit können Software-Entwickler ihre Web-Anwendungen in derselben Infrastruktur ausführen, die der Suchmaschinenriese selbst für seine Online-Services verwendet. Wenn man also nicht vorhat, mehr Traffic als Gmail oder Google Search zu bewältigen, muss man sich um Skalierbarkeit und Verfügbarkeit wohl keine Sorgen machen.
Unterstützte Technologien: App Engine richtet sich prinzipiell an Entwickler, die entweder mit Java oder Python arbeiten. Anfang Oktober hat Google aber eine PHP-Umgebung eingeführt. Diese ist allerdings erst als Beta-Preview verfügbar - für kritische Anwendungen deshalb noch nicht wirklich geeignet.
Hauptmerkmale: Herzstück der Lösung sind die SDKs (Software Development Kit), die für die genannten Programmiersprachen verfügbar sind und als Basis für die Entwicklung und das Deployment von App Engine-Anwendungen dienen. Darüber hinaus kann Googles PaaS-Angebot mit speziellen, leistungsstarken Web-Services punkten, die übliche Programmieraufgaben vereinfachen und beschleunigen können. Dazu zählen beispielsweise Bildbearbeitungsdienste, um Bilder effizient zuschneiden, drehen, spiegeln oder in der Größe verändern zu können. Ebenfalls nützlich ist der E-Mail-Dienst, auf dem Gmail basiert, um transaktionale System-Nachrichten versenden zu können.
Ein weiterer Vorteil: App Engine ist für Anfänger kostenlos. Alle Anwendungen können bis zu 500 Megabyte Speicherplatz einnehmen und so viel CPU und Bandbreite nutzen, dass eine effiziente Anwendung mit ungefähr fünf Millionen Seitenaufrufen pro Monat unterstützt werden kann, heißt es aus Mountain View.
Amazon Elastic Beanstalk
Eine weitere Alternative, um Web-Anwendungen auf einfache und kosteneffiziente Weise in die Cloud zu deployen, bietet der Cloud-Riese Amazon Web Services (AWS) mit "Elastic Beanstalk”. Der 2011 gestartete Service richtet sich an bestehende AWS-Kunden und ist kostenlos. Ein entscheidender Unterschied zu Googles Produkt besteht darin, dass der Anwender mit dieser Plattform weiterhin die volle Kontrolle über die darunter liegende Server-Infrastruktur behält. Wer sich also Flexibilität bei der Konfiguration und Verwaltung ihrer Server-Instanzen wünscht, ist bei Amazon besser bedient als bei Google, wo die Server-Schicht komplett abstrahiert wird.
Unterstützte Technologien: Gegenüber App Engine punktet Elastic Beanstalk auch mit einer größeren Vielfalt bei den unterstützten Programmiersprachen. Denn neben Java und Python können Amazon-Kunden auch .NET, PHP, Node.js und Ruby einsetzen.
Hauptmerkmale: Neben mehr Flexibilität in Sachen Server-Konfiguration und Anwendungstechnologien wartet Elastic Beanstalk mit verschiedenen kompatiblen Datenbanksystemen auf. So können Anwender selbst entscheiden, ob sie etwa MySQL, SimpleDB, oder einen Microsoft SQL Server einsetzten möchten. Da der PaaS-Markt gerade erst in den Kinderschuhen steckt, kann eine solche Flexibilität den Einstieg in die neue Welt des "Cloud Application Hosting” erheblich erleichtern. Zum einen ist es für Anwender einfacher, bestehende Systeme in eine PaaS-Cloud zu migrieren, wenn die eingesetzte Technik weiterhin verwendet werden kann. Zum anderen sind Entwickler nicht dazu gezwungen, neue Frameworks oder SDKs lernen zu müssen, um von dem PaaS-Angebot zu profitieren.
Windows Azure
Microsoft spielt eine immer wichtigere Rolle auf dem florierenden PaaS-Markt. Mit "Windows Azure” stellen die Redmonder eine umfangreiche Cloud-Plattform bereit, die eine Reihe interessanter PaaS- und IaaS-Dienste beinhaltet und in der Praxis bereits auf großes Interesse gestoßen ist. Sie zeichnet sich durch ein vielseitiges Angebot aus, das zusätzlich zu den Standard-Features spezielle Dienste und Programmierwerkzeuge im Bereich Big Data, Mobile und Multimedia bereitstellt.
Unterstützte Technologien: Azure ist - wie nicht anders zu erwarten - für die Arbeit mit .NET und Visual Studio optimiert. Doch neben Microsofts eigenen Entwicklungstechnologien können Anwender im Prinzip auch Software deployen, die auf den Programmiersprachen C++, PHP, Ruby, Python, Java oder Node.js basieren.
Hauptmerkmale: Ähnlich wie Google stellt der Softwarekonzern zahlreiche Tools zur Verfügung, die den Entwicklungsaufwand reduzieren können. Dazu zählen zum Beispiel spezielle Back-End-Dienste für mobile Apps, mit denen Entwickler Daten in der Cloud effizient ablegen, Benutzer authentifizieren und Push-Notifications versenden können. Dank der angebotenen, nativen SDKs für Windows Phone, Android, iOS und HTML5 können Azure-Kunden nicht nur Windows-Phone-Nutzer adressieren. Wer nicht an Smartphone-Apps, sondern an Big Data interessiert ist, der wird auch nicht enttäuscht werden. Bemerkenswert ist darüber hinaus die Tatsache, dass Microsoft die Azure-Infrastruktur auch als Appliance anbietet. Damit adressiert der Konzern jene Anwender, die von den Vorzügen der Plattform profitieren möchten, aber aus Sicherheits- und Datenschutzgründen ihre Geschäftsdaten und -Anwendungen lieber On-Premise in Eigenregie betreiben möchten.
Red Hat OpenShift
Neben den IT-Riesen Google, Amazon und Microsoft, die mit ihren proprietären Cloud-Lösungen sehr erfolgreich sind, sind auf dem PaaS-Markt auch viele Unternehmen aus der Open-Source-Szene vertreten. Dazu zählt unter anderen der renommierte Linux-Distributor Red Hat. Mit "OpenShift” bietet der Hersteller eine hybride Cloud-Anwendungsplattform, die sowohl öffentliche als auch private Cloud-Deployments unterstützt und auf quelloffener Software basiert. Der komplette Quellcode von "OpenShift Origin”, dem Herzstück der Plattform, ist auf Github für jeden Interessierten freizugänglich. Mit "OpenShift Enterprise” adressiert Red Hat Unternehmen, die die PaaS-Plattform im eigenen Rechenzentrum betreiben möchten.
Unterstützte Technologien: Red Hat will OpenShift als eine anpassungsfähige Plattform positionieren, die Entwicklern die Entscheidung über den einzusetzenden Software-Stack überlässt. Bei den Programmiersprachen werden Java, Python, PHP, Ruby, Node.js und sogar Perl unterstützt. In der Datenbankschicht können verschiedene Server wie MySQL, PostreSQL oder MongoDB zum Einsatz kommen. Auch bei der Auswahl der Runtime-Umgebungen sollten Anwender genügend Spielraum erhalten. So haben Java-Entwickler beispielsweise die Möglichkeit, zwischen JBoss- und Tomcat-Servern zu wählen.
Hauptmerkmale: OpenShift erlaubt es Entwickler also, weiterhin mit ihren gewohnten Frameworks, Programmiersprachen und Tools zu arbeiten, ohne Kompromisse machen zu müssen. Eine OpenShift-Anwendung besteht neben dem eigentlichen Programmcode zusätzlich aus einer Konfigurationskomponente, bei der die erforderlichen Technologien und Dienste definiert werden. Dies erfolgt über eine Online-Management-Konsole, wo die eigenen Applikationen zentral angelegt, konfiguriert und verwaltet werden können. Das Deployment in die OpenShift-Plattform erfolgt mit Hilfe des immer beliebteren Versionierungssystems Git - ein Ansatz, der von immer mehr Anbietern verfolgt wird.
Heroku
Eine weitere leistungsfähige Cloud-Anwendungsplattform ist "Heroku”. Das Start-Up aus San Francisco, das 2007 gegründet wurde und zu den PaaS-Pionieren zählt, wurde 2010 von Salesforce.com für rund 212 Millionen Dollar übernommen. Seitdem hat sich Heroku kontinuierlich weiterentwickelt und gehört mittlerweile zu den Top-Alternativen in diesem Marktsegment.
Unterstützte Technologien: Zunächst startete Heroku als Cloud-Plattform für Ruby-Anwendungen. Seit der Übername durch den SaaS-Spezialisten wurden immer mehr neue Programmiersprachen und Datenbanksysteme hinzugefügt. Heute adressiert Heroku Softwarehersteller, die mit den beliebten Sprachen Java und Python - diese fehlen bei so gut wie keinem PaaS-Produkt - oder mit den moderneren Sprachen Node.js, Clojure oder Scala arbeiten.
Hauptmerkmale: Ähnlich wie Amazons Elastic Beanstalk präsentiert sich Heroku als flexible Plattform, mit der jeder sofort loslegen kann, ohne neue APIs, SDKs oder Frameworks zunächst lernen oder Kompromisse bei der Technikauswahl machen zu müssen. Das Deployment von Anwendungen in Heroku erfolgt - wie bei OpenShift - mithilfe von Git. Interessant ist bei diesem Dienst zudem die Integration zahlreicher Cloud-Tools - etwa der Performance-Analytics-Dienst New Relic -, die für mehr Produktivität bei der Verwaltung der Anwendungsinfrastruktur sorgen.
Überzeugen kann Heroku auch in Sachen Usability und Interface-Design. So wartet die Software mit einer modernen und optisch ansprechenden Benutzerschnittstelle auf, die den Vergleich mit jeder Consumer-Anwendung standhalten kann. Auch bei der Nutzung des Online-Dashboards merkt man, dass die Macher viel Wert auf eine möglichst intuitive Benutzererfahrung gelegt haben.
Jelastic
"Jelastic” ist eine professionelle Cloud-Hosting-Plattform, die aus Kalifornien stammt und eine einfache Installation, Deployment, Skalierung und Management von Java- und PHP-Anwendungen verspricht. Durch die Fokussierung auf zwei Web-Sprachen ist der Anbieter in der Lage, die Anforderungen und Bedürfnisse der Entwickler, die mit diesen weitverbreiteten Web-Sprachen (Java vor allem im Enterprise-Bereich und PHP im Consumer-Web) arbeiten, besser adressieren zu können.
Unterstützte Technologien: Mit Jelastic können Java-Anwendungen Industriestandards wie Tomcat, Glassfish, Jetty, MySQL, MariaDB, PostgreSQL, MongoDB und CouchDB nutzen. Bei PHP unterstützt das System die HTTP-Server Apache und Nginx sowie die meisten populären PHP-Erweiterungen und -Module, so der Hersteller.
Hauptmerkmale: Eine Besonderheit von Jelastic besteht darin, dass es eine Brücke zwischen Hosting-Providern und Anwendungsentwicklern schlägt. Der Kunde kann aus einer Reihe internationaler Cloud-Provider selber auswählen, wo er seine Web-Anwendung hosten möchte. In Deutschland ist zum Beispiel Host Europe einer der Service-Provider, der als Jelastic-Partner auftritt. Die Plattform übernimmt die Verwaltung der ausgewählten Infrastruktur und weist zum Beispiel den Anwendungen automatisch die benötigten Hardware-Ressourcen zu. Ferner können diese mit geringem Konfigurationsaufwand auf verschiedenen Servern verteilt werden, um eine optimale Leistung und Erreichbarkeit sicherzustellen.
Fazit
Alle aufgeführten PaaS-Player bieten leistungsstarke Plattformen und versprechen ein einfaches Cloud-Deployment, professionelles Management und Monitoring, flexible und transparente Kosten, sowie theoretisch unbegrenzte Skalierungsmöglichkeiten. Beim näheren Hinschauen merkt man, dass es zwischen den einzelnen Alternativen entscheidende Unterschiede gibt. Zunächst sollten Entwickler ihre eigenen Anforderungen in Bezug auf Programmiersprachen, Server- und Datenbank-Technologien klar definieren und bei den verschiedenen Anbietern genau überprüfen, ob und inwiefern diese unterstützt werden. Vor allem Java-Profis haben hier die Qual der Wahl, da die allermeisten Dienste diese Programmiersprache in den Fokus stellen.
Inwiefern ist man bereit, neue Werkzeuge und Frameworks zu erlernen, bevor man von der PaaS-Lösung profitieren kann? Das ist eine nicht triviale Frage, die bei der Entscheidung nach der richtigen Lösung eine zentrale Rolle spielt. App Engine erfordert beispielsweise eine vergleichsweise hohe Einarbeitungszeit, da man mit speziellen SDKs arbeiten muss. So verlockend Googles teils kostenloses Angebot auch ist, müssen Anwender hier Restriktionen mit in Kauf nehmen. App Engine-Anwendungen später in eine andere Plattform zu migrieren, dürfte mit erheblichem Aufwand verbunden sein. Das Gleiche gilt für Windows Azure. Bei Amazons Elastic Beanstalk, OpenShift oder Heroku gibt es hingegen mehr Freiheit und Flexibilität. Dafür muss man hier zum Teil auf die leistungsstarken Entwickler-Dienste, die Google und Microsoft anbieten, verzichten. Welche Lösung die richtige ist, hängt also von vielen einzelnen Faktoren ab, die jeder Anwender für sich analysieren und bewerten sollte. Das PaaS-Angebot wird jedenfalls immer breiter und vielseitiger. (sh)