Bei
Microsoft wartete man bisher vergeblich auf den grossen Durchbruch von Windows Azure. Obwohl die bisherige Ausrichtung auf das Plattform-as-a-Service-Modell (PaaS) hochskalierbare und verwaltungsarme Anwendungen verspricht, stiess das Cloud-Angebot aus Redmond bei der potentiellen Kundschaft auf wenig Begeisterung. Der Grund: Die Kunden wurden vom Umstand, dass die Applikationen speziell für die Cloud umgeschrieben werden mussten und dem damit verbundenen Lock-in-Effekt abgeschreckt.
Ein Grossteil der Cloud-Anwendungen wird heute in Amazons Datenzentren betrieben. Der Online-Buchhändler setzt bei seiner EC2-Cloud auf das Infrastructure-as-a-Service-Modell (IaaS), bei dem sich bestehende Anwendungen auf Basis von virtualisierten Servern ohne grossen Anpassungsaufwand in die Cloud verschieben lassen. Amazons Erfolg hat Microsoft nun zum Umdenken bewogen: Mit dem Spring-Release von Azure werden neben dem bisherigen PaaS-Modell zwei neue Betriebsmodi (Execution Models) eingeführt, welche die bisherigen Einschränkungen eliminieren sollen: Mit den Virtual Machines (VMs) bringt Microsoft nun ebenfalls ein echtes IaaS-Angebot, mit dem sich Windows und Linux VMs in der Cloud ausführen lassen. Und mit den Azure Web Sites lassen sich klassische 2-Tier-Websites mit minimalem Aufwand in die Microsoft-Cloud verschieben. Alle drei Modelle lassen sich individuell nutzen, können aber je nach Anwendungszweck auch miteinander kombiniert werden.
HTML-basiertes Management-Portal
Komplett überarbeitet wurde das Management-Portal von Azure, das nun im ansprechenden Windows-8-Look daherkommt. Statt Silverlight setzt
Microsoft jetzt auf pures HTML, womit sich Azure nun von allen möglichen Plattformen und Browsern (etwa von einem iPad oder Windows-8-Tablet) verwalten lässt. Das Portal liefert einen umfassenden Überblick über alle eingerichteten Dienste und bietet schnellen Zugang zu den wichtigsten Verwaltungsfunktionen. Neue Services lassen sich mit wenigen Mausklicks mit Hilfe von einfachen Dialogen aufsetzen. Für jeden Dienst lassen sich zudem über eine Monitoring-Seite Werte wie CPU-Auslastung, Disk-I/O oder Netzwerkdurchsatz in Form einer historischen Liniengrafik abrufen.
Microsoft hat das Management-Portal mit einer Rest-API offen gestaltet. Damit lassen sich Verwaltungsfunktionen auch aus eigenen Anwendungen ansteuern. Dementsprechend stellen die Redmonder denn auch Kommandozeilenwerkzeuge bereit, die über das Rest-API mit Windows Azure interagieren. So lassen sich viele Managementaufgaben auch via Powershell (Windows) oder Bash (Mac und Linux) direkt ab Konsole durchführen oder per Scripts automatisieren.
IaaS: Azure Virtual Machines
Wie die Bezeichnung des Dienstes bereits erahnen lässt, ermöglichen die Azure Virtual Machines den Betrieb von persistenten virtuellen Maschinen in der Azure-Cloud.
Microsoft bietet eine Reihe von vorbereiteten Images an, die für das Aufsetzen von neuen Virtual Machines herangezogen werden können. Derzeit stehen Windows Server 2008 R2, Windows Server 2012 und Windows Server 2008 R2 mit vorinstalliertem SQL Server 2012 sowie eine Reihe von Linux-Server-Distributionen (Ubuntu, Suse und CentOS) in Form dieser Image-Vorlagen bereit. Microsoft hat schon jetzt angekündigt, das Angebot an Images im Laufe der Zeit weiter auszubauen.
Nur wenige Mausklicks genügen, um das Ausrollen einer Virtual Machine auszulösen. Diese steht dann im Normalfall nach etwa zehn Minuten zur Nutzung bereit. Praktisch: Microsoft nutzt für Azure dasselbe Virtual-Harddisk-Format (VHD) wie für die hauseigene Virtualisierungsplattform Hyper-V. So kann man Virtual Machines zwischen dem lokalen Data Center und der Cloud austauschen. Ein weiteres Plus: Eigene VMs können «eingefroren» und als Images zur späteren Wiederverwendung abgelegt werden.
Virtual Machines stehen derzeit in fünf unterschiedlichen Ausführungen von Extra Small (Shared Core, 768 MB RAM) über Medium (2 Cores, 3,5 GB RAM) bis hin zu Extra Large (8 Cores, 14 GB RAM) zur Auswahl. Ausserdem können jeder VM neben der virtuellen Disk für das Betriebssystem zusätzliche Daten-Disks (Extra Small: 1 Disk, Medium bis zu 4 Disks, Extra Large bis zu 16 Disks) mit bis zu je einem Terabyte Kapazität angedockt werden. Sämtliche Disks werden in dreifacher Ausführung im Azure-Storage-Service gespeichert. Für mehr Datensicherheit kann man seine Disks auf Wunsch in eine zweites Azure-Data Center replizieren lassen (Geo-Replication).
Der grosse Vorteil des Azure-Virtual-Machine-Angebots sind dessen flexible Einsatzmöglichkeiten. Neben dem Betrieb von praktisch allen denkbaren Server-Anwendungen (SQL Server, Sharepoint, LOB-Applikationen, Legacy-Anwendungen etc.) können ganze Farmen in die Cloud verlagert werden. Ausserdem sind auch Hybrid-Lösungen möglich, bei denen nur einige Server vom eigenen Datencenter in die Cloud verschoben und über die neuen Virtual-Networking-Funktionen (dazu später mehr) untereinander vernetzt werden. Die hohe Flexibilität des IaaS-Angebots hat aber auch seinen Preis: Im Gegensatz zum PaaS-Dienst muss man sich weiterhin selber um die Administration der Server kümmern.
Azure Web Sites: Skalierbares Web
Azure Web Sites stellen eine verwaltete Umgebung für den Betrieb von Web-Anwendungen auf Basis der Internet Information Services (IIS) zur Verfügung. Neben statischem HTML werden die Server-seitigen Script-Sprachen ASP.Net, Classic ASP, PHP und Node.js unterstützt. Als Datenbank-Back-End können SQL Server oder MySQL (bereitgestellt vom Microsoft-Partner Clear-DB) zum Einsatz kommen. Im Gegensatz zum bisherigen Azure-PaaS-Angebot bieten die Azure Web Sites den grossen Vorteil, dass sich bereits bestehende Web-Anwendungen mit geringem Aufwand in die Microsoft-Cloud migrieren lassen.
Dank der Unterstützung von MySQL lassen sich auch beliebte PHP-Lösungen wie beispielsweise Wordpress unkompliziert in der Azure-Cloud betreiben.
Microsoft bietet über eine Gallery (ähnlich dem Web Plattform Installer) sogar Vorlagen, über die sich eine Reihe gängiger Web-Frameworks auf Knopfdruck einrichten lassen. Neben Wordpress stehen in der Gallerie momentan Vorlagen für Drupal, Joomla, Dotnetnuke Umbraco CMS und andere mehr zur Verfügung. Für das Deployment wird neben FTP auch das komfortable Web-Deploy-Protokoll unterstützt, das im Zusammenhang mit Visual Studio und Webmatrix 2 eingesetzt werden kann. Ausserdem kann Code automatisiert aus einem TFS- (Team Foundation Server) oder GIT-Respository ausgeliefert werden.
Azure Web Sites bieten die zwei Betriebsmodi Shared und Reserved. Während man sich im Shared-Mode die Ressourcen eines Servers (Virtual Machine) mit anderen teilt, erhält man im Reserved Mode eine eigene Virtual Machine zugewiesen und kommt damit in den Genuss einer isolierten Umgebung mit der vollen Performance des Servers. Beide Modi lassen nahtlose Skalierung zu. Im Shared-Mode können der Website weitere Instanzen (Prozesse) zugewiesen werden. Viel mehr Flexibilität hat man im Reserved Mode: Dort können einer Site bis zu drei Server-VMs, weitere Prozessorkerne und bis zu 7 GB RAM zugewiesen werden.
Bis zu 10 Websites können im Shared-Mode kostenlos genutzt werden. Der Haken dabei: Nur Websites, welche im kostenpflichtigen Reserved Mode betrieben werden, lassen sich mit einer eigenen Domain belegen. Damit wird das auf den ersten Blick grosszügige Shared-Angebot für den produktiven Site-Betrieb uninteressant. Bleibt zu hoffen, dass Microsoft sich dies noch anders überlegt und Custom Domains auch im Shared Mode möglich macht. Ein weiterer Wermutstropfen: Die Kapazität der MySQL-Datenbank beschränkt sich auf 20 MB. Wer mehr DB-Speicher will, muss diese für teures Geld (10 Dollar bis 1 GB; 50 Dollar bis 5 GB im Monat) dazu kaufen.
PaaS: Azure Cloud Services
Neben den beiden neuen Betriebsmodi wird auch das traditionelle PaaS-Modell in Windows Azure unter der neuen Bezeichnung Cloud Services weiterhin enthalten sein. Wie bisher werden im Rahmen des PaaS-Modells drei verschiedene Virtual-Machine-Rollen (Web, Worker und VM) zur Ausführung von eigenem Code zur Verfügung gestellt. Im Gegensatz zu den oben beschriebenen IaaS-VMs werden diese nicht persistiert, sind dafür aber für hochskalierbare Anwendungsarchitekturen geeignet.
Neben den VM-Rollen wird im Rahmen der Cloud Services mit zahlreichen Zusatzdiensten eine Art Baukastensystem für die Cloud geboten. Dazu gehören etwa Services für Storage, Networking, Datenbanken, Caching, Kommunikation oder Identity, mit denen die eigenen Cloud-Anwendungen ergänzt werden können. Zum Teil lassen sich die Dienste der Cloud Services auch aus den Azure Virtual Machines oder Web Sites nutzen.
Neu zu den Cloud Services hinzugekommen ist der Virtual Network Service. Mit diesem lassen sich nun ganze Netzwerksegmente mit der Azure-Cloud verbinden. Dabei erhält man auch auf Cloud-Seite die volle Kontrolle über IP-Adressen, Routing-Tabellen und Security Policies. Der Dienst unterstützt die gängigsten VPN-Endgeräte, womit sich über sichere Verbindungen sogenannte Hybrid-Cloud-Lösungen realisieren lassen.
Das verteilte Caching-System wurde um Support für das geläufige Memcached-Protokoll erweitert. Ausserdem kann der Cache-Dienst jetzt in einer oder mehreren VM-Rollen (Web- oder Worker-Roles) betrieben werden. Neu hinzugekommen sind die Windows Azure Media Services, welche auf die Transkodierung und Auslieferung von Medieninhalten spezialisiert sind.
Ebenfalls neu ist der Identity Service Windows Azure Active Directory (WAAD), mit dem Cloud-Anwendungen um Single-Sign-On erweitert werden können. Wie andere Directory Services auch erlaubt WAAD das Speichern von Benutzerdaten zu Authentifikationszwecken. WAAD nutzt allerdings ein anderes Datenformat als die Active Directory Services des Windows Server. Immerhin lassen sich die beiden Dienste miteinander synchronisieren. Wer sein firmeninternes Active Directory in die Cloud auslagern will, ist bei WAADs aber an der falschen Adresse, da es auf die Ergänzung von Cloud-Apps um Identity-Dienste zugeschnitten ist. Vielmehr lässt sich dies über die Azure Virtual Machines realisieren.
Bei den Datenbank-Diensten gibt es neben dem bereits erwähnten Support für MySQL neu die SQL Reporting Services, ein Subset der Reporting Services des SQL Server. Damit lassen sich Cloud-Anwendungen um ein Berichtssystem ergänzen.
Sämtliche Azure Services lassen sich über einfach gehaltene Dialoge erstellen. (Quelle: SITM)
Nutzungsbasierte Kosten
Microsoft verwendet für alle Dienste von Windows Azure ein nutzungsbasiertes Kostenmodell. Je nach Dienst werden für Bandbreite, Transaktionen, Storage oder Nutzungszeit bestimmte Gebühren fällig. Das Prognostizieren der Kosten kann daher je nach Komplexität der Anwendung recht knifflig sein. Immerhin liefert Azure einen übersichtlichen Online-Rechner, mit dessen Hilfe man verschiedene Modelle durchkalkulieren kann (www.windowsazure.com/en-us/pricing/calculator/).
Für alle Azure-Dienste garantiert
Microsoft im Rahmen seines Service Level Agreements (SLA) eine Verfügbarkeit von 99,95 Prozent (entspricht maximal 4,38 Stunden Downtime pro Jahr). Teilweise können Dienste zu sogenannten Availability Groups zusammengefasst werden, womit sich die Uptime auf 99,99 Prozent (53 Minuten Downtime pro Jahr) erhöhen lässt.
Fasst alle neuen Services des Spring Release befinden sich derzeit (Stand: Ende August 2012) im Preview-Betrieb, können aber zu einem reduzierten Tarif bereits auch produktiv genutzt werden.
Fazit
Die neueste Fassung von Windows Azure besticht durch seine enorme Flexibilität. Von einer relativ einfachen 2-Tier-Website (Azure Web Sites) über den Betrieb von Server-Infrastrukturen und -Anwendungen (Azure VMs) bis hin zu hochskalierbaren Multi-Tier-Applikationen (Cloud Services) lässt Azure kaum mehr ein Einsatzszenario offen. Bemerkenswert ist auch die breite Plattformunterstützung, die neben den Microsoft-Technologien auch Linux, PHP, Node.js, MySQL, Java und Python umfasst. Mit dem Spring-Release ist Windows Azure nun endlich erwachsen geworden.