Entscheidet sich ein Unternehmen grundsätzlich für PaaS, muss es den passenden Provider finden. Weil Softwarehersteller und Cloud-Dienstleister unterschiedliche Zielgruppen ansprechen, gibt es große Unterschiede zwischen den Angeboten. So richten sich Amazon und Google bisher primär an kleine Entwicklungsteams. Microsoft, VMware und Salesforce konzentrieren sich auf mittelständische und größere Firmen. IBM wiederum möchte mit seiner Plattform fast ausschließlich große Geschäftskunden ansprechen.

AWS Elastic Beanstalk

Die Amazon Web Services (AWS) sind bereits seit 2006 mit Cloud-Angeboten auf dem Markt. Zum Portfolio gehören unter anderem virtuelle Rechner (Elastic Compute Cloud, EC2), Speicher (Simple Storage Service, S3) und Datenbank-Services (Relational Database Service, RDS). Im Januar 2011 kam Elastic Beanstalk hinzu. Der PaaS-Dienst richtet sich primär an Entwickler, die Applikationen programmieren und anbieten wollen.

Laut AWS überprüft Elastic Beanstalk automatisch Entwicklungsdetails wie Speichernutzung, Load Balancing, Skalierung und die Funktionsfähigkeit der Anwendung. Dabei verspricht der Anbieter die volle Kontrolle durch die Kunden, so dass diese im Bedarfsfall die darunterliegende Plattform sowie Ressourcen anpassen können. Für Java-Entwicklungen läuft auf dem virtuellen Rechner Linux mit einer OpenJDK-Java-Implementierung und Tomcat. Daneben unterstützt das Angebot Apache HTTP Server für PHP sowie Python und den Microsoft-Server IIS 7.5 für .NET.

Die Regulierung der Workloads übernimmt ein Load Balancer beziehungsweise der Amazon Auto Scaling Service. Bei hoher Auslastung werden automatisch weitere EC2-Rechner zugeschaltet. Die Last errechnet sich aus der Latenzzeit eines Request oder der CPU-Auslastung der einzelnen Server. Anwendungen können in verschiedenen Versionen auf dem Simple Storage Service (S3) abgelegt und wiederhergestellt werden. Die Verwaltung der Applikationen ist mit verschiedenen Werkzeugen möglich. AWS bietet eine Management-Konsole, Git Deployment und ein Kommandozeilen-Interface an, das sich von Linux-, Mac- und Windows-Rechnern aus steuern lässt. Zudem erhält der Kunde ein Toolkit für Visual Studio und Eclipse. Anpassungen durch den Kunden sind jederzeit möglich, so dass Entwickler etwa Einstellungen für die automatisch Skalierung vornehmen können.

Da Elastic Beanstalk für Einsteiger kostenlos ist, können Unternehmen das Angebot im Vorfeld testen. Wer die Plattform das erste Mal startet, kann eine Beispielanwendungen installieren. AWS stellt Neukunden ein Kontingent an Ressourcen für ein Jahr kostenfrei zur Verfügung. Entscheiden sie sich für die Plattform, fallen Kosten für verwendete Rechner und Speicherkapazität an. Die Daten werden im Relational Database Service (RDS) abgelegt. Zudem können Kunden die NoSQL-Datenbank Simple DB nutzen.

Ein Vorteil des AWS-Angebots ist, dass Unternehmen auch auf Dienste anderer Anbieter zugreifen können. Eine bewährte Cloud-Infrastruktur und zahlreiche Programmierumgebungen runden den Service ab. Allerdings befindet sich Elastic Beanstalk noch im Beta-Stadium. Die Skalierung der Kapazitäten ist nach Einschätzung von Gartner nicht endgültig ausgereift, da im Vergleich mit anderen Angeboten bei der Lastgrenze neue Rechner zugeschaltet werden. Hier muss AWS noch nachbessern.

