Cloud Computing Dreikampf: Google, Microsoft, Amazon

Google App Engine

Mithilfe der Google App Engine stellt Google jedem Entwickler eine skalierbare Entwicklungsumgebung bereit. Diese Entwicklungsumgebung ermöglicht es, Webanwendungen schnell und kostengünstig weltweit zur Verfügung zu stellen. Derzeit fehlt noch ein relationales Datenbanksystem. Positiv fällt bei Google auf, dass ausführliche Dokumentationen zur Verfügung stehen. Sie sind nahezu ausschließlich in Englisch gehalten. Zusätzlich bietet Google ein sehr einfaches, aber vollkommen ausreichendes Eclipse-Plug-in an. Über dieses Plug-in kann man ein Projekt erstellen und auch direkt in die Cloud deployen. Google stellt lediglich zwei Entwicklungsumgebungen mit Java und Python in ihrer Sandbox zur Verfügung, wobei die Java-Entwicklungsumgebung nicht jede Bibliothek, zum Beispiel Enterprise Java Beans, unterstützt. Eine Sandbox ist eine gesicherte Laufzeitumgebung, in der man nur einen eingeschränkten Zugriff auf die Infrastruktur hat. Die Benutzerfreundlichkeit ist im Google AppEngine Dashboard, das die Managementoberfläche für die Applikationen darstellt, hervorragend. Es werden jegliche Informationen über den Zustand, die Konfiguration und die aufgetretenen Fehler angezeigt. Zusätzlich werden auch wichtige Informationen, zum Beispiel die bisher benötigte CPU-Zeit, präsentiert. Über Service Level Agreements garantiert Google für Applikationen ebenfalls eine Verfügbarkeit von 99,95 Prozent. Bei einer Nichteinhaltung werden Service-Credits gutgeschrieben. Das gilt aber nicht für den kostenlosen Account. Ressourcen werden bei Google App Engine pro Applikation verrechnet. Bis zu einer täglichen Obergrenze ist die Verwendung gratis. Falls diese freien Ressourcen nicht ausreichen, kann man zusätzliche Ressourcen bis zu einer bestimmten Obergrenze dazukaufen [4]. Das Load Balancing funktioniert vollautomatisch und ist kostenlos, jedoch nicht manuell konfigurierbar.

Google bietet einige Services an, kann sich aber mit der Anzahl des derzeitigen Angebots nicht mit Amazon oder Microsoft vergleichen. Zusätzlich bietet Google derzeit mit dem Datastore nur eine nicht relationale Datenbanklösung an. Für die Speicherung von binären Objekten bietet Google den BLOB Store Service an, in dem ein Objekt eine Größe von zwei Gigabyte erreichen darf.

Die Einarbeitung in Google App Engine verursacht durch das einfache API keine Schwierigkeiten. Mithilfe des Eclipse-Plug-ins entsteht kein Aufwand beim Deployen der Applikation. Es muss lediglich das Google-App-Engine-Projekt kompiliert und dann hochgeladen werden. Durch das einfache API ist der Aufwand der Entwicklung geringer als bei Amazon und Microsoft.

Mithilfe einer Beispielapplikation wurden Messergebnisse ermittelt, um die folgenden Kriterien objektiv bewerten zu können. Von zehn Versuchen, den oben erwähnten Algorithmus durchzuführen, wurde nur drei Mal ein Ergebnis geliefert. Google App Engine bricht die Ausführung nach einer Berechnungszeit von 30 Sekunden ab und liefert einen Fehler. Bei den Versuchen, die ein Ergebnis lieferten, wurde eine durchschnittliche Zeit von 28 Sekunden gemessen. Für den Loginvorgang wurde eine durchschnittliche Antwortzeit von 1,75 Sekunden gemessen. Dabei muss jedoch betont werden, dass diese Messung auf dem frei verfügbaren Testsystem durchgeführt wurde. Durch das Sandbox-System kann die Applikation einfach auf dem Client getestet werden, außerdem wird auch ein kostenloser Account angeboten (Testbarkeit der Applikation). Bei Google stehen nicht alle Funktionen, die für die Applikation benötigt werden, zur Verfügung. Um die Funktionalität dennoch zu implementieren, musste die Testapplikation teilweise geändert werden (Tabelle 3).

Tabelle 3: Bewertungstabelle für die Google App Engine

Kriterien Gruppe Kriterium Punkte
Allgemeine Kriterien Dokumentation 4
Entwicklerwerkzeuge 5
Plattformunabhängigkeit 2
Installationsaufwand 5
SLA und Ausfallsicherheit 5
Preis 4
Services Breite des Angebots 3
Services für strukturierte Daten 2
Services für Massenspeicher 4
Entwicklung Vor- und Einarbeitung 5
Deployment der Applikation 5
Entwicklungsaufwand 5
Beispielapplikation Performanz 1
Antwortzeit 4
Testbarkeit Applikation 5
Umsetzbarkeit 2
Summe Summe 61
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.