15 January 2009 Amazon, Amazon EC2, AppEngine, Google, HowTo, Phyton, S3, Windows Azure Robert Muehsig

Cloud-Computing hört man heute immer mehr - doch was verbirgt sich dahinter? Welche großen Anbieter gibt es im Bereich des "Anwendungshostings" und was ist für Entwickler interessant?

image image image

Anwendungen "in der Wolke"?
Die großen Anbieter wie Google, Microsoft oder Amazon sprechen immer davon, dass man seine Anwendungen "in der Wolke" hostet - doch was bedeutet das eigentlich?

Heutzutage wird es meinst noch so sein, dass man irgendwo seine Hardware selber besorgt oder es im Rechenzentrum mietet und dann laufen die Server fleissig vor sich hin und man installiert seine Software.

Häufig kommt es allerdings vor, dass es nur schlecht skaliert, weil Hardware erstmal teuer ist. Viele Webdienste hatten immer mal wieder Probleme, weil die Anwendung schlecht skaliert und die Entwickler nicht mit einem so großen Erfolg gerechnet haben.

Sobald man allerdings sich neue Server mietet, hat man sich nun daran gebunden. Kurzfristige Aktionen oder Zeiten in dem man mehr Rechenleistung benötigt wird, ist erstmal kompliziert umzusetzen.

Der Wunschtraum
Die Idee dahinter ist immer folgende: Stell dir vor du könntest deine Anwendug installieren bzw. dir diese Dienstleistung mieten und wenn ein Ansturm von Leuten kommt, dann geht es dynamisch hoch und ich brauch immer nur das Bezahlen was ich auch wirklich brauche.

Google:
Google bietet die App Engine an. Darauf kann man Phyton Programm auf Googles Infrastruktur hosten - für .NET Entwickler schonmal eher weniger interessant.

Microsoft:
Microsoft hat zur PDC 2008 seine Windows Azure Plattform vorgestellt.

image

Windows Azure soll das "Windows für die Cloud" sein und Basisfunktionalitäten bereitstellen.

Darauf laufen verschiedene Services:

Momentan muss man sich für jeden Service einzeln Anmelden, da es momentan noch alles als CTP läuft. Die SDKs (bis auf das Live Framework) kann man sich auch schon so runterladen.

Windows Azure? Wie darf man sich das vorstellen?

Auch wenn es heisst, dass "Windows Azure" das Windows für die Cloud ist, wird man es nie so direkt sehen wie ein normalen Windows Server. Man stellt seine Anwendung über eine Managementseite online und das System kümmert sich um alles - man braucht keine RDP Verbindung machen etc.

Allerdings hat diese Architektur auch seinen Nachteil: Momentan gehen nur ASP.NET bzw. WCF Projekte. C++ oder andere Sprachen sind zwar angedacht, geht aber noch nicht.

Ich werde mich in den nächsten Blogpostes mehr damit beschäftigen. Wer interesse hat, sollte sich diese Links anschauen:

Amazon:

Amazon bietet eine Reihe von Webservices an, darunter auch die zum Shoppen auf Amazon:

image

Amazon geht ein anderes Modell. Das Produkt "Amazon Elastic Compute Cloud (Amazon EC2)" ist am eine Art "Instant-Server-Fabrik". Man kann relativ schnell einen Server sich auf Amazon Rechenzentrum nutzen. Linux und Windows Server 2003 wird unterstützt.
Um sich dies mal praktisch Vorzustellen, ist dieses Video sehr gut.

Amazon S3 ist vergleichbar mit der Blobstorage-Funktionalität von Windows Azure. Es können sehr einfach Dateien auf diese Dienste geschoben werden. Dropbox, ein Backuptool, nuttz S3 um die Daten zu speichern.

Amazons SimpleDB wird wahrscheinlich mit den SQL Services von Microsoft konkurrieren - es bietet Datenbankähnliche Funktionen, anders als S3. Es gibt sogar bereits interessante Integrationen in Visual Studio:

Wenn es die Zeit erlauben würde, würde ich mir auch Amazon mehr anschauen - allerdings find ich das Gesamtkonzept von Windows Azure auch nicht schlecht.

Was haben wir nun gelernt:

Es gibt ein paar große Anbieter und (jedenfalls für .NET Entwickler) ist sichlerich Azure oder Amazon interessant. Wenn die Dienste wirklich skalierbar sind und die Tools ausgereift sind, dann kann das durchaus interessant werden :)


Written by Robert Muehsig

Software Developer - from Saxony, Germany - working on primedocs.io. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de