Drie Eenvoudige Stappen om Kosten te Besparen bij Prototyping van de google App Engine-Flexibele Omgeving

Drie Eenvoudige Stappen om Kosten te Besparen bij Prototyping van de google App Engine-Flexibele Omgeving

Sandeep Dinesh

Volgen

Jun 28, 2016 · 4 min lezen

Als je ooit hebt gebruikt Google App Engine, weet je, het is één van de snelste manieren om van idee tot werkend prototype., Zolang u zich aan de beperkingen van de sandbox houdt, hoeft u geen servers in te stellen, pakketten te installeren of een van de vervelende DevOps-taken uit te voeren die u vertragen.

met de introductie van de App Engine flexibele omgeving (voorheen bekend als Managed VMs), Google opgeheven veel van de sandbox beperkingen en voegde meer ingebouwde runtimes, waaronder Node.js en Ruby. U kunt zelfs alles aanpassen door uw eigen Dockerfile op te geven!

zie de vergelijking hier.

deze flexibiliteit heeft echter een prijs., De flexibele omgeving is langzamer te implementeren en kan niet zo snel schalen als de standaardomgeving. De standaard implementatie is ook overkill voor prototyping.

het grootste verschil in mijn mening is het ontbreken van ” schaal tot nul.”Met App Engine Standard, als niemand gebruik maakt van uw applicatie het sluit alles af. Het moment dat een gebruiker bezoekt, App Engine draait een instantie in milliseconden om het nieuwe verzoek te dienen. In combinatie met de royale gratis tier hoeft u zich geen zorgen te maken over de infrastructuurkosten voor prototypes., Momenteel heeft de flexibele omgeving ten minste één instantie nodig om het verkeer te bedienen en er is geen gratis tier.

laten we eens kijken naar een aantal best practices voor prototyping met de flexibele omgeving die de kosten kunnen minimaliseren.

2019 Update: ik raad ten zeerste aan om Cloud Run te gebruiken in plaats van App Engine Flex voor de meeste taken. Naar mijn mening, het combineert het beste van App Engine Standard (pay per use, schaal tot nul) met App Engine Flex (flexibiliteit, Dockerfiles). Het enige grote voordeel van Flex is de grotere instance maten.,

laten we een knooppunt starten.js app op App Engine flexibele omgeving. De standaard app.yaml er ongeveer zo uit ziet:

runtime: nodejs
env: flex

het Implementeren van het met de gcloud commando:

$ gcloud app deploy

Na het implementeren van de app, kunnen we check out de “Instanties” sectie van de App Engine zie je het volgende:

standaard het lanceert twee n1-standaard-1 vm ‘ s., Dit is ontworpen om een hogere betrouwbaarheid te bieden.

laten we eens kijken naar de maandelijkse kosten voor deze implementatie. Ik heb de deze standaard implementatie geconfigureerd in de Google Cloud Pricing Calculator hier.

Het is meer dan $ 80 per maand!

hoewel deze prijs prima zou zijn als je het productieverkeer zou bedienen, is het behoorlijk belachelijk in de prototyping fase.

stap één: verminder het aantal instanties

we kunnen onze kosten halveren door één instantie te starten in plaats van twee. Doe dit door handmatig schalen aan te zetten (je hebt geen autoscaling nodig voor een prototype) en de instances in te stellen op 1., Lees hier meer over schalen.

Wijzig de app.yaml:

runtime: nodejs
env: flex
manual_scaling:
instances: 1

Dit zal onze kosten verminderen van ongeveer $80 naar $40! Mooi!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *