kontakt

+49 421 20696 - 0
info@team-neusta.de

Google App Engine Beitragsbild

Platform as a Service von Google

Ich beschäftige mich seit knapp 2 Jahren mit dem Cloud Dienst Google App Engine. Seit dem hat sich viel getan, um den Platform as a Service(PaaS) Dienst, aber auch weitere Dienste haben sich im Rahmen der Google Cloud Platform zum Angebot für Firmen und Entwickler hinzugesellt.

Am vergangenen Montag habe ich beim Webmontag, einem Treffen für Webschaffenden und angeschlossenen Kaufleuten und Arbeitern in Bremen, einen Vortrag zu Google App Engine gehalten. Der Webmontag ist ein erst dieses Jahr wiederauferstandenes Treffen, bei dem ca. alle 3 Monate Vorträge aus verschiedenen Interessengebieten rund um das Thema Web gehalten werden. Anders als bei den regionalen Usergroups, wird weniger auf technische Aspekte eingegangen, sondern nur ein grober Einblick über das vorgetragene Thema gegeben. So gab es schon Vorträge über Technologien, wie “Angular.js” und “Drupal”, aber auch schon Vorstellung zum ersten erfolgreichen Kickstarter Projekt aus Bremen und zu der Erfolgsgeschichte der Bremer Website reishunger.de .

In diesem Jahr fanden alle drei Treffen in der alten Schnapsfabrik statt und wurden von bremen digitalmedia ausgerichtet. Vielen Dank an Andreas Dantz, der diese Treffen wieder ins Leben gerufen und organisiert hat. Bisher waren alle Treffen ein voller Erfolg. Auch bei dem Treffen am vergangenen Montag waren über 40 Bremer anwesend und haben gespannt meinem Vortrag gelauscht.

Bei diesem Vortrag konnte ich nicht auf bereits vorhandene Folien von mir zurückgreifen, da ich bisher immer technische Vorträge zu Google App Engine gehalten habe. Wenn ich beim Webmontag meine Präsentation sehr technisch gehalten hätte, hätte ich sicherlich die meisten abgehängt, also habe ich neue Präsentationsfolien erstellt.

Mit Google App Engine haben Entwickler die Möglichkeit ihre Webanwendungen auf den Google Servern zu entwickeln und zu hosten. Dabei muss man sich nicht, um die Wartung des Servers kümmern oder benötigte Softwarepakete aktualisieren. Aber man muss sich auf eine eingeschränkte Umgebung einstellen. Man hat zum Beispiel kein direkten Zugriff auf das Dateisystem des Systems auf dem die Webanwendung läuft. Um dieses Problem zu lösen, bietet Google verschiedene Schnittstellen an, die zum Beispiel das Versenden von Mails, das Manipulieren von Bildern aber auch die Speicherung von Dateien ermöglichen.

Die Plattform existiert nun seit 5 Jahren und ist seitdem stetig gewachsen. Anfangs konnten nur Python-Anwendungen auf Google App Engine gebracht werden, aber mittlerweile ist es auch möglich PHP, Google Go und auch alle Sprachen, die die Java Virtual Machine nutzen, zur Programmierung zu verwenden. Ebenfalls sind stetig neue APIs zum Dienst hinzugekommen, sodass die Möglichkeiten immer größer werden. 

Es gibt einige Aspekte, die ich an der Plattform sehr schätze. Wenn man für eine Webanwendung einen eigenen Server nutzt, kommt man bei Erfolg schnell an hohe Zugriffszahlen, die durch mehr Hardwareressourcen oder mehreren Servern schnell beantwortet werden können. Mit Google App Engine ist dies kein Thema mehr! Wenn sehr viel Zugriffe auf die Anwendung bestehen, werden zusätzliche Instanzen hinzugeschaltet, die die Last auffangen und sobald die Zugriffszahlen geringer werden, werden auch die Instanzen wieder abgeschaltet. Hierbei bezahlt der Besitzer der Anwendung nur soviel, wie er auch braucht. Es ist ebenfalls möglich für seine Anwendung verschiedene Versionen anzubieten und sogar auf diese Versionen ein Traffic Splitting vorzunehmen. So kann man bei der Einführung einer neuen Version zum Beispiel nur 10% aller Nutzer auf die neue Version leiten. Desweiteren wird eine Admin-Konsole angeboten, in der man Einstellungen ändern kann, aber auch eine Übersicht über die Instanzen, die Versionen und die Zugriffe auf die Anwendung und vieles mehr bekommt. Die Nutzung von App Engine ist bis zu einen bestimmten Punkt kostenlos. Hierbei gibt es für die Nutzung der Schnittstellen bestimmte Zugriffsgrenzen. Sobald diese überschritten werden, muss für die weitere Nutzung bezahlt werden. Das bedeutet, dass für kleine Anwendungen und Prototypen die Nutzung kostenlos ist.

Google App Engine ist nicht der einzige PaaS auf dem Markt. Es gibt genauso die Möglichkeit auf einen anderen Anbieter, wie Windows Azure oder Amazon Elastic Compute Cloud zu setzen. Hierbei muss man sicherlich die Bedürfnisse und vielleicht sogar Bedenken des Kunden berücksichtigen. Wenn man trotzdem auf Google App Engine setzen, aber die Applikation nicht auf den Google Servern hosten möchte, gibt es die Möglichkeit die Open Source Software AppScale einzusetzen. Diese Software kann auf dem eigenen Server, aber auch auf etlichen Infrastructure as a Service Diensten installiert werden und bietet die gleichen Funktionalitäten und Schnittstellen, wie Google App Engine. Lediglich beim automatischen Hinzuschalten von Instanzen müssen Abstriche gemacht werden.

Ich hoffe dieser Beitrag hat einen guten Einblick in Googles PaaS gegeben. Ich würde mich über Fragen und Feedback in den Kommentaren freuen :-)

Share