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. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.

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 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 eine gesamte Anwendung also in einem einzigen Dienst ausführen oder mehrere Dienste entwickeln und bereitstellen, sodass sie als eine Gruppe von Mikrodiensten ausgeführt werden.

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.

In der flexiblen App Engine-Umgebung werden Instanzen von Compute Engine-Ressourcen unterstützt. Einige der Ressourcen, die von Instanzen in der flexiblen App Engine-Umgebung verwendet werden, z. B. Laufwerk, CPU und Arbeitsspeicher, werden auf die Compute Engine API-Kontingente Ihres Projekts angerechnet. Weitere Informationen zur Verwendung von Compute Engine-Ressourcen in App Engine finden Sie in der Übersicht zur flexiblen App Engine-Umgebung.

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-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Beachten Sie, dass bei der kombinierten Länge von VERSION-dot-SERVICE-dot-PROJECT_ID, wobei VERSION der Name Ihrer Version, SERVICE der Name des Dienstes und PROJECT_ID Ihre Projekt-ID ist, die maximal 63 Zeichen lang sein und nicht mit einem Bindestrich beginnen oder enden darf. Wenn die kombinierte Länge mehr als 63 Zeichen beträgt, wird möglicherweise Fehler DNS address could not be found. angezeigt.

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 Kommunikation zwischen Diensten.

Anwendungsanfragen protokollieren

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 Anzahl der Dienste, Versionen und Instanzen (für Dienste mit manueller Skalierung) ist für die einzelnen Anwendungen begrenzt:

Beschreibung Limit
Maximale Anzahl von Diensten pro Anwendung 5
Maximale Anzahl von Versionen pro Anwendung 5*
Maximale Anzahl von Instanzen pro Version mit manueller Skalierung 20

* Back-End-Dienste, die beispielsweise von einem externen HTTP-Load-Balancer verwendet werden, können gegebenenfalls auf das maximale Versionslimit angerechnet werden.

Auch die Anzahl der Zeichen in der URL Ihrer Anwendung ist begrenzt.

Beschreibung Limit
Maximale Zeichen im Projekt-URL für die URL VERSION-dot-SERVICE-dot-PROJECT_ID 63

Die oben genannten Limits gelten nicht für alle Projekte. Wenn Sie die Google Cloud Platform im Laufe der Zeit stärker nutzen, können sich Ihre Limits entsprechend erhöhen. Wenn Sie eine deutlich stärkere Auslastung erwarten, können Sie proaktiv Anpassungen über die Seite „App Engine-Kontingente“ in der Google Cloud Console anfordern.