„Dieser Blog Post ist Teil der Serie „Cloud Computing mit Windows Azure“, alle bisher erschienenen Artikel finden Sie im ersten Posting der Serie!“
Im Post von Dezember haben wir die Cloud-Plattform bereits überblicksmäßig vorgestellt. Nun wollen wir uns die Möglichkeiten von Windows Azure mal etwas genauer ansehen. Windows Azure ist, wie im eingangs erwähnten Blogpost – Bestandteil der Windows Azure Services Plattform. Windows Azure stellt das Betriebssystem für die Cloud zur Verfügung.
Mit Hilfe von Windows Azure kann man schnell und einfach Anwendungen für die Cloud erstellen. Windows Azure kümmert sich hierbei bereits um Sachen wie Load Balancing, Ressourcen-Management und managed den Lebenszyklus von Services. Das wichtigste für Windows Azure ist die Skalierbarkeit. Wenn die Website mehrere Instanzen benötigt, kann man sich sehr einfach weitere virtuelle CPU’s dazu kaufen – alles geht sehr schnell und einfach ohne das man die Hardware komplex konfigurieren muss.
Für die Windows Azure Plattform gibt es mehrere Punkte die von Interesse sind. Jene werden nun durchgesprochen.
Windows Azure Developer Portal
Im Windows Azure Developer Portal kann man die eigenen Anwendungen verwalten. Hier besteht auch die Möglichkeit, auf SQL Azure zu zugreifen (dies wird von Mario später separat erklärt). Im Menüpunkt „Windows Azure“ werden sämtliche Projekte aufgelistet, welche für diese Plattform vorhanden sind. Wenn man ein Projekt auswählt, kommt man zu weiteren Einstellungen für das Projekt wie etwa den Storage und Domänen.
Windows Azure Storage Services
Jede Applikation benötigt irgend wo Speichermöglichkeiten. Für Windows Azure gibt es hier einige Möglichkeiten, wobei der Fokus auf Skalierungen liegt. Skalierung ist eines der zentralen Punkte in der Windows Azure Plattform. Für Storage gibt es drei Punkte, welche in diesem Posting nur grob umrissen werden. In einem späteren Posting wird es hierfür mehr Details geben.
· Windows Azure Blob Storage
Blob steht für „Binary Large OBject" und repräsentiert Binärdaten – dies können Dokumente (Word, PDF, …), Bilder, Videos, … sein. Mit einer einfachen API kann man diese Objekte in Windows Azure ansprechen. Blobs werden in Containern abgelegt, welche einer URL entsprechen.
· Windows Azure Queue Storage
Eine Queue ist genau das was man sich damit vorstellen würde: eine Warteschlange. Die Queue dient primär der Kommunikation zwischen den einzelnen Instanzen (welche später noch genauer erklärt werden). In eine Queue werden einzelne Messages gespeichert.
· Windows Azure Table Storage
Neben Queues und Blobs gibt es auch die Möglichkeit, Tabellen in Windows Azure zu speichern. Hierbei gibt es allerdings die Einschränkung das keine relationalen Daten geschrieben werden können.
Mehr zum Thema Storage gibt es in den kommenden Postings.
Windows Azure Compute Service
Die Windows Azure Compute Services sind nun die eigentliche Applikation. Hier können 2 verschiedene Anwendungstypen erstellt werden. Diese sind:
· Web Role
Dies ist eine Webapplikation. Diese kann zum Beispiel mit Asp.NET erstellt werden.
· Worker Role
Diese Rolle eignet sich vor allem dann, wenn man komplexere Berechnungen durchführen will oder Aktionen asynchron im Hintergrund ausführen will. Eine Möglichkeit wäre es zum Beispiel das man in einer Website einen Bestellvorgang abbildet und für den Versand der E-Mails die Worker Role verwendet. Dies würde die Web Role erheblich beschleunigen.
Zur Kommunikation zwischen diesen Beiden Rollen wird üblicherweise eine MessageQueue verwendet. Diese wurde bereits grob im vorigen „Kapitel“ vorgestellt.
Erstellt man in Visual Studio ein neues Projekt, so kann man die einzelnen Rollen auswählen. Neben den eingangs erwähnten Rollen gibt es auch noch eine Rolle für ASP.NET 2 MVC, für WCF Services und für CGI Applikationen (zum Beispiel PHP)
Erstellt man sich in Visual Studio eine neue Applikation, so kann man in den verwendeten Rollen die Bezeichnung ändern indem man auf das “Edit” Symbol klickt (dies ist in der obigen Abbildung ersichtlich – im markierten Eintrag).
Service Konfigurierung und Definition
Ebenso wie jede andere Anwendung auch muss die Windows Azure Anwendung in einer Konfigurationsdatei und einer Definitionsdatei richtig beschrieben sein. Diese zwei Dateien tragen die Bezeichnung “ServiceDefinition.csdef” und “ServiceConfiguration.cscfg”. Für Einstellungen gibt es auch noch die einzelnen Rollen. In diesen Rollen können Endpunkte, die größe der virtuellen Maschine, Zertifikate und ähnliches eingetragen werden.
Management
Damit Windows Azure Applikationen verwaltet werden können, gibt es auch eine Management API. Hier kann man Accountinformationen abfragen, Updates am Account machen, den Account upgraden (z.B. mehr virtuelle CPU’s, …)
Management und Servicekonfiguration/-definition wird in einem späteren Artikel genauer erklärt.

Mario Meir-Huber
www.meirhuber.de