AWS Elastic Beanstalk – Vor- und Nachteile

Vorteile:

  • Dienste anderer Anbieter möglich
  • bewährte Cloud-Infrastruktur
  • kostenloser Einstieg
  • Entwicklung in zahlreichen Programmierumgebungen

Nachteile:

  • Dienst ist noch im Betastadium
  • grobe Skalierung
  • Angebot für größere Geschäftskunden ist noch im Aufbau

Google App Engine

Der Suchmaschinenbetreiber hat seit 2008 Plattform-Services im Portfolio. Die Google App Engine (GAE) unterstützt Java-, Python- und Go-Programmiersprachen. Letztere wurde von Google-Mitarbeitern entwickelt und orientiert sich an der C-Sprache. Die Abrechnung der verwendeten Services hängt bei GAE etwa vom verwendeten Speicher und der CPU-Zeit ab. Wie bei Elastic Beanstalk bekommt der Nutzer einen kostenlosen Zugang. Google stellt Programmierern ein Kontingent zur Verfügung (6,5 CPU-Stunden pro Tag und zehn Anwendungen). Um keine Kostenexplosion zu verursachen, lässt sich ein Budget festlegen. Eine GAE for Business ist für Anwendungen innerhalb eines Unternehmens gedacht. Hier rechnet Google pro Anwendung und Nutzer ab.

Im Gegensatz zum Angebot von AWS bekommen die Kunden keinen Zugriff auf die Plattformeinstellungen. Da Google bei einer höheren Last nicht automatisch weitere Rechner zuschaltet, sondern die Ressourcen einer Maschine nutzt, können Anwendungen auf einem oder verschiedenen Servern laufen. Grundsätzlich bietet das Unternehmen nur eine beschränkte Programmierumgebung. Der Entwickler erhält keinen Zugriff auf das Dateisystem, und ein Request darf nicht länger als 30 Sekunden Bearbeitungszeit beanspruchen.

Einige Java-Umgebungen bleiben aufgrund massiver Einschränkungen außen vor oder lassen sich nur unter großem Aufwand betreiben. Für Java-Entwickler bietet Google ein Plugin für Eclipse an. Möchte man Applikationen auf dem eigenen Computer testen, kann sich der Programmierer ein Software Development Kit herunterladen. Das Tool integriert eine Kommandozeilen-Steuerung für lokale Veränderungen.

Die Daten werden entweder in einer NoSQL-, MySQL- oder der neuen relationalen Datenbank Google Cloud SQL abgelegt, die aber nur in der Business-Version verfügbar ist. An zusätzlichen Funktionen stehen für den Kunden In-Memory Cache, Instant Messaging, Bildverarbeitungs-Tools und der hauseigene E-Mail-Service bereit. Die Registrierung für GAE läuft über das Google-Konto, womit auch andere Google-Dienste abrufbar sind. Die konventionelle GAE eignet sich in erster Linie für kleine Entwicklungen. Da der Programmierer keinen Zugriff auf die Bedienung bekommt, ist das Feinjustieren von Server und Betriebssystem nicht möglich. Wer umfangreiche Java-Anwendungen erarbeiten möchte, könnte mit der App Engine von Google Probleme bekommen.

Google App Engine – Vor- und Nachteile

Vorteile:

  • freies CPU- und App-Kontingent
  • festes Budget
  • Entwicklung offline möglich
  • etablierter Anbieter

Nachteile:

  • kein Zugriff auf Plattformsystem
  • Einschränkungen bei Java-Programmierumgebung
  • Bearbeitungszeit der Request maximal 30 Sekunden

IBM SmartCloud Application Services

Im Oktober 2011 kündigte IBM an, sein SmartCloud-Portfolio zu erweitern. Speziell die SmartCloud Application Services (SCAS) standen im Fokus. Ursprünglich als Betaversion veröffentlicht, befinden sie sich nun in der Pilotphase. Die Lösung richtet sich nach Angaben von IBM in erster Linie an Unternehmen, die kritische Geschäftsanwendungen integrieren wollen. Das neue Angebot läuft auf der Infrastruktur Smart Cloud Enterprise 2.0.

