Startschuss für Microsoft-Cloud
Quelle: Vogel.de

Startschuss für Microsoft-Cloud

Microsofts Cloud-Plattform Azure wird ein Schlüsselthema der kommenden TechDays sein. Swiss IT Magazine zeigt im Vorfeld, was Azure zu bieten hat.

Artikel erschienen in Swiss IT Magazine 2010/03

     

Anfang Februar hat Microsoft seine Cloud-Computing-Plattform Azure offiziell lanciert. Azure ist eine Komponente des Microsoft-Cloud-Computing-Angebots und eine wichtige Technologie für Microsoft. Das zeigt auch ein Blick in die TechDays-Agenda: An der grössten Schweizer Microsoft-Technologie-Veranstaltung (siehe In-fobox) widmen sich gleich mehr als fünf Ses-sions dem Thema Azure und Cloud Computing und werden dies detailliert vorstellen. Azure ist also ein TechDays-Schlüsselthema. Swiss IT Magazine gibt in diesem Artikel einen Vorgeschmack auf die neue Art der Entwicklung und Bereitstellung von Anwendungen auf der Windows-Azure-Plattform.



Rechnen in der Wolke

Windows Azure bildet die Grundlage für die Ausführung von Windows-Anwendungen und die Speicherung von Daten in der Cloud. Windows-Azure-Anwendungen werden in Microsofts Rechenzentren ausgeführt und über das Internet aufgerufen. Microsoft stellt seinen Kunden mit Azure also keine Software zur Verfügung, die sie auf ihrem eigenen Computer installieren und ausführen. Stattdessen ist Windows Azure ein Service: Kunden können damit über das Internet auf Microsofts Rechner zugreifen, um Anwendungen auszuführen und Daten zu speichern.


Unabhängig davon, welche Funktionen eine Windows-Azure-Anwendung ausführt, stellt die eigentliche Plattform immer dieselben grundlegenden Komponenten zur Verfügung, darunter die drei Hauptkomponenten Compute, Storage und Fabric (siehe Abbildung rechts). Wie die Namen bereits andeuten, dient der Service «Compute» dem Ausführen von Anwendungen und der Service «Storage» dem Speichern von Daten. Die dritte Komponente, die Windows Azure Fabric, ermöglicht die Verwaltung und Überwachung der Anwendungen, die die Cloud-Plattform verwenden.


Azure bietet Rechenleistung...

Windows Azure wurde für die Unterstützung horizontal skalierbarer Anwendungen entwickelt, die mehrere Kopien desselben Codes über zahlreiche Server hinweg ausführen. Zu diesem Zweck kann eine Windows-Azure-Anwendung über mehrere Instanzen verfügen, die jeweils auf einer eigenen Virtual Machine (VM) ausgeführt werden. Jede VM wird von einem Hypervisor (auf der Basis von Hyper-V) bereitgestellt, der für die Verwendung in der Microsoft Cloud modifiziert wurde, und stellt eine Windows-Oberfläche für die jeweilige Instanz zur Verfügung.


Entwickler, die eine Anwendung ausführen möchten, öffnen in ihrem Webbrowser das Windows-Azure-Portal (windows.azure.com). Anschliessend können sie ihre Anwendung hochladen und dabei angeben, wie viele Ins-tanzen die Anwendung benötigt. Windows Azure erstellt dann die erforderlichen VMs und führt die Anwendung aus.


In der ersten Version von Windows Azure stehen den Entwicklern zwei unterschiedliche Arten von Instanzen zur Verfügung: Web-Role- und Worker-Role-Instanzen. Web-Role-Ins-tanzen können, wie der Name bereits andeutet, HTTP- oder HTTPS-Anforderungen entgegennehmen. Hierzu wird die Web Role in einer VM ausgeführt, die Internet Information Services (IIS) 7 enthält. Entwickler können Web- Role-Instanzen mit ASP.NET, Windows Communication Foundation (WCF) oder einer anderen .NET-Technologie erstellen, die mit IIS zusammenarbeitet.


Worker-Role-Instanzen haben eine gewisse Ähnlichkeit mit Web-Role-Instanzen, weisen jedoch auch ganz bestimmte Unterschiede auf. Der grösste Unterschied besteht darin, dass bei Worker-Role-Instanzen IIS nicht konfiguriert ist und Worker-Role-Instanzen nicht von IIS gehostet werden. Sie sind stattdessen eigenständige ausführbare Programme. Worker-Role-Instanzen übernehmen in der Regel Hintergrundaufgaben. Beispielsweise kann eine Anwendung Benutzeranforderungen mittels Web-Role-Instanzen entgegennehmen und diese Anforderungen zu einem späteren Zeitpunkt mit Worker-Role-Instanzen verarbeiten.


