Von kostenfrei bis hoch verfügbar

Websites in Windows Azure erstellen
Kommentare

Vor wenigen Wochen war es soweit: Microsoft hat die alljährliche TechEd-Konferenz in Orlando zum Anlass genommen, um eine ganze Reihe von Neuerungen in der Windows-Azure-Plattform vorzustellen.
PaaS

Vor wenigen Wochen war es soweit: Microsoft hat die alljährliche TechEd-Konferenz in Orlando zum Anlass genommen, um eine ganze Reihe von Neuerungen in der Windows-Azure-Plattform vorzustellen.

PaaS vs. IaaS

Jeder, der sich bereits mit Cloud Computing beschäftigt hat, ist wahrscheinlich schon über die drei Abkürzungen IaaS, PaaS und SaaS gestolpert. Sie stehen für Infrastructure-, Platform- und Software as a Service. Für uns Softwareentwickler bietet die mittlere Option – Platform as a Service – die meisten Vorteile. Sie bedeutet, dass wir uns nicht mehr mit den Details der Infrastruktur wie Hardware, Netzwerk, Betriebssystem oder Webserverkonfiguration auseinandersetzen müssen, sondern uns auf die Entwicklung der Anwendungen konzentrieren können. Im Vergleich zu anderen Cloud-Plattformen ist Windows Azure traditionell stark im Bereich PaaS. Während der große Azure-Konkurrent Amazon Web Services (AWS) aus dem Bereich IaaS kommt und seine Wurzeln im Anbieten virtueller Server mit Remote Desktop hat, war Azure von Anfang PaaS pur. Als Entwickler erstellen wir unsere Webanwendung für Azure in Form von Web- oder Worker Roles in Visual Studio, generieren ein Cloud-Service-Paket und schicken es an Azure. Es ist nicht notwendig, dass wir uns mit Load Balancern, DNS, Einrichtung des IIS, Konfiguration von automatischen Betriebssystemupdates, Installation von .NET und Ähnlichem beschäftigen. Wir erhalten eben eine fertige Plattform als Service.

Windows Developer

Der Artikel „Von kostenfrei bis hoch verfügbar“ von Rainer Stropek ist erstmalig erschienen im Windows Developer 10.2012

Im Rahmen der TechEd 2012 hat Microsoft sein Angebotsspektrum in beide Richtungen – IaaS und PaaS – massiv erweitert. Bei PaaS wurde die öffentliche Preview-Version eines vollkommen neuen Dienstes vorgestellt: Windows Azure Websites.

Windows Azure Websites

Dieser Dienst legt noch größeren Wert darauf, uns Entwicklern eine fertige Plattform zu bieten, als Cloud Services das schon bisher konnten. Das Ziel: Nach dem Erstellen einer Webanwendung mit Web Matrix, Visual Studio, PHP oder einer der anderen unterstützten Programmierplattformen genügen wenige Klicks, und das Programm läuft in Azure. Man startet vollkommen kostenlos, bekommt trotzdem die Hochverfügbarkeit, die man in der Cloud gewohnt ist, und skaliert bei Bedarf die zugrunde liegende Infrastruktur nach oben. Es ist nicht mehr notwendig, sich mit Cloud-Service-Package- oder Konfigurationsdateien auseinanderzusetzen oder die Auswirkungen von stateless Web- und Worker-Rollen im Detail zu verstehen. Die Plattform wird durch Azure Websites noch weiter abstrahiert, ihre Verwendung wird noch einfacher.

Bevor wir auf die Details von Windows Azure Websites eingehen, müssen wir uns aber auch die Schattenseiten eines höheren Abstraktionsgrads vor Augen führen: Mit der Verantwortung geben wir auch Kontrolle ab. Nehmen wir an, Sie brauchen für Ihre Anwendung eine ganz bestimmte Drittanbieterkomponente oder Systemkonfiguration, die am Server eingerichtet sein muss. Bei IaaS ein Kinderspiel: Sie verbinden sich mit Remote Desktop auf den Server und führen die notwendige Konfiguration durch. Bei den bekannten PaaS Cloud Services von Azure ist dieser Schritt schon schwieriger, aber noch möglich, indem Sie die Konfiguration mithilfe von Scripts automatisieren und mit Ihrer Anwendung in Azure deployen. Bei WAWS sind die Eingriffsmöglichkeiten in die Plattform noch stärker eingeschränkt. Wenn die vorgesehene Serverkonfiguration nicht passt, bleibt einem nur der Weg zurück zu den bekannten Cloud Services oder im Extremfall sogar zu IaaS. Eine Anpassung der Systemkonfiguration über die von Haus aus vorhandenen Einstellungen hinaus ist nicht mehr möglich. Für das typische Website-Projekt passt WAWS aber oft hervorragend und wird dadurch quasi zu einem Sorglospaket.