Die Kernfunktionen von SCAS erstrecken sich auf fünf Bereiche. Der Application Lifecycle bietet Programmierern Zugriff auf teambasierte Entwicklungsumgebungen und Tools. IBM unterstützt ein Entwicklungsteam zum Beispiel bei der Planung und Umsetzung eines Projekts. Ein zweites Element ist Application Resources. Dabei teilen sich die beteiligten Entwickler über einen Shared Service einen Datenbank-Server auf Basis der DB2 Enterprise Server Edition. Unter Application Environments versteht der Anbieter den Einsatz vordefinierter Umgebungen sowie standardisierter Vorlagen. Hierzu gehört der sogenannte Workload Deployer v3.1, der die verschiedenen Versionen einer Anwendung speichert. Als Programmierplattform dient Java EE.

Ähnlich wie Microsoft stellt IBM mit Application Management eine Integrationsfunktion für Anwendungen von Drittanbietern (etwa SAP-Applikationen) bereit. Die Integration der eigenen Anwendungen in die IBM-Plattform erfolgt über die WebSphere Cast Iron Cloud Integration.

Insgesamt gelten die SmartCloud Application Services laut IDC als ausgereift. Ein Vorteil ist die Konzentration auf Geschäftsanwendungen und die gute Unterstützung für Java-basierte Programme. Das PaaS-Modell eignet sich weniger für kleine Entwicklungsteams. Minuspunkte muss Big Blue hinsichtlich Preis und Einstiegsoptionen hinnehmen. Beide Aspekte sind für den Betrachter schwer nachvollziehbar und machen eine Beratung nötig.

IBM SmartCloud Service – Vor- und Nachteile

Vorteile:

  • Unterstützung von Entwicklerteams
  • Programmierer können sich Datenbank-Server teilen
  • Enterprise-Anwendungen von Drittanbietern
  • Konzentration auf Business-Apps

Nachteile:

  • nicht für kleine Entwicklerteams
  • Preis- und Einstiegsoptionen undurchsichtig

Microsoft Windows Azure

Mit der Windows-Azure-Plattform (mittlerweile Microsoft Azure) bietet das Softwareunternehmen seit 2010 ein umfangreiches Paket an. Wie bei Amazon oder Google ist die Skalierung der Infrastruktur in Bezug auf CPU-Leistung und Speicher sehr variabel. Für die Infrastruktur (Betriebssystem, VM, Server, Storage und Netzwerk) ist Microsoft verantwortlich. Werden Entwicklungs-Tools benötigt, lassen sich diese nutzungsabhängig zuschalten. Windows Azure verwaltet automatisch die Ausführung der Anwendungen und passt nach Bedarf die Ressourcen an. Dabei basieren die Server auf der Virtualisierungsplattform Hyper-V mit .NET-Runtime.

Die Plattform setzt sich aus drei Bestandteilen zusammen: Windows Azure OS als Betriebssystem, der Datenbank SQL Azure und der AppFabric für Windows Server. Anwendungen lassen sich einerseits auf Basis von .NET und Visual Studio entwerfen. Andererseits können Entwickler Anwendungen in C++, Java, Node.js, PHP, Python und Ruby programmieren. Gebühren fallen je nach Rechenleistung, Speicherplatz und Datenvolumen an.

Über das Remote Desktop Protocol (RDP) kann auf den Desktop der virtuellen Maschine zugegriffen und eine Anpassung vorgenommen werden. Allerdings rät Microsoft vor einem tiefen Eingriff ab, da bei einem Re-Imaging alle Änderungen verloren gehen. Fehler erkennt das System über die Windows-Azure-Monitoring-Funktion.

