Python 2 wird von der Community nicht mehr unterstützt. Wir empfehlen die Migration von Python 2-Anwendungen zu Python 3.

App Engine

Regions-ID

REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Das Einbinden von REGION_ID.r in App Engine-URLs ist für vorhandene Anwendungen optional und wird bald für alle neuen Anwendungen erforderlich sein.

Für einen reibungslosen Übergang wird App Engine nach und nach für die Verwendung von Regions-IDs aktualisiert. Wenn Ihr Google Cloud-Projekt noch nicht aktualisiert wurde, wird für Ihre Anwendung keine Regions-ID angezeigt. Da die ID für vorhandene Anwendungen optional ist, müssen Sie keine URLs aktualisieren oder andere Änderungen vornehmen, wenn die Regions-ID für Ihre vorhandenen Anwendungen verfügbar wird.

Hier finden Sie weitere Informationen zu Regions-IDs.

Eine App Engine-Anwendung besteht aus einer einzelnen Anwendungsressource, die einen oder mehrere Dienste umfasst. Dabei kann jeder Dienst so konfiguriert werden, dass er unterschiedliche Laufzeiten verwendet und mit unterschiedlichen Leistungseinstellungen arbeitet. Innerhalb eines Dienstes stellen Sie Versionen dieses Dienstes bereit. Je nachdem, für wie viel Traffic Sie eine Version konfiguriert haben, wird diese dann auf einer oder mehreren Instanzen ausgeführt.

Anwendungskomponenten

Beim Anlegen einer Anwendungsressource wird die App Engine-Anwendung in Ihrem Google Cloud-Projekt erstellt. Die App Engine-Anwendung ist ein übergeordneter Container, der die Dienst-, Versions- und Instanzressourcen der Anwendung enthält. Alle Ressourcen für die App Engine-Anwendung werden in der von Ihnen ausgewählten Region erstellt, einschließlich des Anwendungscodes sowie der Einstellungen, Anmeldedaten und Metadaten der Anwendung.

Jede App Engine-Anwendung umfasst mindestens einen Dienst, den Standarddienst default, der je nach Abrechnungsstatus Ihrer Anwendung viele Versionen enthalten kann. Weitere Informationen finden Sie weiter unten unter Limits.

Das folgende Diagramm veranschaulicht die Hierarchie einer App Engine-Anwendung, die mit mehreren Diensten ausgeführt wird. Die Anwendung in diesem Diagramm umfasst zwei Dienste, die jeweils mehrere Versionen enthalten. Zwei dieser Versionen werden aktiv auf mehreren Instanzen ausgeführt:

Hierarchiegrafik der Dienste, Versionen und Instanzen einer Anwendung

Andere Google Cloud-Dienste wie Datastore werden in der App Engine-Anwendung gemeinsam genutzt. Weitere Informationen dazu finden Sie unter Webdienste strukturieren.

Dienste

Große Anwendungen lassen sich in App Engine mithilfe von Diensten in logische Komponenten aufteilen, die App Engine-Funktionen sicher gemeinsam nutzen und miteinander kommunizieren können. Normalerweise verhalten sich App Engine-Dienste wie Mikrodienste. Sie können die gesamte Anwendung also in einem einzigen Dienst ausführen oder mehrere Dienste entwickeln und bereitstellen, die sie dann als Gruppe von Mikrodiensten ausführen.

Eine Anwendung, die Kundenanfragen verarbeitet, kann also mehrere separate Dienste für verschiedene Aufgaben enthalten, z. B. jeweils einen Dienst für:

  • API-Anfragen von Mobilgeräten
  • Interne Verwaltungsanfragen
  • Back-End-Verarbeitung wie Abrechnungspipelines und Datenanalyse

Jeder Dienst in App Engine besteht aus dem Quellcode der Anwendung und den entsprechenden App Engine-Konfigurationsdateien. Die Dateien, die Sie für einen Dienst bereitstellen, bilden eine einzelne Version dieses Dienstes. Bei jeder weiteren Bereitstellung für diesen Dienst erstellen Sie zusätzliche Versionen innerhalb desselben Dienstes.

Versionen

Bei mehreren Versionen einer Anwendung in einem Dienst können Sie für Rollbacks, Tests oder andere temporäre Ereignisse mühelos zwischen den verschiedenen Versionen dieser Anwendung wechseln. Der Traffic lässt sich migrieren oder aufteilen und so an eine oder mehrere bestimmte Versionen der Anwendung weiterleiten.

Instanzen

Die Versionen in Ihren Diensten werden in einer oder mehreren Instanzen ausgeführt. Standardmäßig skaliert App Engine die Anwendung entsprechend der Arbeitslast. Die Anwendungen skalieren die Anzahl der ausgeführten Instanzen, sodass eine konsistente Leistung erzielt, die Anzahl von inaktiven Instanzen minimiert und die Kosten reduziert werden. Weitere Informationen zu Instanzen finden Sie unter Instanzverwaltung.

Anwendungsanfragen

Alle Dienste der Anwendung und jede Version in diesen Diensten müssen einen eindeutigen Namen haben. Mit diesen Namen können Sie dann Traffic über URLs an bestimmte Ressourcen weiterleiten. Beispiel:

https://VERSION_ID-dot-SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

Eingehende Nutzeranfragen werden an die Dienste oder Versionen weitergeleitet, die für die Verarbeitung von Traffic konfiguriert sind. Sie können Anfragen auch direkt an bestimmte Dienste und Versionen weiterleiten. Weitere Informationen finden Sie unter Anfragen verarbeiten.

Anwendungsanfragen loggen

Wenn die Anwendung eine Anfrage verarbeitet, kann sie auch eigene Loggingnachrichten in stdout und stderr schreiben. Ausführliche Informationen zu Anwendungslogs finden Sie unter Anwendungslogs schreiben.

Limits

Die maximale Anzahl von Diensten und Versionen, die bereitgestellt werden kann, hängt von der Preisgestaltung Ihrer Anwendung ab:

Limit Kostenlose Anwendung Kostenpflichtige Anwendung
Maximale Anzahl von Diensten pro Anwendung 5 105
Maximale Anzahl von Versionen pro Anwendung 15 210

Es besteht außerdem ein Limit für die Anzahl von Instanzen für jeden Dienst mit einfacher oder manueller Skalierung:

Maximale Anzahl von Instanzen pro manuell bzw. einfach skalierter Version
Kostenlose Anwendung Kostenpflichtige Anwendung USA Kostenpflichtige Anwendung EU
20 25 (200 für us-central) 25