Marktübersicht Platform-as-a-Service-Anbieter: Raketenpower aus der Cloud
PaaS ist zwar nicht so weit fortgeschritten wie IaaS (Infrastructure as a Service) oder SaaS (Software as a Service), hat aber das Potenzial, die Softwareentwicklung nachhaltig zu revolutionieren. Noch nie ist es nämlich so einfach – und günstig – gewesen, eine sichere, hochverfügbare und beliebig skalierbare Anwendungsplattform auf die Beine zu stellen, wie es heutzutage dank moderner PaaS-Lösungen der Fall ist.
Dabei geht es im Prinzip um die komplette Abstraktion der Infrastrukturschicht. Um Server- und Hardwarekonfigurationen sollen sich Anwendungsentwickler ebenso wenig kümmern wie um das Provisioning der benötigten Infrastruktur-Ressourcen, Server-Updates, Patches, Absicherungen oder Skalierung. Solche administrativen, häufig komplexen Aufgaben, die mit dem Betrieb und der Instandhaltung einer modernen Anwendungsplattform zusammenhängen, werden von den PaaS-Providern übernommen. Das ermöglicht es Softwareentwicklern, sich auf das zu konzentrieren, was sie am besten machen: Coden und Applikationen entwickeln. Anstatt auf das Setup von Datenbanken, Anwendungsservern und mehr können sie sich auf die Business-Logik ihrer Anwendungen, auf einzigartige Features und auf eine exzellente Benutzererfahrung fokussieren.
Nützliche API-Dienste, flexibles Pricing
Darüber hinaus warten PaaS-Lösungen mit speziellen Programmierdiensten auf, die die Arbeit von Entwickler-Teams in jeder Projektphase beschleunigen und vereinfachen können. Hierzu zählen zum Beispiel APIs (Application Programming Interfaces) für Standard-Funktionalitäten, die in jeder Business-Anwendung zu implementieren sind, etwa Benutzerauthentifizierung oder Session Management. Hinzu kommen unterschiedliche Werkzeuge aus Bereichen wie Analytics, Big Data, Mobile oder Social zur Vereinfachung komplexer Programmieraufgaben. Dadurch verhilft PaaS nicht nur den Entwicklern zu mehr Produktivität, sondern fördert auch die Innovation von Softwareanwendungen. Diese lassen sich in der Regel bequem auf einem Web-Dashboard verwalten, das heißt deployen, bereitstellen, analysieren und monitoren.
Neben solchen funktionalen Vorteilen bieten PaaS-Dienste auch Kostenvorteile. So ist die Abrechnung in den allermeisten Fällen nutzungsabhängig. Man zahlt also nur für die tatsächlich in Anspruch genommenen Leistungen (etwa CPU, Arbeitsspeicher, Netzwerk-Traffic oder Storage). Die meisten Anbieter stellen ihre Lösungen im Freemium-Modell zur Verfügung, der Einstieg ist kostenlos möglich. Erst, wenn die Software intensiver genutzt wird und mehr Serverkapazitäten benötigt werden, fallen Kosten an. Viele Provider ermöglichen zudem über Online-Preisrechner und andere Billing-Tools den ständigen Kostenüberblick.

