Ha már használtad a Google App Engine, tudod, hogy ez az egyik leggyorsabb módja, hogy az ötlet működőképes prototípust., Mindaddig, amíg megfelel a homokozó korlátozásainak, nem kell kiszolgálókat beállítania, csomagokat telepítenie, vagy elvégeznie az unalmas DevOps feladatokat, amelyek lelassítják Önt.
a bevezetés az App Engine Rugalmas Környezet (korábban ismert Sikerült VMs), a Google emelte sok a homokozóban korlátozások, ki több beépített futásidejével kapcsolatosan, beleértve a Csomópont.js és Ruby. Akkor is testre mindent megadásával saját Dockerfile!
lásd az összehasonlítást itt.
Ez a rugalmasság azonban áron jön., A rugalmas környezetet lassabban lehet telepíteni, és nem lehet olyan gyorsan méretezni, mint a szokásos környezetet. Az alapértelmezett telepítés túltöltődik a prototípuskészítéshez is.
véleményem szerint a legnagyobb különbség a “skála nullára” hiánya.”Az App Engine Standard segítségével, ha senki sem használja az alkalmazást, akkor mindent leáll. Abban a pillanatban, amikor a felhasználó meglátogatja, az App Engine milliszekundumokban feltör egy példányt az új kérés kiszolgálására. A nagylelkű ingyenes szinttel kombinálva nem kell aggódnia a prototípusok infrastrukturális költségei miatt., Jelenleg a rugalmas környezetnek legalább egy példány futásra van szüksége a forgalom kiszolgálásához, nincs szabad szint.
vessünk egy pillantást a rugalmas környezettel történő prototípus-készítés néhány legjobb gyakorlatára, amelyek minimalizálhatják a költségeket.
2019 frissítés: nagyon ajánlom a Cloud Run használatát az App Engine Flex helyett a legtöbb feladathoz. Véleményem szerint a legjobbat az App Engine Standard (használatonként fizetni, skála nullára) ötvözi az App Engine Flex (rugalmasság, Dockerfiles) alkalmazással. A Flex egyetlen nagy előnye a nagyobb példányméretek.,
indítsunk el egy csomópontot.js app App App Engine rugalmas környezetben. Az alapértelmezett alkalmazás.yaml valahogy így néz ki:
runtime: nodejs
env: flex
Telepíteni a gcloud parancs:
$ gcloud app deploy
telepítése Után az alkalmazás, megnézzük a “Esetek” című részben, az App Engine, hogy lásd a következő:
alapértelmezés szerint, ez indított két n1-standard-1 VMs., Ezt úgy tervezték, hogy nagyobb megbízhatóságot biztosítson.
nézzük meg a telepítés havi költségeit. Itt konfiguráltam ezt az alapértelmezett telepítést a Google Cloud Pricing Calculator alkalmazásban.
Ez több mint $80 havonta!
bár ez az ár rendben lenne, ha a termelési forgalmat szolgálná fel, a prototípuskészítés szakaszában elég nevetséges.
első lépés: csökkentse az esetek számát
a költségeket felére csökkenthetjük úgy, hogy egy példányt indítunk kettő helyett. Ehhez kapcsolja be a kézi méretezést (a prototípushoz nincs szükség automatikus méretezésre), majd állítsa az példányokat 1-re., A méretezésről bővebben itt olvashat.
módosítsa az alkalmazást.yaml:
runtime: nodejs
env: flex
manual_scaling:
instances: 1
Ez körülbelül 80 dollárról 40 dollárra csökkenti költségeinket! Szép!