Von den etablierten IT-Größen hat zuerst Microsoft dem Trend zum Cloud Computing Rechnung getragen. »Azure gibt dem Entwickler viel Wahlfreiheit«, sagt Holger Sirtl, bei Microsoft Senior Technical Evangelist für Azure, über das Cloud-Angebot seines Unternehmens. Der Entwickler kann bereitstehende Services nutzen oder möglichst viel in eigener Regie erstellen und verwalten. Azure umfasst Dienste für virtuelle Maschinen im Sinn von Infrastructure as a Service (IaaS) sowie ergänzende Dienste im Sinn von Platform as a Service (PaaS). Der Entwickler kann seinen Code lokal mit den Werkzeugen seiner Wahl erstellen und in der Microsoft-Cloud ausführen. Neben generischen Entwicklungsdiensten gibt es spezielle Services, etwa zur Verarbeitung von Medien oder zur Datenanalyse, die Entwickler einbinden können. Sirtl teilt die PaaS-Dienste ein in erstens Compute Services, die virtuelle Maschinen betreffen, zweitens Cloud Services für vorgefertigte Funktionalität und drittens Hosting-Dienste, die Websites genannt werden.
»Cloud Services nehmen dem Entwickler administrative Arbeit ab«, erläutert Sirtl. Virtuelle Maschinen werden vordefiniert, Betriebssystem- und Sicherheits-Patches erfolgen automatisch. Zugleich steht damit eine Ausführungsumgebung zur Verfügung. Ergänzend kann der Entwickler weitere Dienste von Azure in seine Anwendung einbinden. Dazu gehören SQL- und NoSQL-Datenbanken, Hadoop für große Datenbestände, Dienste zur Auswertung von Datenströmen, zur Authentifizierung, für Integrationsaufgaben sowie für mobile Anwendungen und Geräte. Außer Datenbanken lassen sich alle Dienste über das Protokoll REST ansprechen. »REST ist der gemeinsame Nenner, auf den man sich verständigt hat«, erläutert Sirtl. Wenn eine Applikation eines großen Herstellers wie SAP oder Oracle angebunden werden muss, gibt es vorgefertigte Adapter aus Microsofts Integrationsprodukt Biztalk, die die Integration dann unter der allgemeinen REST-Haube detaillierter durchführen. Technologien des Ansatz der Service-oriented Architecture (SOA) finden laut Sirtl bei den Kunden ebenfalls noch Verwendung.
Christian Binder, ALM Architect bei Microsoft, stellt den Cross-Plattform-Gedanken heraus. So unterstützt Microsoft bei Azure nicht nur die hauseigenen Visual-Studio-Werkzeuge, sondern außerdem zum Beispiel die im Java-Umfeld weit verbreiteten Tools der Eclipse-Umgebung. Zur verteilten Versionskontrolle findet wie vielerorts das quelloffene System Git Verwendung. »Zugleich stellt Git einen einfachen Deployment-Mechanismus dar, mit dem Code auf Azure gebracht werden kann«, erläutert Binder. Von Microsofts Entwicklerpaket Visual Studio gibt es eine kostenlose Community Edition, mit der Code für die Cloud entwickelt werden kann. Außerdem gibt es den Dienst Visual Studio Online, der aus der On-Premise-Welt geläufige Werkzeuge für das Application Lifecycle Management (ALM) verfügbar macht und zum Beispiel Tests für erstellten Code unterstützt. Das quelloffene Betriebssystem Linux wird auf Azure ebenfalls angeboten. Per Monitoring wird der Betrieb der erstellten Applikationen überwacht und per Telemetrie das Nutzungsverhalten vermessen. Daraus lassen sich Schlüsse ziehen, wie die nächste Version der Software gebaut werden sollte. »Das ist unsere Sicht auf DevOps«, sagt Binder. »In der Cloud gibt es nicht mehr diese langen Versionszyklen, sondern es wird wöchentlich oder täglich neue Funktionalität zur Verfügung gestellt«, ergänzt der Experte.
Für Microsoft-Partner gibt es drei Azure-Zertifizierungen: für Architekten, Entwickler und Administratoren. Partner können die genutzten Azure-Ressourcen per Rechnung an den Endkunden weitergeben. Wenn der Partner selbst bezahlt, kann er entweder nach Aufwand abrechnen (pay as you go) oder im Rahmen der Partnerbetreuung andere Preismodelle wählen. Partner erstellen sowohl Individualsoftware für Kunden als auch Applikationen, die sie über den Azure Marketplace dann vielen Kunden verkaufen können. Neben Partnern entwickeln auch Endanwenderunternehmen, die eine hinreichende große IT-Abteilung haben, auf Azure.