Instanzverwaltung

Instanzen sind Recheneinheiten, die von App Engine zur automatischen Skalierung einer Anwendung verwendet werden. Ihre Anwendung kann jederzeit auf einer oder mehreren Instanzen ausgeführt werden, wobei Anfragen auf alle Instanzen verteilt werden.

Instanzen mit manueller und einfacher Skalierung sollten unbegrenzt laufen, es gibt jedoch keine Verfügbarkeitsgarantie. Hardware- oder Softwarefehler, die zu einer vorzeitigen Beendigung oder zu häufigen Neustarts führen, können ohne Vorwarnung auftreten und viel Zeit für die Behebung in Anspruch nehmen.

Alle flexiblen Instanzen werden wöchentlich neu gestartet. Beim Neustart werden kritische, abwärtskompatible Aktualisierungen automatisch auf das zugrunde liegende Betriebssystem übertragen. Das Image Ihrer Anwendung ändert sich bei Neustarts nicht.

Systemdiagnosen

App Engine sendet regelmäßig Systemdiagnoseanfragen, um zu überprüfen, ob eine Instanz erfolgreich bereitgestellt wurde und ob eine ausgeführte Instanz weiterhin fehlerfrei ausgeführt wird. Jede Systemdiagnoseanfrage muss in einem festgelegten Zeitintervall beantwortet werden. Eine Instanz ist fehlerhaft, wenn sie auf eine festgelegte Anzahl aufeinanderfolgender Systemdiagnoseanfragen nicht antwortet. Eine fehlerhafte Instanz erhält keine Clientanfragen mehr, es werden aber weiterhin Systemdiagnosen gesendet. Wenn eine fehlerhafte Instanz weiterhin nicht auf eine vorher festgelegte Anzahl aufeinanderfolgender Systemdiagnosen antwortet, wird sie neu gestartet.

Es werden zwei Arten von Systemdiagnosen verwendet: Aktivität und Bereitschaft. Mit Aktivitätsprüfungen wird ermittelt, ob eine Instanz und ihr Container ausgeführt werden. Sie starten alle Instanzen neu, bei denen die Prüfung fehlschlägt. Mit Bereitschaftsprüfungen wird festgestellt, ob eine Instanz eingehende Anfragen annehmen kann. Sie leiten Anfragen nicht an Instanzen weiter, die die Prüfung nicht bestehen. Beide können über die Datei app.yaml Ihrer Anwendung angepasst werden.

Eine fehlerfreie Anwendung sollte auf eine Systemdiagnose mit dem HTTP-Statuscode 200 antworten.

Ressourcenauslastung überwachen

Auf der Seite "Instanzen" der Cloud Console wird die Leistung Ihrer Instanzen angezeigt. Sie erhalten auf dieser Seite die Speicher- und CPU-Auslastung jeder Instanz, die Betriebszeit, die Anzahl der Anfragen und weitere statistische Werte. Sie können die Instanzen hier auch manuell herunterfahren.

Instanzstandort

Die Instanzen werden gemäß den Projekteinstellungen automatisch in den entsprechenden geografischen Regionen positioniert.

Instanzskalierung

Bei der Ausführung einer Anwendung werden eingehende Anfragen an eine vorhandene oder neue Instanz des entsprechenden Dienstes bzw. der entsprechenden Version weitergeleitet. Für jede aktive Version muss mindestens eine Instanz ausgeführt werden. Der Skalierungstyp eines Diensts bzw. einer Version steuert das Erstellen von zusätzlichen Instanzen. Die Skalierungseinstellungen werden in der Datei app.yaml konfiguriert. Es gibt zwei Skalierungstypen:

Autoscaling
Beim Autoscaling werden Instanzen auf der Grundlage von Anfragerate, Antwortlatenz und anderen Anwendungsmesswerten erstellt. Sie können für jeden dieser Messwerte Schwellenwerte sowie die Mindestanzahl an Instanzen angeben, die immer ausgeführt werden sollen.
Manuelle Skalierung
Bei der manuellen Skalierung wird die Anzahl der Instanzen festgelegt, die unabhängig von der Arbeitslast kontinuierlich ausgeführt werden. Dadurch sind Aufgaben wie z. B. komplexe Initialisierungen und Anwendungen möglich, die im Zeitverlauf vom Speicherstatus abhängig sind.