tre enkla steg för att spara kostnader vid prototyper med Appmotorn flexibel miljö

tre enkla steg för att spara kostnader vid prototyper med Appmotorn flexibel miljö

Sandeep Dinesh

följ

Juni 28, 2016 · 4 min läs

om du någonsin har använt Google App Engine, vet du att det är ett av de snabbaste sätten att komma från idé till att arbeta prototyp., Så länge du följer sandboxrestriktionerna behöver du inte ställa in servrar, installera paket eller göra några av de tråkiga bedrägliga uppgifterna som saktar ner dig.

med introduktionen av App Engine Flexible Environment (tidigare känt som Managed VMs) lyfte Google många av sandboxrestriktionerna och lade till fler inbyggda runtimes inklusive Node.js och Ruby. Du kan även anpassa allt genom att ange din egen Dockerfile!

se jämförelsen här.

denna flexibilitet kommer dock till ett pris., Den flexibla miljön är långsammare att distribuera och kan inte skala så snabbt som Standardmiljön. Standarddistributionen är också overkill för prototypning.

den största skillnaden enligt min mening är bristen på ”skala till noll.”Med App Engine Standard, om ingen använder din applikation stänger den allt ner. När en användare besöker, snurrar Appmotorn upp en instans i millisekunder för att betjäna den nya förfrågan. I kombination med den generösa fria nivån behöver du inte oroa dig för infrastrukturkostnader för prototyper., För närvarande behöver den flexibla miljön minst en instans som körs för att betjäna trafik och det finns ingen fri nivå.

låt oss ta en titt på några bästa metoder för prototyper med den flexibla miljön som kan minimera kostnaden.

2019 Uppdatering: jag rekommenderar starkt att du använder Cloud Run istället för App Engine Flex för de flesta uppgifter. Enligt min mening blandar det bäst från App Engine Standard (betala per användning, skala till noll) med App Engine Flex (flexibilitet, Dockerfiles). Den enda stora fördelen Flex har är de större instansen storlekar.,

låt oss starta en nod.JS app på App Engine flexibel miljö. Standardappen.yaml ser ut ungefär så här:

runtime: nodejs
env: flex

Använda det med gcloud kommando:

$ gcloud app deploy

Efter att distribuera appen, vi kan kolla på ”Fall” i App Engine för att se följande:

Som standard, det lanserar två n1-standard-1 VMs., Detta är utformat för att ge högre tillförlitlighet.

låt oss titta på den månatliga kostnaden för denna distribution. Jag har konfigurerat den här standarddistributionen i Google Cloud Pricing Calculator här.

det är över $80 per månad!

även om detta pris skulle vara bra om du serverade produktionstrafik, är det ganska löjligt i prototypstadiet.

steg ett: minska antalet instanser

Vi kan minska vår kostnad i hälften genom att lansera en instans istället för två. Gör detta genom att slå på manuell skalning (du behöver inte autoscaling för en prototyp) och ställa in instanserna till 1., Du kan läsa mer om skalning här.

ändra appen.yaml:

runtime: nodejs
env: flex
manual_scaling:
instances: 1

detta kommer att minska vår kostnad från cirka $80 till $40! Snyggt!

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *