Der Betrieb von Software in der Cloud zeichnet sich unter anderem durch hohe Skalierbarkeit, hohe Verfügbarkeit und einem automatisierten Management der Softwarekomponenten aus. Zu Letzterem gehört die Möglichkeit Microsofts, in Abstimmung mit den Nutzern der Plattform laufend Plattformaktualisierungen und –Patches einspielen zu können, ohne dass dies den laufenden Betrieb der Cloud Services beeinträchtigt. Die Windows Azure Platform ist deshalb permanent Änderungen unterworfen, was es zwangsläufig erschwert, ein Buch zur Plattform stets auf dem aktuellen Stand zu halten.
Seit der Fertigstellung des Buchmanuskriptes hat es eine Reihe von Änderungen und Erweiterungen an der Plattform gegeben, die in diesem Kapitel überblicksartig beschrieben werden. Zusammen mit der gedruckten Version des Buches bildet es ein Gesamtwerk, welches einen Überblick über die aktuelle Version (Stand: Januar 2010) der Windows Azure Platform gibt. Zu einem späteren Zeitpunkt werden die Neuerungen in die betreffenden Kapitel des Buches überführt und dann in einer zweiten Auflage des Buches veröffentlicht.
Die Änderungen, die die Plattform erfahren hat, sind vielschichtig: Einige betreffen die Gesamtplattform, einige den Funktionsumfang von Windows Azure bzw. Azure Services. In Abbildung 10.1 ist die Windows Azure Platform im Versionsstand 1.0 im Überblick zu sehen.
Abbildung 10.1: Die Windows Azure Platform – Version 1.0
Hier fallen ein paar Änderungen gegenüber der CTP-Version unmittelbar auf:
Damit besteht die Windows Azure Platform nun aus den drei Dienstgruppen Windows Azure, SQL Azure und Windows Azure Platform AppFabric. In jeder der drei Gruppen wurden zum Produktstart Änderungen bekanntgegeben bzw. Erweiterungen angekündigt, die in den jeweiligen Folgeabschnitten beschrieben werden.
Mit der Produktivsetzung, bei der eine Abrechnung der genutzten Ressourcen erfolgen soll, sind jetzt auch entsprechende Preismodelle verfügbar. Diese orientieren sich grundsätzlich am Verbrauch der einzelnen Cloud Services, legen aber jeweils unterschiedliche Abrechnungseinheiten zugrunde. So wird die Rechenleistung von Windows Azure pro Abrechnungsstunde, Windows Azure Storage nach Datenmenge und Speicheroperationen, SQL Azure nach Abrechnungsmonat und die AppFabric nach der Zahl der Transaktionen bzw. Verbindungen abgerechnet. Tabelle 10.1 gibt einen Überblick über die Kosten der einzelnen Dienste.
Dienst
Abrechnungseinheit
Kosten
Windows Azure Compute
Abrechnungsstunde
Small VM: 0,12 US-$/Stunde
Medium VM: 0.24 US-$/Stunde
Large VM: 0,48 US-$/Stunde
XLarge VM: 0,96 US-$/Stunde
Windows Azure Storage
Datenmenge und Speichertransaktionen
0,15 US-$/GB /Monat
0,01 US-$/10.000 Transaktionen
SQL Azure
Abrechnungsmonat
Web Edition (maximal 1 GB): 9,99 US-$/Monat
Business Edition (maximal 10 GB): 99,99 US-$/Monat
Windows Azure Platform AppFabric Access Control
Anzahl Transaktionen
1,99 US-$/100.000 Transaktionen
Windows Azure Platform AppFabric Service Bus
Anzahl Verbindungen
3,99 US-$/Verbindung (im »pay-as-you-go«-Modell)
9,95 US-$/Paket von 5 Verbindungen
49,75 US-$/Paket von 20 Verbindungen
199 US-$/Paket von 100 Verbindungen
995 US-$/Paket von 500 Verbindungen
Tabelle 10.1: Kosten für die Nutzung der einzelnen Dienste der Windows Azure Platform
Zu beachten ist, dass bei Windows Azure Kosten anfallen, sobald eine Anwendung auf Windows Azure installiert ist und nicht erst, wenn auch tatsächlich Zugriffe auf die Anwendung erfolgen. Für die Betreiber von Anwendungen besteht somit ein Optimierungspotenzial aus der Steuerung der Anzahl aktiver Instanzen einer Anwendung. Die Anzahl sollte immer so klein wie möglich (um Kosten zu sparen) und so groß wie nötig (um Antwortzeiten für Anwender zu minimieren) gehalten werden.
Unabhängig vom genutzten Dienst kommen zu den in Tabelle 10.1 aufgelisteten Kosten noch Beträge für den Datentransfer, der in Microsofts-Rechenzentren hinein bzw. aus diesen heraus geht. Diese sind in Tabelle 10.2 aufgeführt.
Transferrichtung
In das Rechenzentrum hinein
Datenmenge
0,10 US-$/GB
Aus dem Rechenzentrum heraus
0,15 US-$/GB
Tabelle 10.2: Kosten für die Datentransfers über die Grenzen von Microsofts Rechenzentren
Der Datentransfer innerhalb der Rechenzentren ist kostenfrei. Kommuniziert eine auf Windows Azure betriebene Anwendung mit einer auf SQL Azure betriebenen Datenbank (und Anwendung und Datenbank liegen im gleichen Rechenzentrum), fallen für den Datenaustausch keine Kosten an.
Die Nutzung von Azure auf Basis der oben beschriebenen Preismodelle ist die flexibelste Variante. Es fallen genau dann Kosten an, wenn die entsprechende Ressource genutzt wird. Ohne Nutzung, keine Kosten. Bezogen auf die Abrechnungseinheit ist dies allerdings auch die teuerste Variante (die Flexibilität wird also über einen höheren Preis erkauft). Neben dieser sogenannten »pay as you go«-Variante gibt es weitere Bezugsmöglichkeiten, bei denen für eine vereinbarte Abnahmemenge Rabatte gewährt werden:
Weitere Informationen zu diesen und weiteren Angeboten können über den URL http://www.microsoft.com/windowsazure/offers/ abgerufen werden.
Darüber hinaus erfolgt die Nutzung der Plattform unter verbindlichen Service Level Agreements (SLAs). Ein Ausschnitt aus diesen SLAs ist in Tabelle 10.3 zu sehen.
Messgröße
Beschreibung
Service Level
Anbindung von Cloud Services
Anbindung von Diensten, die auf Windows Azure betrieben werden, ans Internet
>99,95%
Überwachung von Instanzen
Instanzen von Rollen werden laufend überwacht und bei Bedarf automatisch neu gestartet
>99,9%
Verfügbarkeit Speicher
Der Windows Azure Storage ist von außen zugreifbar und beantwortet Speicherzugriffe erfolgreich
Verfügbarkeit Datenbank
SQL Azure ist von außen zugreifbar. Alle Datenbanken werden laufend überwacht.
Verfügbarkeit Service Bus und Zugriffskontrolle
Endpunkte, die beim Service Bus bzw. Access Control Service registriert sind, sind von außen aus zugreifbar. Nachrichten können über diese Dienste ausgetauscht werden.
Tabelle 10.3: Ausschnitt aus den Service Level Agreements der Windows Azure Platform (Angaben ohne Gewähr)
Eine Vereinbarung individueller Service Level (insbesondere höhere Service Level) ist grundsätzlich nicht möglich. Die Dienste werden in einer automatisierten Form angeboten, die es nicht zuließe, für einzelne Anwender Ausnahmeregelungen zu treffen. Werden andere als die angebotenen Service Level benötigt, verweist Microsoft an die große Zahl an Hosting-Partnern, bei denen in der Regel eine individuelle Vereinbarung von Service Leveln möglich ist.
Die Änderungen der Plattform haben zum Teil große Auswirkungen auf die entsprechenden Kapitel des Buches. Tabelle 10.4 listet die wichtigsten Änderungen der Services auf.
Kapitel
Plattformdienst
Wichtigste Änderungen
Kapitel 3
Verschiedene Größen virtueller Maschinen
Direkter Nachrichtenaustausch zwischen Rollen
Möglichkeit der Konfiguration von Kommunikationsports
Erweiterte Logging- und Diagnosemöglichkeiten
Verwaltung von Diensten über eine Management API
Erweiterte Interoperabilität (MySQL, Java, Ruby, Apache etc.)
Drives als virtuelle NTFS-Festplatten für Windows Azure
Offizielle Storage Client Library
Erweiterte Funktionalitäten der Storage Services
Verfügbarkeit eines Content Delivery Networks
Kapitel 4
Live Services
Live Services sind nicht mehr Bestandteil der Plattform
Kapitel 5
.NET Services
Umbenennung in Windows Azure Platform AppFabric
AppFabric Service Bus
Entfernung von Routern und Queues[1]
Möglichkeit zur Nachrichtenpufferung für asynchrone Kommunikation über Message Buffer
AppFabric Access Control Service
Fokussierung auf die Absicherung REST-basierter Webservices
Integrationsmöglichkeit mit ADFS v2
Unterstützung von WRAP und SWT
Entfallen der Unterstützung der WS-* Standards[2]
Kapitel 6
Firewall-Unterstützung
Bulk-Inserts
Erweiterte Werkzeuge in Visual Studio 2010 RTM
Tabelle 10.4: Überblick über die wichtigsten Änderungen bezogen auf die Buchkapitel
Die folgenden Abschnitte geben einen detaillierteren Überblick über die Änderungen und Erweiterungen der einzelnen Dienste der Windows Azure Platform.
Weitere Informationen
[1] Router und Queues sollen in zukünftigen Versionen der Plattform (ggf. mit erweitertem Funktionsumfang) wieder zur Verfügung stehen.
[2] Die Unterstützung der WS-* Standards soll in zukünftigen Versionen wieder zur Verfügung stehen.