Zu beachten ist, dass Entwickler keine eigenen VM-Images zur Ausführung in Windows Azure bereitstellen können. Stattdessen enthält und unterhält die Plattform ihre eigene Version von Windows. Entwickler können sich auf diese Weise ganz auf das Erstellen von Anwendungen konzentrieren, die auf Windows Azure ausgeführt werden. Windows Azure übernimmt die Aktualisierung des Betriebssys-tems in jeder VM selbständig. Dabei ist es nicht relevant, ob die Anwendung Änderungen auf der Systemebene vorgenommen hat. Entwickler brauchen somit beispielsweise keine Windows-Patches mehr zu installieren; Windows Azure nimmt ihnen diese Aufgabe ab. Das Ziel ist dabei, eine unterbrechungsfreie Ausführung von Anwendungen zu gewährleisten und gleichzeitig den administrativen Aufwand zu minimieren.



... und Storage Services

Anwendungen nutzen Daten auf unterschiedlichste Weise. Daher bietet der Windows Azure Storage Service verschiedene Optionen (siehe Grafik oben). Die einfachste Methode zum Speichern von Daten in Windows Azure Storage ist die Verwendung von Blobs. Blobs können sehr umfangreich sein, und es können Metadaten mit ihnen verknüpft sein (beispielsweise Informationen über den Aufnahmeort von JPEG-Fotos). Blobs eignen sich für bestimmte Aufgaben hervorragend, doch für andere bieten sie nicht genügend Struktur. Damit Anwendungen granularer mit Daten arbeiten können, stellt Windows Azure Storage einen weiteren Service bereit: so genannte Tables.


Vom Namen sollte man sich nicht irreleiten lassen: Es handelt sich nicht um relationale Tabellen. Zwar werden sie «Tables» genannt, doch werden die darin gespeicherten Daten in Gruppen von Entitys gespeichert, die Eigenschaften enthalten. Dies ermöglicht eine viel effizientere Nutzung von horizontal skalierbarem Speicherplatz, das heisst die Verteilung von Daten über zahlreiche Rechner hinweg, als dies bei herkömmlichen relationalen Datenbanken der Fall ist.


Eine Hauptfunktion von Queues ist es, die asynchrone Kommunikation zwischen Web- Role-Instanzen und Worker-Role-Instanzen zu ermöglichen.


Unabhängig von der Art der Datenspeicherung (in Blobs, Tables oder Queues) werden sämtliche Daten, die in Windows Azure Storage gespeichert sind, dreimal repliziert. Dies gewährleistet Fehlertoleranz, da bei einem Verlust einer einzelnen Kopie nicht sämtliche Daten verlorengehen. Windows Azure erstellt darüber hinaus eine Backup-Kopie aller Daten in einem anderen Rechenzentrum in derselben geografischen Region. Wenn das Rechenzentrum, in dem sich die Hauptversion der Daten befindet, nicht verfügbar ist oder Schaden erleidet, bleibt das Backup also weiterhin verfügbar.


Relationaler Speicherplatz in Cloud

Das Erstellen von Windows-Azure-Anwendungen, die Blobs, Tables und Queues verwenden, ist sicherlich nützlich. Doch die meis-ten Anwendungen von heute basieren auf relationalem Speicherplatz, und dies ist keine Kernfunktion von Windows Azure. Diese Option wird durch SQL Azure bereitgestellt, einer weiteren Komponente der Windows Azure Platform. Anwendungen, die unter Windows Azure (oder anderweitig) ausgeführt werden, erhalten mit dieser Technologie den bereits vertrauten SQL-basierten Zugriff auf relationalen Speicherplatz in der Cloud.


Letztlich stellt sich die Frage, welche Anwendungen für Cloud Comput-ing am besten geeignet sind? Die Abbildung unten gibt dazu gute Hinweise und enthält auch einige konkrete Beispiele.



So viel kostet Windows Azure

Die Abrechnung für Services der Windows Azure Platform kann auf zwei Arten erfolgen: Auf Nutzungs- oder auf Abonnementsbasis. Bei Abrechnung auf Nutzungsbasis (dem Hauptmodell) bezahlt man genau das, was man auch nutzt: Rechenleistung, Speicherplatz, Transaktionen, Datentransfer. Bei Bereitstellung einer kleinen Compute-Instanz (1x1,6 GHz, 1,75 GB Arbeitsspeicher, 250 GB Speicherplatz) bezahlt man beispielsweise 0.132 Franken pro Stunde. Die Kosten für Speicherplatz hängen von der verwendeten Grösse ab und beginnen bei 0.165 Franken pro GB und Monat. Die Bereitstellung einer SQL-Service-Datenbank mit einer Grösse von weniger als 1 GB kostet monatlich 11 Franken.


Wer Windows Azure ausprobieren möchte, dem stehen einige Beschleuniger zur Verfügung, mit denen man ein begrenztes Budget optimal ausschöpfen kann. Als MSDN-Abonnent oder Mitglied von Microsoft BizSpark erhält man noch weitere Vorteile: Je nach Abonnementstufe ist man zu einer bestimmten Anzahl von Gratisstunden der Windows-Azure--Services berechtigt.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Zwerge traf Schneewittchen im Wald?
GOLD SPONSOREN
SPONSOREN & PARTNER