Google App Engine - Technische Stärken und Schwächen Platform as a Service (PaaS) Gruppe 1 Manuel Mitasch Matthias Rosenthaler Elisabeth Rumetshofer Johann Tuder Michal Wasilewski
Agenda Entwicklung - Allgemein Java Kontingente Administration Sicherheit
Entwicklung - Allgemein (1) - nur Java, Python, Google Go - keine nativen Python-Module - nur Windows Server 2008, rein quelloffene Linux-Betriebssysteme für Instanzen + Eclipse Plugin + lokale Testumgebung (Jetty Server) + Datenbanken Cloud SQL (sehr ähnlich zu MySQL) NoSQL Google Developers https://developers.google.com/appengine/docs/java/runtime?hl=de Heise - Cloud-Plattformen im Vergleich http://www.heise.de/microsites/cloud-computing-mit-windows-azure/cloud-plattformen-im-vergleich-was-bieten-windows-azure-google-app-engine-und-amazon-ec2/150/367/1140/1 Google Developers - Datastore https://developers.google.com/appengine/docs/python/datastore/
Entwicklung - Allgemein (2) + keine Einstiegskosten 500 MB Speicher für 3 Applikationen 5 Mio. Aufrufe pro Monat 6,5 CPU-Stunden pro Tag max. 1 GB Datenfluss pro Tag Basis Protokolle HTTP XML SOAP REST Heise - Cloud-Plattformen im Vergleich http://www.heise.de/microsites/cloud-computing-mit-windows-azure/cloud-plattformen-im-vergleich-was-bieten-windows-azure-google-app-engine-und-amazon-ec2/150/367/1140/1
Entwicklung - Allgemein (3) - kein Anlegen von Threads möglich - kein Anlegen von Dateien möglich - keine Sockets öffnen + Automatische Skalierung wie bei z.B. BigTable, GFS (Google File System) max. 99,95 % Verfügbarkeit Google Developers - Laufzeit https://developers.google.com/appengine/docs/java/runtime?hl=de Heise - Cloud-Plattformen im Vergleich http://www.heise.de/microsites/cloud-computing-mit-windows-azure/cloud-plattformen-im-vergleich-was-bieten-windows-azure-google-app-engine-und-amazon-ec2/150/367/1140/1 Google Developers - Service Level Agreement https://developers.google.com/appengine/sla Google Developers - Why App Engine https://developers.google.com/appengine/whyappengine
Java - nicht alle Java-Klassen verfügbar (White List) - keine Klassen verfügbar, die Threads verwenden - Aufruf von JNI-Code nicht möglich - nicht gesamte Java EE-Spezifikation unterstützt - Reservieren einer JVM nicht möglich + Laden benutzerdefinierter Klassen unterstützt Klassenladeprogramme werden überschrieben Google Developers - Laufzeit https://developers.google.com/appengine/docs/java/runtime?hl=de
Kontingente Größe der Anfrage 10 Megabytes Größe der Antwort Dauer der Anfrage 30 Sekunden Max. Gesamtzahl von Dateien 3000 Max. Größe einer Anwendungdatei Max. Größe einer statischen Datei Max. Gesamtgröße aller Anwendungdateien und statischen Dateien 150 Megabyte Google Developers - Laufzeit https://developers.google.com/appengine/docs/java/runtime?hl=de
Administration + Web-basierte Verwaltungskonsole Monitoring, Kontingente, Logs, CronJobs, Indizes + geringer Konfigurationsaufwand - kein Zugriff auf Plattformsystem keine Tuningmöglichkeiten (bzgl. Server, Betriebssystem) Computerwoche - Plattformen für alle Fälle http://www.computerwoche.de/a/plattformen-fuer-alle-faelle,2524101,2 Google Developers - Verwaltungskonsole https://developers.google.com/appengine/docs/theadminconsole?hl=de
Sicherheit + Automatische Updates der Plattform + Sandbox keine native Python-Module, Java Bibliotheken whitegelistet keine langlebigen Prozesse (30 Sek.) keine Threads CronJob Intervalle > 1 min. HTTPS nur mit *.appspot.com (+ Google Zertifikat) - Server können weltweit verteilt sein (Rechtsproblematik)