16.12.2008, 19:33 Uhr

Azure – das Fundament für Microsoft 2.0

Microsoft schafft mit der Azure Services Platform das Fundament für eine neue Generation von Web-Unternehmensanwendungen
«Die Befunde der holländischen Studie aus dem Jahre 2003 können nicht bestätigt werden», fasst Peter Achermann die Resultate zusammen.
Azure - das Fundament für Microsoft 2.0Microsoft schafft mit der Azure Services Platform das Fundament für eine neue Generation von Web-Unternehmensanwendungen.Auf der Professional Developer Conference 2008 fiel mit der Ankündigung der neuen Azure Services Platform der Startschuss für eine neue Generation an Unternehmensanwendungen, die in den kommenden Jahren die IT-Landschaft grundlegend verändern werden. Mehr und mehr Web- und WebServices-Anwendungen werden nicht mehr Inhouse oder bei jenem Provider gehostet, der auch für das Hosting der Unternehmenswebsite zuständig ist, sondern in DataCentern, die Microsoft in den kommenden Jahren über den Globus verteilt in Betrieb nehmen wird. In diesen DataCentern läuft kein gewöhnliches Windows Server-Betriebssystem, sondern ein für den Einsatz in hochskalierbaren Umgebungen optimiertes Gespann aus Windows Server 2008, IIS 7.0, .NET Framework 3.5 und einem sog. Fabric Controller, der sich um die Verwaltung der Ressourcen, das Load Balancing und den Lebenszyklus der Dienste einer gehosteten Anwendung kümmert. Ein Kunde mietet einen oder mehrere virtuelle Server und kann bei Bedarf jederzeit weitere Server hinzunehmen oder wieder abbestellen, ohne dass dies für die Entwicklung der Anwendung berücksichtigt werden müsste.Ganz neu ist die Idee natürlich nicht, denn Unternehmen wie Amazon (mit ihrem Elastic Cloud Computing Service, kurz EC2), IBM, Salesforce.com und natürlich Google bieten bereits seit längerem vergleichbare Dienste an. Doch während jedes dieser Angebote eine eigene API besitzt und eigene Werkzeuge erfordert, bleiben Entwickler bei Azure bei vertrauten Werkzeugen und APIs wie Visual Studio, Web Developer und dem .NET Framework.Dass es Microsoft mit "Cloud Computing" ernst ist macht alleine die Größenordnung der Investitionen deutlich - ein DataCenter soll die stolze Summe von 1 Milliarden US$ kosten. 20 dieser DataCenter sollen in den nächsten Jahren in Betrieb genommen werden.Cloud-Hosting - Pro und ContraFür den Betreiber der Anwendung ergibt sich der Vorteil, dass Microsoft nicht nur eine hohe Verfügbarkeit (die gibt es woanders auch), sondern auch eine theoretisch beliebige Skalierbarkeit bieten kann, die sich über ein Web-Interface kurzfristig beliebig hinzufügen oder wieder abbestellen lässt. Damit lässt sich äußerst flexibel auf kurzfristig gestiegene Anforderungen reagieren, ohne dass sich der Kunde langfristig binden muss. Damit ergeben sich nur Kostenvorteile, die Entwickler können sich vollständig auf die Umsetzung der Anwendung konzentrieren und Fragen der Infrastruktur Microsoft überlassen.Natürlich hat dieser neue Service seinen Preis. Zum einen steht hinter dem Angebot ein Geschäftsmodell, nachdem durch den Verkauf verschiedener Dienstleistungen die enormen Investitionen wieder hereingeholt werden. Zum anderen lassen sich bestehende ASP.NET-Web- und Webservice-Anwendungen nicht einfach 1:1 zu portieren, denn in der "Wolke" gelten teilweise andere Regeln. Dies beginnt beim Datenbankzugriff (es stehen nur einfach gestrickten SQL Data Services zur Verfügung) und geht weiter bei Fragen der Authentifizierung der Benutzer oder das Einbinden des Fabric-Controllers, der die Ausführung der Webanwendung in der Wolke steuert.Die Azure Services Plattform im ÜberblickAzure ist nur der Sammelbegriff für eine Reihe verwandter Technologien, die längst nicht alle neu sind. Die Azure Services Platform, so der offizielle Name, umfasst vier Kernkomponenten:Windows Azure SQL Services .NET Services Live ServicesKernelement der Azure Services Plattform ist Windows Azure, hinter dem ein Windows Server 2008 mit IIS 7.0 und .NET 3.5 als Grundbestandteile steht (allerdings betrachtet Microsoft Windows Azure als eine eigene Plattform, so dass es prinzipiell keine Rolle spielt, welches Betriebssystem sich dahinter verbirgt). Jede Anwendung läuft in ihrer eigenen virtuellen Maschine. Hardware-Virtualisierung spielt daher eine zentrale Rolle. Diese virtuellen Maschinen muss der Entwickler allerdings nicht selber anlegen, darum kümmert sich natürlich die Azure Services Platform. Der Entwickler gibt im Rahmen eines Web-Interface lediglich bestimmte Eckdaten vor. Der gigantische Datenstore von Windows Azure basiert zwar auf einem SQL Server 2008-Cluster, doch wird dieser nicht wie in einer typischen Webanwendung per ADO.NET angesprochen, sondern entweder über den Windows Azure Storage Services für das Speichern von einfachen, nicht relationalen Daten und BLOBs (Binary Larage Objects) oder über die SQL Data Services (SDS), die bereits seit Frühjahr letzten Jahres unabhängig von Azure zur Verfügung stehen, und mit denen sich Tabellendaten im Stile einer relationalen Datenbank ansprechen lassen. Mit dieser ersten Version der SQL Services lassen sich Datenelemente als "Entities" in Tabellen ablegen und (per LINQ) ansprechen. Für die Zukunft sind weitere SQL Services, etwa zu Reporting und Data Mining, geplant. Mit der Funktionalität eines SQL Servers sind die SQL Services aber nicht vergleichbar.Mit den .NET Services (vormals BizTalk Services) lassen sich Unternehmensdaten über Anwendungsgrenzen hinweg "orchestriert" (also gemäß festgelegten und in der Regel aus Unternehmensprozessen abgeleiteten Prozessen) austauschen. Auch diese Services gibt es bereits eine Weile als Vorabversion.Mit den Live Services lassen sich jene Daten ansprechen, die im Rahmen von jenen Windows Live-Diensten gespeichert sind, und die ebenfalls bereits seit ein paar Jahren zur Verfügung stehen, wie z.B. Kontaktdaten oder Fotos.Entwickeln für die WolkeSeit Anfang November kann jeder Entwickler das neue Azure testen. Microsoft stellt einen kostenlosen Probeaccount zur Verfügung, der aber "beantragt" werden muss. Ebenfalls geboten wird das Azure SDK und die Visual Tools für Azure, die sowohl unter Visual Studio 2008 SP1 als auch Visual Web Developer Express 2008 SP1 zur Verfügung stehen. Die Visual Tools bestehen aus einer Reihe von Vorlagen, die ein "F5-Deployment" gegen eine "lokale" Azure-Version ermöglichen (dies funktioniert auch unter XP und Vista). Die fertige Anwendung kann dann in Visual Studio in das Azure OS deployt werden, so dass sie anschließend im Internet zur Verfügung steht (die kleine "Hello, World"-Demo, wie während der Keynote am 1. Tag der PDC umgesetzt wurde, steht unter http://hellocloud.cloudapp.net zum Abruf bereit). Da Azure aber auch im Web anerkannte Standards wie REST, SOAP usw. verwendet, kommen theoretisch auch andere Entwicklungsumgebungen, wie Ecplise, in Frage. Wann wird Azure offiziell?Bislang hält sich Microsoft was Termine angeht noch vornehm zurück (auf der PDC wurde ein Termin für die Fertigstellung der Azure Services Platform offiziell noch nicht einmal angedeutet). Inoffiziell geht man davon aus, dass Azure im 2. Halbjahr 2009 live gehen könnte. Für Entwickler bedeutet dass, sich erst einmal mit der neuen Service-Funktionalität vertraut zu machen und sich intensiv mit den kleinen Beispielen zu beschäftigen, die Teile des Azure SDKs sind. Wer sich früh mit dem Thema beschäftigt erwirbt Know-how, das in einigen Jahren sehr gefragt sein dürfte.Kasten: Mit dem Begriff "Wolke" (engl. Cloud) wird schon seit längerem ein loses Konglomerat von Internet-Servern umschrieben, die Anwendungen verschiedene Dienste zur Verfügung stellen. Die Metapher der Wolke hat ihren Ursprung in dem Umstand, dass sich alle Server und Services "irgendwo" im Internet befinden, ihr genauer Standort und die Frage, welcher Server welche Dienste anbietet, keine direkte Rolle spielt. Der wichtigste Cloud-Dienst ist natürlich der "Storage-Dienst", durch den eine Anwendung beliebige Daten speichern kann, ohne dass sich der Entwickler über die Details der Organisation der Ablage Gedanken machen muss. Der Zugriff erfolgt z.B. über einfache HTTP-Kommandos, mit denen die grundlegenden Kommandos für das Speichern, Aktualisieren und Abrufen von Daten abgesetzt wird. Ein "Cloud-OS" ist damit nicht ein völlig neu artiges Betriebssystem, sondern vielmehr ein (in der Regel) herkömmliches Betriebssystem, das in der "Wolke" läuft.Peter Monadiemi


Das könnte Sie auch interessieren