Zahlreiche Tools unterstützen den Entwickler. So lassen sich mit Visual Studio Web-Anwendungen für Windows Azure anpassen. Daneben ist ein Software-Development-Kit verfügbar, das verschiedene Tools, Dokumentation und Beispielanwendungen bereitstellt. Neben der Entwicklung eigener Anwendungen bietet Microsoft die Möglichkeit, bereits vorhandene Programme zu nutzen. Über den Online-Marktplatz Microsoft Pinpoint werden hierfür Anwendungen sowie Dienstleistungen vermarktet.

Ein Vorteil der Lösung ist die Bandbreite an Services. Da Microsoft die Daten auf mehrere Serverinstanzen verteilt, sind Anwendungen hochverfügbar. Zudem sind Entwickler nicht an eine Programmierumgebung gebunden, sondern können sich die passende Sprache auswählen. Windows Azure unterstützt verschiedene Betriebssysteme, so dass Entwickler Anwendungen auch auf Mac- oder Linux-Systemen programmieren können. Mittlerweile bietet Microsoft eine 90-tägige Testversion an, die beispielsweise 750 Stunden einer Server-Instanz und 35 Gigabyte Speicher beinhaltet. Ein Nachteil von Windows Azure ist, dass die Konfiguration der Plattform im Fall einer neuen Bereitstellung gelöscht wird.

Microsoft Windows Azure – Vor- und Nachteile

Vorteile:

  • Anwendungen schnell am Markt
  • Tool-Sammlung hilft bei Entwicklung
  • keine Bindung an eine Programmiersprache
  • kompatibel mit verschiedenen Betriebssystemen

Nachteile:

  • individuelle Konfiguration wird bei Re-Imaging gelöscht
  • Preise richten sich nach Transaktionen

Force.com von Salesforce

Unter Force.com bietet Salesforce eine Plattform an, die vor allem als Basis für CRM-Anwendungen operiert. Seit 2007 wird sie auch als eigenständige Plattform für Unternehmen und Entwickler bereitgestellt, womit Salesforce einer der Pioniere von PaaS war. Um die Plattform zu nutzen, stellt das Unternehmen die Programmiersprache Apex zur Verfügung, die in Syntax und Semantik Java sowie C# nachempfunden ist. Über ein AppExchange Directory lassen sich alle Apex-Komponenten austauschen und installieren. Zudem können Entwickler über den Marktplatz von AppExchange ihre Programme anbieten.

Laut Salesforce ist die Konfiguration über ein externes Wartungs-Tool möglich. Für die Entwicklung einer GUI (Graphical User Interface) bietet das kalifornische Unternehmen VisualForce an. Das Toolkit für Google Data APIs dient als Schnittstelle zum Google Data Protocol, so dass Programmierer auf eine Bibliothek von Skripten und Applikations-Tools zugreifen können. Ein Plugin für Eclipse ermöglicht es, auch auf Basis von Java zu entwickeln. So entstandene Programme müssen aber in Apex übersetzt werden. Damit wird eine der größten Schwachstellen sichtbar. Im Gegensatz zu anderen Anbietern setzt Salesforce mit Force.com ausschließlich auf eine eigene Programmierumgebung, so dass Entwickler nur mit großem Aufwand migrieren können.

Um dieses Manko zu beheben, hat Salesforce vor zwei Jahren seine Strategie geändert und im Januar 2011 Heroku übernommen. Das Unternehmen stellt eine Plattform für die Entwicklung von sozialen und mobilen Cloud-Anwendungen bereit. Über diesen Umweg bietet Salesforce Entwickler nun die Programmierung auf Basis von Ruby, Node.js, Clojure, Java, Python und Scala an. Als Betriebssystem nutzt Heroku die Linux-Distributionen Debian sowie Ubuntu. Die Daten lassen sich beispielsweise in den Datenbanken MongoDB, Redis sowie PostgreSQL ablegen.

