- Google App Engine
-
Google App Engine appengine.google.com Kommerziell ja Beschreibung Platform as a Service Registrierung Google-Konto erforderlich Sprachen Englisch Eigentümer Google Inc. (mehr) Erschienen 7. April 2008[1] Google App Engine ist eine Plattform zum Entwickeln und Hosten von Webanwendungen auf den Servern von Google. Damit zählt sie zum sogenannten Platform-as-a-Service-Bereich (PaaS). Der Service ist unter gewissen Mengenbeschränkungen der genutzten Ressourcen kostenlos. Die Einschränkungen der kostenlosen Free Version umfassen unter anderem:
- 1 Applikation darf maximal 6.5 CPU-Stunden pro Tag verwenden.
- Die Seiten können unbegrenzt aufgerufen werden und hängen u.a. von den noch verfügbaren CPU-Stunden ab.
- Jeder Benutzer darf 10 Anwendungen erstellen.
- Mit dem Mail API dürfen höchstens 100 Mails pro Tag verschickt werden. (Früher noch 2000)
- Eingehender/Ausgehender Datenfluss maximal 1 GB pro Tag und maximal 56 MB pro Minute.
Weitere Ressourcen sind zukaufbar. Abgerechnet wird entsprechend dem tatsächlichen Mehrverbrauch. Mit einem Paid oder Premium Acccount gelten diese Beschränkungen nicht.
Inhaltsverzeichnis
Entwicklungsumgebung
Es steht Python 2.5.2 und 2.7 zur Verfügung. Seit April 2009 auch die Java VM mit allen Sprachen, die dafür implementiert wurden (Clojure, Groovy, Scala, und JRuby; offizieller Grails-Support angekündigt für Grails v1.1.1) [2]. Go wurde Mai 2011 als weitere unterstützte Sprache bekannt gegeben[3].
Services und Technologien
Google App Engine (GAE) stellt den Applikationen für beide Entwicklungsumgebungen verschiedene Services zur Verfügung, denen Google-Technologien zu Grunde liegen, die auch in anderen Google Applikationen und Dienstleistungen Verwendung finden:
Persistenz
Der "Datastore" ist ein verteilter Datenspeicherdienst mit Query-Engine und Transaktionssicherheit, aber ohne relationale Schemata, basierend auf dem Google "BigTable" Konzept. Für Java werden neben der Low Level API auch Teile von JDO und JPA unterstützt. Experimentell ist die relationale Datenbank Google Cloude SQL.
Authentifizierung
Basierend auf Google Accounts, d. h. User mit Google-Konto können sich bei Anwendungen anmelden.
URL Fetch
Applikationen können über die hochperformante Google-Infrastruktur auf Internetinhalte zugreifen.
Mail
Applikationen können E-Mails über die Google-E-Mail-Infrastruktur empfangen und versenden.
Memcache
Hochperformante In-Memory Cachefunktion für Daten, die nicht in der Persistenzschicht gelagert werden müssen, aber in multiplen Instanzen der Applikation zur Verfügung stehen sollen. Der Memcache basiert auf dem Open Source System Memcached.
Bildmanipulation
Drehen, Spiegeln, Vergrößern, Verkleinern und Zuschneiden von Bildern.
Server-Verhalten
Kommunikationsbeispiel
- 1. Client schickt Request an den Scheduler der Google App Engine (GAE)
- 2. GAE sucht anhand der URL nach entsprechender Applikation
- 3. Der am schnellsten reagierende Server wird für die Applikation ausgewählt
- 4. Die Request-Inhalte werden der Applikation übergeben und auf den Server geladen
- 5. Die Applikation wird auf dem Server gestartet und die verarbeiteten Daten als Response an die GAE zurückgeschickt
- 6. GAE schickt Response wieder an Client zurück
Applikationsverfügbarkeit
Die Applikation ist nicht permanent auf einem Server geladen. Um den Server zu entlasten, werden momentan nicht benötigte Applikationen nach 15 Minuten vom Server entfernt bzw. benötigte Applikationen kurzer Hand auf den Server geladen (siehe "Kommunikationsbeispiel"). Dies wirkt einer Überlastung des Servers entgegen, sichert aber gleichzeitig die Verfügbarkeit jeder Applikation.
Weblinks
- Vortrag auf www.loroma.com – Vortrag zur Google App-Engine bei der Google Technology User Group (GTUG) in Hamburg (deutsch)
- Artikel auf rohablog.wordpress.com - Architektur und Skalierung der Google App Engine
Einzelnachweise
- ↑ Paul McDonald: Introducing Google App Engine + our new blog. In: Google App Engine Blog. Google, 7. April 2008, abgerufen am 20. Juni 2011 (englisch).
- ↑ Java VM auf Google App Engine im Google Developer Blog
- ↑ http://googleappengine.blogspot.com/2011/05/app-engine-150-release.html
Wikimedia Foundation.