Die große News der Eröffnungs-Keynote auf der Professional Developer’s Conference 2008 war die Vorstellung der Services-Plattform Azure. Microsofts Software-Chefarchitekt Ray Ozzie widmete einen großen Teil seiner Keynote, warum, wie und wann es diese neue Plattform gibt. Azure ist eine Internet-Scale-out-Services-Plattform, die in Microsofts Rechenzentren gehostet werden soll. Sie besteht aus dem Betriebssystem – als Windows Azure bezeichnet – und einer Reihe von Entwickler-Tools, die einzeln oder in Kombination eingesetzt werden können.
Mit dem Betrieb hochverfügbarer Services hat Microsoft schon umfangreiche Erfahrung gesammelt – die Beispiele reichen von Windows Update, das den Anwendern aktualisierte Softwarekomponenten liefert, über Online-Office-Hilfe bis hin zu MSDN Hotmail und anderen. Diese Dienste sind in einer zunehmenden Zahl von Rechenzentren auf der ganzen Welt organisch gewachsen, um die riesige Anzahl der Anfragen zu bewältigen. Einzelne Abteilungen innerhalb von Microsoft verwalteten diese Services unabhängig.
Mit dem organischen Wachstum dieser Dienste machten die jeweils zuständigen Units ihre eigenen Erfahrungen – hinsichtlich Skalierbarkeit, Load-Balancing und Hochverfügbarkeit. Vor einigen Jahren zog Microsoft all diese weit verteilten Kenntnisse und Erfahrungen zusammen und überlegte, wie dieses Wissen von Unternehmenskunden und Entwicklern effektiv eingesetzt werden könnte – und bereitete damit einen einzigartigen Nährboden für das neue Cloud-Betriebssystem.
Impulse kamen auch von der Kundenseite: Unternehmen haben zunehmend mit steigenden Kosten zu kämpfen, um all ihre Prozesse in-house zu betreiben. Mehrere Datenzentren an verschiedenen Lokationen müssen dazu aufgebaut werden – Recovery, Failover und Load-Balancing erfordern sehr viel Spezialwissen und sind nur kostenaufwändig zu implementieren.
Die Anforderung, Schritt zu halten mit dem steigenden Tempo der zunehmend agilen Geschäftsprozesse, verstärkt den Druck auf IT-Abteilungen – daher werden heute viele Prozesse bereits ausgelagert. Dies trifft insbesondere zu auf kundenorientierte Infrastrukturen oder Unternehmen mit einer großen Partnerbasis oder Lieferkette. Für den Fall spezifischer Nachfragespitzen – wie etwa vor oder während der Urlaubszeit, bei großen Produktankündigungen oder auch Rückrufaktionen – muss die Infrastruktur für ein solches Szenario mit Höchstauslastung ausgelegt sein. Dies führt aber zu großen Investitionen in eine Menge Hardware, Netzwerkressourcen und Energieversorgung – Infrastruktur, die dann aber die meiste Zeit kaum ausgelastet ist.
Der Wunsch nach dem Outsourcen von Infrastruktur und dem Beziehen von Services aus der Cloud, die von externen Umgebungen gehostet wird, ist daher eine attraktiver Vorschlag, den Unternehmen wie Amazon, Google oder IBM aktiv ins Feld führen. Microsoft erscheint recht spät auf diesem Spielfeld und kommt – als Betriebssystemhersteller – auch aus einem anderen Winkel heraus.
Einige Teile der Azure Services Platform befinden sich noch in sehr frühem Stadium – Programmierschnittstellen (APIs) sind noch nicht vollständig entwickelt und werden sich noch verändern. Andere Komponenten – wie die SQL Server Data Services (SSDS) – sind schon weiter ausgereift. Durch diese Ankündigung auf der Professional Developer’s Conference lockt Microsoft nun aber mit der Bereitstellung einer vollständigen Plattform Entwickler an Bord.
Viele haben von Microsoft einen Schritt in Richtung Cloud Computing erwartet, und diese Ankündigung kommt nur eine Woche nachdem Amazon das Beta-Phasen-Etikett von seinem Angebot Elastic Compute Cloud (EC2) entfernt hat. Gleichzeitig hat Amazon die Verfügbarkeit von Windows und SQL-Server für EC2 vermeldet, und dass es nun SLAs (Service Level Agreements) anbietet. Ray Ozzie zog seinen Hut vor Amazon für diese Innovationen und zeigte Respekt für die von Amazon geleistete Basisarbeit, in der das Rahmenwerk sowie die Architektur- und Geschäftsmodelle definiert werden.
On-Premises oder in der Cloud
Microsoft hat vor kurzem damit begonnen, einige seiner weithin bekannten Lösungen in zwei Varianten anzubieten: Die traditionelle On-Premises-Variante, bei der ein Kunde die Infrastruktur kaufen und und selbst verwalten muss, und die Alternative aus der Cloud – bei der Services in einer Microsoft-Umgebung ablaufen und für den Anwender über das Internet zugänglich sind. Die zweite Option erhält oft die Bezeichnung Online und bietet Microsofts Software der Enterprise-Klasse auf Subskriptionsbasis, die von den Redmondern gehostet und von Partnern vertrieben wird.
Einige Services werden bereits sowohl über die On-Premises- als auch Cloud-Variante angeboten, beispielsweise Share Point, Dynamics Online, Office Live Meeting, Exchange und andere. Dieses Angebot wird dramatisch zunehmen. Microsoft betont, dass es – wie schon immer – auch weiterhin an das On-Premises-Angebot glaubt und es weiter anbieten sowie unterstützen will. Und dass die Cloud-Angebote ergänzend sein werden, um Kunden eine größere Auswahl zu bieten, ohne dabei irgendwelche Beschränkungen aufzuerlegen.
Der Ansatz der Azure Services Platform folgt einem altbekannten Muster: Als später Gast auf der Party muss Microsoft nun Entwickler dazu verleiten, die neue Plattform anzunehmen und die Killerapplikationen zu schaffen, die Azure zum Erfolg verhelfen sollen. Aufgrund der umfangreichen Entwicklergemeinschaft und der Vorteile, die Azure bringt, ist es aber nur ein Frage der Zeit, bis sich Anwendungen „in der Wolke“ bilden.
Die Frage heißt also nicht, ist Microsoft nun wirklich spät dran, sondern eher, macht das überhaupt etwas aus? Derzeit tummelt sich nämlich gerade einmal eine Handvoll etablierter Anbieter in diesem Segment, und kaum ein Unternehmen setzt schon Haus und Hof auf eine spezielle Cloud-Plattform. Schließlich hat Microsoft in seiner Geschichte schon oft das Ruder herumgerissen und konnte schnell aufholen, wenn es das wollte.
Azure wird nur in Microsoft-Rechnzentren laufen, es gibt keine Pläne, andere Hosting-Anbieter in das Serviceangebot einzubinden. Das bedeutet, dass es keinen Wettbewerb gibt, was die Frage aufwirft, ob sich Kunden derart binden wollen. Derzeit läuft auf Azure Dotnet-Code, Unterstützung für nativen Code soll bald hinzugefügt werden. Microsoft hebt hervor, dass Azure eine offene, standardbasierte und interoperable Umgebung bietet mit Support für verschiedenste Internetprotokolle inklusive HTTP, REST, SOAP und XML.
Tools und Sprachen von Drittanbietern wie etwa Ruby, PHP and Python sind willkommen, heißt es aus Redmond. Allerdings werden auf Microsofts Cloud-Services nur Windows-Azure-Applikationen laufen – und kein Code aus anderen Umgebungen wie Linux oder Java. Diese müssten bei anderen Providern gehostet werden, könnten jedoch Microsofts Services wie Dotnet Services, SQL Data Services und Live Services über die Cloud nutzen.
Im Vergleich zu anderen derzeitigen Cloud-Computing-Größen wie Amazon und Google sieht Microsofts Cloud-Umgebung eher wie ein Walled Garden – also eine geschützte Umgebung – aus. Ob sich dies als Nachteil für die Akzeptanz von Windows Azure erweist, bleibt abzuwarten. Auf der Professional Developers Conference hat Microsoft jedenfalls sein Azure und seinen Schwenk in Richtung Cloud leidenschaftlich propagiert. Einige Entwickler waren auf der Konferenz schon beeindruckt, andere wiederum sehr skeptisch.
Es bleibt abzuwarten, wie Microsofts Ansatz arbeiten wird, ob Marktbedingungen oder Policies dieses Cloud-Angebot offener und flexibler machen wird, etwa in dem es andere Anbieter erlaubt wird, Windows-Azure-Applikationen zu hosten – oder Kunden auch Nicht-Azure-Applikationen bei Microsoft hosten dürfen.