Neben der Erweiterung auf neue Plattformen hat Salesforce mit Database.com eine eigene Cloud-Datenbank im Portfolio. Über das Angebot lassen sich etwa Nutzer und Sicherheits-Features verwalten. Der Service wird wie die anderen Produkte nutzungsabhängig abgerechnet. Trotz des breiten Spektrums an Dienstleistungen bleibt unklar, wie sich das Geschäft des Cloud-Anbieters in den nächsten Jahren entwickeln wird. Für Nutzer ist bei der Programmierung auf Heroku nicht ersichtlich, dass es sich um ein Tochterunternehmen von Salesforce handelt. Die strategische Ausrichtung bleibt eher undurchsichtig.

Salesforce.com – Vor- und Nachteile

Vorteile:

  • Force.com am PaaS-Markt etabliert
  • Konfiguration mit Wartungs-Tool
  • Schnittstelle zu Google Data APIs
  • über Heroku auch verschiedene Programmierumgebungen

Nachteile:

  • strategische Ausrichtung undurchsichtig
  • Force.com setzt ausschließlich auf Apex
  • Entwickler können mit Force.com nur schwer migrieren

VMware Cloud Foundry

Mit Cloud Foundry haben die Kalifornier nun auch ein PaaS-Angebot im Portfolio. Cloud Foundry ist ein Open-Source-Produkt, das auf der Infrastruktur anderer Anbieter funktioniert. Mit dem Produkt möchte VMware einen „hohen Grad an Portabilität“ bieten: Entwickler können Anwendungen zwischen verschiedenen Umgebungen, der Infrastruktur von Cloud-Providern und der Unternehmens-IT migrieren. Die Micro Cloud Foundry stellt es Entwicklern frei, auf einem Laptop offline zu programmieren.

An Programmiersprachen unterstützt die Cloud Foundry Java, Ruby, .NET, Scala und JavaScript-Applikationen, die auf Node.js basieren. Die Daten werden in einer MySQL- oder etwa den NoSQL-Datenbanken MongoDB, Redis sowie vFabric Postgres abgelegt. Die Grundidee hinter dem PaaS-Angebot spiegelt sich auch auf Anwendungsebene wider. Die Applikationen sind nicht an einen virtuellen Server gebunden. Lädt man die Anwendung auf die Cloud Foundry, konfiguriert die Plattform die nötigen Ressourcen entsprechend.

Da VMware das Angebot als quelloffenes System zur Verfügung stellt, können die Anwendungen relativ einfach in verschiedenen Umgebungen integriert werden. Der jeweilige Datenbank-Server wird automatisch zugeordnet. Nachteil der Cloud Foundry ist, dass sich das Angebot aktuell noch in der Beta-Phase befindet und die Infrastruktur in den USA beheimatet ist.

Um tiefer in den Markt vorzudringen, haben EMC und dessen Tochter VMware im Februar 2012 ein Joint Venture mit IT-Dienstleister Atos unter dem Namen Canopy geschlossen. Neben einem gemeinsamen Enterprise Application Store und Beratungsleistungen rund um Cloud Computing soll Canopy eine sichere Java-Entwicklungsumgebung aus der Cloud anbieten, auf deren Basis Kunden Software designen, entwickeln und testen können sollen. Auf diese Weise sollen Enterprise-Kunden ihre Softwareentwicklung in die VMware-Cloud und in Atos-RZs verlagern.

VMware Cloud Foundry – Vor- und Nachteile

Vorteile:

  • Open-Source-Angebot
  • Offline-Programmierung möglich
  • Anwendungen nicht an einen virtuellen Server gebunden
  • Canopy-Kooperation hilft bei schnellerer Vermarktung

Nachteile:

  • Cloud-Infrastruktur in den USA
  • Angebot befindet sich in der Beta-Phase

Empolis, IPsoft und ServiceNow

