Wenn Sie jemals Google App Engine verwendet haben, wissen Sie, dass es eine der schnellsten Möglichkeiten ist, von der Idee zum funktionierenden Prototyp zu gelangen., Solange Sie die Sandbox-Einschränkungen einhalten, müssen Sie keine Server einrichten, Pakete installieren oder mühsame DevOps-Aufgaben ausführen, die Sie verlangsamen.
Mit der Einführung der flexiblen App Engine-Umgebung (früher als verwaltete VMs bekannt) hat Google viele der Sandbox-Einschränkungen aufgehoben und weitere integrierte Laufzeiten einschließlich Node hinzugefügt.js und Ruby. Sie können sogar alles anpassen, indem Sie Ihre eigene Dockerfile angeben!
Siehe den Vergleich hier.
diese Flexibilität hat Jedoch Ihren Preis., Die flexible Umgebung ist langsamer bereitzustellen und kann nicht so schnell skaliert werden wie die Standardumgebung. Die Standardbereitstellung ist auch für das Prototyping übertrieben.
Der größte Unterschied meiner Meinung nach ist das Fehlen von “ Skala auf Null.“Mit App Engine Standard wird alles heruntergefahren, wenn niemand Ihre Anwendung verwendet. In dem Moment, in dem ein Benutzer besucht wird, dreht App Engine eine Instanz in Millisekunden auf, um die neue Anforderung zu erfüllen. In Kombination mit der großzügigen kostenlosen Stufe müssen Sie sich nicht wirklich um Infrastrukturkosten für Prototypen kümmern., Derzeit benötigt die flexible Umgebung mindestens eine Instanz, die ausgeführt wird, um Datenverkehr bereitzustellen, und es gibt keine freie Ebene.
Schauen wir uns einige Best Practices für das Prototyping mit der flexiblen Umgebung an, die die Kosten minimieren können.
2019 Update: Ich empfehle dringend, Cloud Run anstelle von App Engine Flex für die meisten Aufgaben zu verwenden. Meiner Meinung nach verbindet es das Beste aus App Engine Standard (Pay per Use, Skalierung auf Null) mit App Engine Flex (Flexibilität, Dockerfiles). Der einzige große Vorteil, den Flex hat, sind die größeren Instanzgrößen.,
Starten wir einen Knoten.js App auf App Engine Flexible Umgebung. Die Standard-app.yaml sieht ungefähr so aus:
runtime: nodejs
env: flex
Stellen Sie es mit dem Befehl gcloud bereit:
$ gcloud app deploy
Nach der Bereitstellung der App können wir den Abschnitt „Instanzen“ der App Engine überprüfen, um Folgendes anzuzeigen: