IBMs PaaS-Angebot Bluemix beruht auf der Infrastructure as a Service (IaaS), die die IBM-Tochtergesellschaft SoftLayer über weltweit verteilte Rechenzentren bereitstellt. SoftLayer unterstützt die quelloffene Technologie OpenStack, bietet aber auch andere IaaS-Möglichkeiten. Die Software-Grundlage für Bluemix bildet das Open-Source-Projekt Cloud Foundry, das auf den Virtualisierungsspezialisten VMware zurückgeht. Inzwischen ist diese Technologie in der Obhut einer Foundation, an der IBM mitarbeitet.
»Ganz oben steht für uns die Entwicklerproduktivität«, betont Uwe Fassnacht, Product Manager für Bluemix bei IBM. So muss sich der Entwickler nicht um virtuelle Maschinen oder Middleware kümmern, und von der zugrundeliegenden IaaS-Plattform und der Hardware wird er ebenfalls abgeschirmt. Der Programmierer kommt mit seinem Code, den er in Java, Ruby, PHP, Python oder einer anderen Sprache geschrieben hat, und bringt ihn auf Bluemix.
Jeder Entwickler habe seinen Lieblingssatz an Werkzeugen, weiß der Experte, und damit könne er weiterhin arbeiten. In der verbreiteten Eclipse-Umgebung zum Beispiel lässt sich erstellter Code zur Verwendung (Deployment) per Knopfdruck nach Bluemix transportieren. IBM selbst stellt für Bluemix eine ganze Reihe von Diensten in einem Katalog, der einem App Store ähnelt, zur Verfügung. »Bei PaaS bekommt der Entwickler nicht in erster Linie weitere Entwicklungswerkzeuge, sondern einen Satz von Services«, stellt Fassnacht klar. Diese Services wiederum kann er in die Applikationen einbinden, die er erstellt. Beispiele für solche Dienste sind Datenbanken, Benachrichtigungen, Analysen oder die Anbindung von Geräten. Er muss solche Basisdienste nicht mehr selbst programmieren und wird dadurch produktiver. Die Abrechnung erfolgt nach Verbrauch (pay as you go).
Die DevOps-Dienste fördern das Zusammenwirken von Entwicklung und Betrieb. Wenn ein IT-Spezialist für einen überschaubaren Service zuständig ist, kann er ihn sowohl entwickeln als auch dann in den Betrieb überführen. Statt, wie traditionell üblich, große Releases, die zu einem Stichtag alle paar Monate alle Programme in eine große Applikation aktualisiert integrieren, können solche Services jede Woche oder jeden Tag aktualisiert eingespielt werden. Bei Netflix zum Beispiel fließt jeden Tag mehrmals neuer Code in die Produktionsumgebung, wie Fassnacht weiß. »Der Entwickler muss verstehen, was hinterher mit seiner Applikation gemacht wird«, erläutert der Experte. Das betrifft etwa das Monitoring, die Überwachung im Betrieb.
Zur Integration bietet IBM im Rahmen des Bluemix-Katalogs ebenfalls einige Service an. Damit lassen sich Applikationen verknüpfen oder auch verschlüsselte und gesicherte Zugriffe auf Datenbanken im Rechenzentrum des Kunden realisieren. Als Protokoll zur Datenübertragung wird REST (Representational State Transfer) und als Format JSON (JavaScript Object Notation) für sogenannte Micro Services verwendet. Diese Technologien sind in der PaaS-Welt laut Fassnacht zu De-facto-Standards geworden. Docker Container können ebenfalls per Service aus dem Bluemix-Katalog genutzt werden. Die Idee eines Containers ist es, das Programm zusammen mit der Middleware und allem was es zum Ablaufen benötigt, zu bündeln und an eine Ablaufumgebung wie Bluemix zu geben – ohne den Verwaltungsaufwand, den eine virtuelle Maschine erfordert.