Google App Engine
Der PaaS-Markt wird von IT-Riesen wie Google, Amazon, IBM und Microsoft dominiert. Google bietet zum Beispiel mit App Engine eine der beliebtesten PaaS-Lösungen, die aktuell verfügbar sind. Sie kam 2008 auf den Markt und hat sich seitdem in der Praxis erfolgreich bewährt. Mit ihr können Softwarehersteller ihre Web-Apps in derselben Serverinfrastruktur betreiben, die Google selbst für seine Online-Dienste verwendet. Hat man also nicht vor, mehr Traffic als Gmail oder Google Search bewältigen zu müssen, so braucht man sich um die Verfügbarkeit beziehungsweise Skalierbarkeit seiner Anwendung wohl keine Sorgen zu machen.
Herzstück der Lösung sind proprietäre SDKs (für Python, Java, PHP und Go verfügbar), die als Basis für die Entwicklung und das Deployment von App-Engine-Anwendungen dienen. Da man sich zunächst in diese SDKs einarbeiten muss, ist der Einstieg in diesem Fall nicht so leicht wie bei anderen Lösungen. Doch der Aufwand lohnt sich. App-Engine-Kunden erhalten nämlich eine ganze Reihe nützlicher Entwickler-Tools, die komplexe Programmieraufgaben vereinfachen. Hierzu zählen unter anderem anspruchsvolle Such-, Cache-, Logging- und Security-Dienste, die sich mit vergleichsweise wenig Aufwand in eigene Anwendungen integrieren lassen.
Amazon Elastic Beanstalk
Mit Elastic Beanstalk bietet Amazon seinen AWS-Kunden (Amazon Web Services) eine umfassende PaaS-Lösung, die auf Basis seiner Cloud-Dienste arbeitet – und das völlig kostenlos. Dabei können Anwender ihren Code einfach hochladen und das System übernimmt automatisch die Bereitstellung: Von der Kapazitätsbereitstellung, Lastverteilung und automatischen Skalierung bis zur Statusüberwachung der Anwendung. Ein entscheidender Unterschied zu App Engine besteht darin, dass der Anwender hier auf Wunsch die volle Kontrolle über die eingesetzte Serverinfrastruktur, sprich AWS-Ressourcen wie EC2 oder S3, behält. Das System skaliert Anwendungen automatisch auf der Grundlage des anwendungsspezifischen Bedarfs mit Hilfe einfach anzupassender „Auto-Scaling“-Einstellungen. So können Anwender die CPU-Auslastungsmetriken ihrer Server verwenden, um Auto-Scaling-Aktionen, etwa das Laden einer neuen Server-Instanz, auszulösen.
Microsoft Azure
Ein weiterer IT-Riese, der eine führende Rolle auf dem PaaS-Markt spielt, ist Microsoft. Mit Microsoft Azure steht Unternehmen eine umfangreiche Cloud-Plattform zur Verfügung, die neben den üblichen PaaS-Features auch IaaS-Services umfasst. Hinzu kommen eine Reihe professioneller Entwickler-Dienste, die bei der Implementierung von Standardfunktionen den Programmieraufwand erheblich reduzieren können. Hierzu zählen unter anderem Back-End-Services für mobile Apps, mit denen Entwickler Daten in der Cloud effizient ablegen, Benutzer authentifizieren und Push-Notifications implementieren können. Auch in Sachen Big Data und Multimedia wartet Azure mit mächtigen Online-Diensten auf.
Sämtliche Apps und eingesetzte Azure-Dienste werden zentral über ein Online-Portal erstellt, konfiguriert und verwaltet. Azure ist logischerweise für die Arbeit mit Microsofts eigenen Entwickler-Tools, allen voran .NET, Windows Server und Visual Studio, optimiert. Neben diesen proprietären Lösungen unterstützt Azure noch weitere Programmiersprachen wie PHP, Ruby, Python, Java und Node.js. Auch Linux-Server lassen sich problemlos einsetzen.
OpenShift Online
Auf dem PaaS-Markt sind auch einige Unternehmen aus der Open-Source-Szene erfolgreich vertreten. Hierzu zählt OpenShift, die Cloud-Anwendungsplattform von Red Hat. Eine OpenShift-Anwendung besteht aus dem eigentlichen Programmcode und einer Konfigurationskomponente, bei der die erforderlichen Technologien und Dienste spezifiziert werden.

Die Verwaltung der Apps erfolgt wie üblich zentral auf einem Online-Dashboard. Das Deployment lässt sich – ähnlich wie bei Windows Azure – auch mit Git erledigen. Red Hat will OpenShift als eine besonders flexible und anpassungsfähige Plattform positionieren. Ganz egal ob Java, Python, PHP, Ruby, Node.js oder Go: Entwickler können mit dem Software-Stack ihrer Wahl arbeiten. In der Datenbankschicht kommen bei OpenShift populäre Systeme wie MySQL, PostreSQL und MongoDB zum Einsatz.
Cloud Foundry: Quelloffenes PaaS
Bei der Cloud Foundry Foundation handelt es sich um ein Open-Source-Projekt, das von namhaften Softwarekonzernen wie EMC, HP, IBM, Intel, Pivotal, SAP und VMware unterstützt wird. Ziel der gemeinnützigen Organisation ist die Entwicklung einer quelloffenen Software zur Verwaltung von PaaS-Angeboten. Auf Basis dieser Software haben die beteiligten Unternehmen bereits eigene PaaS-Angebote kreiert.
So bietet beispielsweise IBM mit Bluemix eine anspruchsvolle PaaS-Lösung, die auf Cloud Foundry basiert und über 100 Dienste bereitstellt, um mobile Apps und Webanwendungen zu entwickeln. Sie wurde im Sommer 2014 lanciert und läuft auf IBMs Softlayer-Cloud-Infrastruktur. Die zahlreichen DevOps- und Analysewerkzeuge, die Bluemix in petto hat, werden durch Services von Drittanbietern ergänzt. Bemerkenswert dabei ist zum Beispiel Watson Analytics, ein mächtiger Big-Data-Dienst, mit dem sich intelligente Systeme realisieren lassen, die Daten kognitiv auswerten und für die Entscheidungsfindung aufbereiten.
Weitere PaaS-Lösungen, die auf Cloud Foundry basieren und in erster Linie Enterprise-Kunden adressieren, sind die HANA-Cloud-Platform von SAP, Pivotal Cloud Foundry und AppFog.

