Sie können Ihre Anwendungen in App Engine mithilfe der flexiblen App Engine-Umgebung oder der App Engine-Standardumgebung ausführen. Sie haben außerdem die Möglichkeit, beide Umgebungen gleichzeitig für Ihre Anwendung zu verwenden, damit Ihre Dienste von den Vorteilen beider Umgebungen profitieren.
App Engine-Umgebungen
App Engine eignet sich gut für Anwendungen, die mit einer Mikrodienstarchitektur entworfen wurden, insbesondere, wenn Sie sich für die Verwendung beider Umgebungen entscheiden. In den folgenden Abschnitten erfahren Sie, welche Umgebung den Anforderungen Ihrer Anwendung am besten entspricht.
Kriterien für die Auswahl der Standardumgebung
Anwendungsinstanzen werden in einer Sandbox unter Verwendung der Laufzeitumgebung einer unten aufgeführten unterstützten Sprache ausgeführt.
Anwendungen, die eine schnelle Skalierung meistern müssen.
Die Standardumgebung ist optimal für Anwendungen mit folgenden Eigenschaften geeignet:
- Die Anwendung soll kostenlos oder mit sehr niedrigen Kosten ausgeführt werden, wobei Sie nur für die tatsächliche Nutzung bezahlen. Beispielsweise kann Ihre Anwendung auf 0 Instanzen skalieren, wenn kein Traffic vorhanden ist.
- Es treten plötzliche und extreme Trafficspitzen auf, die eine sofortige Skalierung erfordern.
Kriterien für die Auswahl der flexiblen Umgebung
Anwendungsinstanzen werden in Docker-Containern auf virtuellen Maschinen (VMs) von Compute Engine ausgeführt.
Anwendungen, die konsistenten Traffic empfangen, regelmäßige Trafficschwankungen verzeichnen oder die Parameter für eine schrittweise Hoch- und Herunterskalierung erfüllen.
Die flexible Umgebung ist optimal für Anwendungen mit folgenden Eigenschaften geeignet:
- Die Anwendung wird in einem Docker-Container ausgeführt, der eine benutzerdefinierte Laufzeit enthält oder Quellcode, der in anderen Programmiersprachen geschrieben wurde.
- Verwendet Frameworks, die nativen Code enthalten, oder hängt von diesen ab
- Greift auf die Ressourcen oder Dienste Ihres Google Cloud-Projekts zu, die sich im Compute Engine-Netzwerk befinden.
Grundlegende Funktionen vergleichen
In der folgenden Tabelle werden die Unterschiede zwischen den beiden Umgebungen zusammengefasst:
Option | Standardumgebung | Flexible Umgebung |
---|---|---|
Startzeit von Instanzen | Sekunden | Minuten |
Maximales Zeitlimit für Anfragen | Hängt von der Laufzeit und Art der Skalierung ab. | 60 Minuten |
Hintergrundthreads | Ja, mit Einschränkungen | Ja |
Hintergrundprozesse | Nein | Ja |
SSH-Fehlerbehebung | Nein | Ja |
Skalierung | Manuell, einfach, automatisch | Manuell, automatisch |
Skalierung auf null | Ja | Nein, mindestens eine Instanz |
Auf lokales Laufwerk schreiben |
Lese- und Schreibzugriff auf das Verzeichnis /tmp .
|
Ja, ephemerisch (Laufwerk wird bei jedem VM-Start initialisiert) |
Laufzeitänderung | Nein | Ja (über Dockerfile) |
Bereitstellungszeit | Sekunden | Minuten |
Automatische direkte Sicherheitspatches | Ja | Ja (ausgenommen Container-Image-Laufzeit) |
Zugriff auf Google Cloud APIs und Google-Dienste wie Cloud Storage, Cloud SQL, Memorystore Google Tasks und andere. | Ja | Ja |
WebSockets | Nein | Ja |
Unterstützung der Installation von Drittanbieter-Binärdateien | Ja | Ja |
Standort | Standorte für die Standardumgebung | Standorte für die flexible Umgebung |
Preise | Beruht auf Instanzstunden | Beruht auf der Nutzung von vCPU, Arbeitsspeicher und nichtflüchtigen Speichern |
Weitere Informationen finden Sie im Vergleich der Umgebungen.
Flexible Umgebung und Compute Engine im Vergleich
In der flexiblen App Engine-Umgebung gibt es folgende Unterschiede zu Compute Engine:
Die VM-Instanzen der flexiblen Umgebung werden wöchentlich neu gestartet. Dabei werden alle erforderlichen Betriebssystem- und Sicherheitsupdates durch die Verwaltungsdienste von Google angewendet.
Sie haben immer Root-Zugriff auf die VM-Instanzen in Compute Engine. Standardmäßig ist der SSH-Zugriff auf die VM-Instanzen in der flexiblen Umgebung deaktiviert. Wenn Sie möchten, können Sie den Root-Zugriff auf die VM-Instanzen Ihrer Anwendung aktivieren.
Codebereitstellungen können länger dauern, da Container-Images mithilfe des Cloud Build-Diensts erstellt werden.
Die geografische Region einer VM-Instanz in der flexiblen Umgebung wird durch den Speicherort bestimmt, den Sie für die App Engine-Anwendung Ihres Google Cloud Projekts angeben. Die Verwaltungsdienste von Google sorgen dafür, dass die VM-Instanzen für eine optimale Leistung den gleichen Standort haben.
Von der Standardumgebung zur flexiblen Umgebung migrieren
Wenn Sie eine Anwendung in der Standardumgebung haben, ist es unter Umständen empfehlenswert, einige Dienste in die flexible Umgebung zu verschieben. Weitere Informationen finden Sie in den Empfehlungen zum Vergleich der Umgebungen.
Informationen zum Migrieren bestimmter Dienste für Python, Java, Go und PHP finden Sie unter Dienste von der Standardumgebung zur flexiblen Umgebung migrieren.
Überzeugen Sie sich selbst
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit der Ruby-Standardumgebung in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Ruby-Standardumgebung kostenlos testen