Google App Engine
Der Suchmaschinenbetreiber hat seit 2008 Plattform-Services im Portfolio. Die "Google App Engine" (GAE) unterstützt Java-, Python- und Go-Programmiersprachen. Letztere wurde von Google-Mitarbeitern entwickelt und orientiert sich an der C-Sprache. Die Abrechnung der verwendeten Services hängt bei GAE etwa vom verwendeten Speicher und der CPU-Zeit ab. Wie bei Elastic Beanstalk bekommt der Nutzer einen kostenlosen Zugang. Google stellt Programmierern ein Kontingent zur Verfügung (6,5 CPU-Stunden pro Tag und zehn Anwendungen). Um keine Kostenexplosion zu verursachen, lässt sich ein Budget festlegen. Eine GAE for Business ist für Anwendungen innerhalb eines Unternehmens gedacht. Hier rechnet Google pro Anwendung und Nutzer ab.
Im Gegensatz zum Angebot von AWS bekommen die Kunden keinen Zugriff auf die Plattformeinstellungen. Da Google bei einer höheren Last nicht automatisch weitere Rechner zuschaltet, sondern die Ressourcen einer Maschine nutzt, können Anwendungen auf einem oder verschiedenen Servern laufen. Grundsätzlich bietet das Unternehmen nur eine beschränkte Programmierumgebung. Der Entwickler erhält keinen Zugriff auf das Dateisystem, und ein Request darf nicht länger als 30 Sekunden Bearbeitungszeit beanspruchen.
Lokale Tests möglich
Einige Java-Umgebungen bleiben aufgrund massiver Einschränkungen außen vor oder lassen sich nur unter großem Aufwand betreiben. Für Java-Entwickler bietet Google ein Plugin für Eclipse an. Möchte man Applikationen auf dem eigenen Computer testen, kann sich der Programmierer ein Software Development Kit herunterladen. Das Tool integriert eine Kommandozeilen-Steuerung für lokale Veränderungen.
Die Daten werden entweder in einer NoSQL-, MySQL- oder der neuen relationalen Datenbank "Google Cloud SQL" abgelegt, die aber nur in der Business-Version verfügbar ist. An zusätzlichen Funktionen stehen für den Kunden In-Memory Cache, Instant Messaging, Bildverarbeitungs-Tools und der hauseigene E-Mail-Service bereit. Die Registrierung für GAE läuft über das Google-Konto, womit auch andere Google-Dienste abrufbar sind. Die konventionelle GAE eignet sich in erster Linie für kleine Entwicklungen. Da der Programmierer keinen Zugriff auf die Bedienung bekommt, ist das Feinjustieren von Server und Betriebssystem nicht möglich. Wer umfangreiche Java-Anwendungen erarbeiten möchte, könnte mit der App Engine von Google Probleme bekommen.
Google App Engine
Vorteile:
-
freies CPU- und App-Kontingent
-
festes Budget
-
Entwicklung offline möglich
-
etablierter Anbieter
Nachteile:
-
kein Zugriff auf Plattformsystem
-
Einschränkungen bei Java-Programmierumgebung
-
Bearbeitungszeit der Request maximal 30 Sekunden