Startschuss für Microsoft-Cloud

Startschuss für Microsoft-Cloud

Artikel erschienen in IT Magazine 2010/03

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.


Neuen Kommentar erfassen

Anti-Spam-Frage Aus welcher Stadt stammten die Bremer Stadtmusikanten?
Antwort
Name
E-Mail
SPONSOREN & PARTNER