Drei einfache Schritte, um Kosten zu sparen, wenn Prototyping mit der App Engine Flexible Environment

Drei einfache Schritte, um Kosten zu sparen, wenn Prototyping mit der App Engine Flexible Environment

Sandeep Dinesh

Folgen

Jun 28, 2016 · 4 min lesen
/div>

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:

Standardmäßig werden zwei n1-Standard-1-VMs gestartet., Dies soll eine höhere Zuverlässigkeit bieten.

schauen wir uns die monatlichen Kosten für diese Bereitstellung. Ich habe diese Standardbereitstellung im Google Cloud-Preisrechner hier konfiguriert.

Es ist über $80 pro Monat!

Während dieser Preis in Ordnung wäre, wenn Sie den Produktionsverkehr bedienen würden, ist es in der Prototyping-Phase ziemlich lächerlich.

Schritt eins: Anzahl der Instanzen reduzieren

Wir können unsere Kosten halbieren, indem wir eine statt zwei Instanzen starten. Aktivieren Sie dazu die manuelle Skalierung (für einen Prototyp ist keine automatische Skalierung erforderlich) und setzen Sie die Instanzen auf 1., Sie können hier mehr über Skalierung lesen.

Ändern Sie die app.yaml:

runtime: nodejs
env: flex
manual_scaling:
instances: 1

Dadurch werden unsere Kosten von etwa 80 auf 40 US-Dollar gesenkt! Schön!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.