Empolis hat sich in der Vergangenheit vor allem durch die Analyse strukturierter sowie unstrukturierter Massendaten (Big Data) und mit Suchdienstleistungen einen Namen gemacht. Mittlerweile bietet der Serviceanbieter auch die Entwicklung von Applikationen an, die auf Basis der eigenen Softwarelösungen Information Access System (IAS) sowie Content Lifecycle System (CLS) programmiert und etwa für die Informationsanalyse in Unternehmen verwendet werden können. Empolis übernimmt hierbei die Bereitstellung der Plattform und die Integration der Anwendung.

Die Firma aus Kaiserslautern sieht in dem Angebot eine Querschnitttechnologie für das Information Management seiner Kunden. Dabei können diese ihr CRM-System oder andere Drittsysteme mit dem PaaS-Angebot kombinieren, um die gesammelten Daten auszuwerten. Die Plattform baut auf einer Shared-Nothing-Architektur auf, so dass die Anwendungen auf verteilten Rechnern arbeiten. Die verwendete Infrastruktur der Plattform wird bei Empolis von einem externen deutschen Anbieter gehostet. Die Kosten für die Infrastruktur werden nutzungsabhängig abgerechnet.

Der Cloud-Dienstleister IPsoft bietet eine Reihe von Services an, die sich vom Infrastruktur-Management bis zur Anpassung der Architektur erstrecken. Das New Yorker Unternehmen sieht sich als Managed Services Provider und bewirbt vor allem seine Automatisierungsplattform. Für das Monitoring dieser Plattform hat IPsoft das Portal IPcenter v3 entwickelt, über das sich etwa Incidents oder Probleme bei den Anwendungen erkennen lassen.

Menschliche Eingriffe in das System sollen auf das Notwendigste reduziert werden, da das Monitoring-Tool alle ablaufenden Prozess überwacht, Fehler automatisch behebt und bekannte Vorfälle für spätere Eingriffe abspeichert. Nach Angaben des Anbieters wird damit eine Lösungsrate von rund 56 Prozent erreicht. Der Automatisierungsgrad liegt bei 80 Prozent. Die Dienstleistungen von IPsoft stehen als Managed Services oder als individuelle PaaS-Lösungen zur Verfügung. Dabei ist das Angebot etwa mit Windows-, Linux- oder AIX-Betriebssystemen kompatibel. Auf Ebene der Unternehmenssoftware lassen sich beispielsweise SAP oder eBiz integrieren. Zudem ist der Betrieb von E-Commerce-Anwendungen möglich.

Deutscher Markt im Visier

Der kalifornische Cloud-Dienstleister ServiceNow hat sich ursprünglich als Anbieter für SaaS-Lösungen einen Namen gemacht, ist mittlerweile aber auch im PaaS-Markt vertreten. Seit 2011 nimmt das Unternehmen verstärkt den deutschen Markt unter die Lupe. Nach Angaben von ServiceNow ist mit der Plattform beispielsweise die Integration externer Anwendungen oder das Entwickeln von Applikationen mit eigener GUI möglich.

Die Plattform eignet sich laut Anbieter für alle Firmengrößen und ist beliebig skalierbar. Als Programmierumgebung können Kunden etwa Java, SOAP oder Jelly nutzen. Der PaaS-Dienst ist vor allem für die Entwicklung mobiler Applikationen gedacht, lässt sich aber auch für spezielle Unternehmensanwendungen nutzen. Daneben bewirbt das Unternehmen seine Lösung im Bereich automatisierte Verwaltung von VMware-Servern. Für ServiceNow ist die Einführung von PaaS-Angeboten ein „logischer Schritt“, da der Markt für mobile Anwendungen wächst. Der Dienst soll daher in den nächsten Jahren ausgebaut werden.

Der Artikel wurde am 05. Oktober 2012 auf COMPUTERWOCHE.de publiziert.