Heroku
Neben den Branchenriesen gibt es in diesem zukunftsträchtigen Cloud-Segment auch einige Startups, die um die Gunst der Entwickler kämpfen, so zum Beispiel der PaaS-Pionier Heroku. Die 2007 in San Francisco gestartete und drei Jahre später durch Salesforce übernommene Lösung hat sich in den letzten Jahren kontinuierlich weiterentwickelt. Inzwischen gehört sie mit acht Milliarden bearbeiteten Serveranfragen pro Tag zu den Top-Alternativen auf dem Markt. Sowohl große Konzerne wie Citrix als auch erfolgreiche Startups wie Product Hunt oder IFTTT setzen auf Heroku, um sich besser auf ihr Produkt konzentrieren zu können.
Das Deployment kann hier wahlweise auf der Konsole, mithilfe des populären Versionierungssystems Git (GitHub wird auch unterstützt) oder sogar via Dropbox erfolgen. Die Anwendungen laufen dann auf sogenannten „Dynos“. Das sind „smarte“ Container für verschiedene Betriebssysteme und Software-Stacks, die alle für den Betrieb der Anwendung benötigten Infrastruktur-Ressourcen spezifizieren und sich automatisch skalieren lassen. Ein entscheidender Vorteil von Heroku besteht darin, dass man keine speziellen APIs, SKDs (Software Development Kits) oder neue Tools erlernen muss, um das System zu nutzen. Entwickler können weiterhin mit ihren gewohnten Tools arbeiten. Heroku unterstützt so gut wie alle Programmiersprachen, die heutzutage in der Web-Entwicklung eingesetzt werden. In der Datenbankschicht wird allerdings nur das Datenbanksystem PostgreSQL nativ unterstützt. Anwender können aber weitere Datenbanksysteme wie MySQL, MongoDB oder Redis über (meist kostenpflichtige) Add-Ons verwenden.

Jelastic
Ein weiteres Startup aus dem Silicon Valley, das sich in der Branche einen Namen machen konnte, ist Jelastic aus Palo Alto. Die gleichnamige PaaS-Lösung ist sowohl für Private- als auch für Public-Clouds konzipiert. Sie bietet Unterstützung für die Programmiersprachen Java, PHP, Python, Node.js und Ruby. Anwender erhalten Zugang zu einem Online-Dashboard, auf dem sie Cloud-Umgebungen („Environments“ genannt) anlegen, konfigurieren und verwalten können.
Ein Environment umfasst die gesamte Serverinfrastruktur, auf der die eigenen Web-Anwendungen betrieben werden sollen. Die Konfiguration der Cloud-Umgebungen ist dank eines intuitiven Editors überraschend unkompliziert: Einfach die gewünschten Serverlösungen (Anwendungsserver, Datenbanksysteme, Cache-Dienste etc.) auswählen, die benötigten Kapazitäten spezifizieren und fertig – das System kümmert sich um sämtliche Systemeinstellungen in den ausgewählten Komponenten selbst. Sobald die gewünschte Serverumgebung mit dem gesamten Software-Stack konfiguriert wurde, kann man seine Apps mit nur einem Klick deployen. Weitere erfolgreiche PaaS-Startups sind CleverCloud aus Frankreich und Engine Yard aus San Francisco.
Fazit
Die aufgeführten PaaS-Lösungen sind leistungsstarke Anwendungsplattformen, die auf modernen Industriestandards basieren und ein einfaches Deployment, effizientes App-Management und -Monitoring, flexible und transparente Kosten sowie theoretisch unbegrenzte Skalierungsmöglichkeiten versprechen. Davon können sowohl Cloud-Softwareanbieter als auch Unternehmen profitieren, die eigene Business-Apps entwickeln wollen.
Da nicht alle Lösungen alle Programmiersprachen, Anwendungsserver oder Datenbanksysteme unterstützen, dient zunächst der vom Entwickler bevorzugte Software-Stack als entscheidendes Auswahlkriterium. Inwiefern ist man bereit, neue Tools und Frameworks zu erlernen, um in die PaaS-Welt einzusteigen? Diese Frage spielt bei der Produktauswahl auch eine wichtige Rolle. Denn einige Systeme wie etwa App Engine oder OpenShift erfordern eine vergleichsweise hohe Einarbeitungszeit, da man in diesen Fällen mit speziellen SDKs beziehungsweise Konfigurationskomponenten arbeiten muss. Andere Anbieter, etwa Amazon oder Jelastic, ermöglichen sogar ohne viel Aufwand die Migration von bestehenden Anwendungen in die PaaS-Cloud.