Die Infrastruktur hinter WAWS

Der große Nachteil der bisher schon bekannten Cloud Services in Windows Azure ist, dass pro Webanwendung in Visual Studio standardmäßig eine eigene Rolle in Azure eingerichtet wird. Technisch bedeutet das, dass Sie je Webanwendung einen eigenen virtuellen Server bekommen. Genau genommen sind es meist sogar zwei oder mehr, damit Azure einen Cluster einrichten kann. Er dient dazu, um z. B. bei notwendigen Updates einzelne Server für kurze Zeit herunterfahren zu können, ohne dass es zu einem Ausfall des Gesamtsystems kommt. Diese Architektur ist zwar hervorragend für größere, komplexere Webanwendungen geeignet, bei vielen kleinen Webseiten hat sie jedoch einen massiven Kostennachteil. Der kleinste Cluster aus zwei Small Instances hat in Windows Azure einen unrabattierten Listenpreis von 122,55 Euro pro Monat – viel zu groß und daher auch zu teuer für den Betrieb einer einzelnen, kleinen Website. Man kann zwar bei Cloud Services theoretisch auch mehrere Websites in einer Rolle zusammenfassen. Die dafür vorgesehenen Techniken und Tools sind jedoch alles andere als einfach einzurichten und zu betreiben.

Microsoft hat diesen Nachteil schon vor einiger Zeit erkannt und unter dem Codenamen „Antares“ die Lösung dafür entwickelt, die wir heute als „Windows Azure Websites“ kennen. Die Idee ist einfach: Microsoft setzt im Hintergrund eine große Anzahl fertiger Cloud Services auf, als Kunde muss ich nicht einen ganzen Server mieten, sondern kann mir einen Server mit vielen anderen Kunden teilen. Microsoft geht sogar noch einen Schritt weiter. Wenn Ihre Website längere Zeit nicht verwendet wurde, wird die gesamte Anwendung in einer von Microsoft verwalteten Datenbank abgelegt und von den WAWS-Servern entfernt. Beim ersten HTTP Request auf Ihre Anwendung wird in wenigen Sekunden aus den Informationen der Datenbank die Website auf einem Server mit freien Ressourcen wiederhergestellt. Dadurch ist es Microsoft möglich, eine sehr große Anzahl von Kunden mit einer begrenzten Anzahl an Servern zu bedienen und diesen Service nicht nur besonders günstig, sondern für bis zu 10 Websites sogar komplett kostenfrei anzubieten. Falls Sie sich für Ihre Anwendungen die Server nicht mit anderen Kunden teilen wollen, können Sie vom „Shared Mode“ in den „Reserved Mode“ schalten. Details dazu folgen später.

Die Dateien einer Windows Azure Website sind im Hintergrund im Windows Azure Blob Storage [2] in VHD-Dateien (Virtual Hard Disk) gespeichert. Bei Blob Storage handelt es sich um ein hochverfügbares Speicherservice, in dem Ihre Daten auf Clustersystemen gespeichert sind, die sogar regelmäßig in das zweite Rechenzentrum der jeweiligen Region gespiegelt werden (für Europa ist es das Rechenzentrumspaar Amsterdam und Dublin). Lokal am virtuellen Server werden keine Daten abgelegt. Das bedeutet, dass selbst im Fall eines Hardwarefehlers keine Daten verloren gehen. Ihre Website merkt nichts von Blob Storage, da die VHD-Dateien im Blob Storage von ihr als normale Laufwerke angesprochen werden können.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -