De kostprijs van Google Cloud Run inschatten
Wat kost Cloud Run? Drie kostscenario's en een spreadsheet om je eigen situatie in te schatten.
Dit artikel verscheen oorspronkelijk in het Engels in december 2020 op rlvs.eu.
Over Cloud Run
Het is moeilijk om niet onder de indruk te zijn van wat Google Cloud Run vandaag allemaal kan. De stateless en serverless GCP-dienst vierde onlangs zijn eerste verjaardag.
Omdat er geregeld nieuwe mogelijkheden bijkomen, groeit ook het aantal toepassingen. In veel van onze architectuurontwerpen bij vBridge krijgt Cloud Run een plaats op de eerste rij.
Maar wat kost het?
“Oké, je hebt mijn aandacht, maar .. wat met de prijs?” Zoals bij elke serverless technologie is het antwoord op die vraag meestal het begin van een nieuw gesprek: “dat hangt ervan af”. Helaas rijmt dat antwoord niet met wat de meeste bedrijven verwachten: zij willen vooraf een duidelijke kostenraming.
Voor je een gefundeerde gok kan doen, moet je eerst de applicatie leren kennen. Hoeveel RAM is er nodig? Hoe lang duurt het gemiddeld om een request te verwerken? Hoeveel CPU-cores zijn er nodig?
Om alles in perspectief te plaatsen, maakte ik een GSheet die van pas kan komen als je nog niet vertrouwd bent met Cloud Run. Er is rekening gehouden met de gratis laag, die ongeveer $5 per maand waard is.
Let wel: dit is geen wondermiddel voor de prijsberekening van Cloud Run:
- Uitgaand verkeer (egress) is niet meegerekend.
- Mogelijk heb je ook ondersteunende diensten nodig die niet gratis zijn (logging, container hosting, …).
- Een van de troeven van Cloud Run is dat een container meerdere requests (tot 80) tegelijk kan verwerken, zonder dat je daar extra voor betaalt. Dat effect is niet meegerekend, omdat het verkeerspatroon (pieken of gelijkmatig verkeer) onbekend is. Parallelle requests hebben een gunstig effect op de prijs, vooral op het geheugengedeelte…
Kostscenario 1
In een scenario met 512MB RAM, 1 CPU en gemiddeld 0,6s per request:
Zoals je ziet, is de prijs voor de requests zelf verwaarloosbaar.
Kostscenario 2
In een scenario met 1GB RAM, 1 CPU en gemiddeld 1s per request:
Kostscenario 3
Dit scenario zou een backenddienst kunnen zijn die wat zwaardere taken verwerkt: 4s/request, 4GB RAM, 2 CPU
Jouw kostscenario
Voel je vrij om de GSheet die ik voor deze post gebruikte te kopiëren en ermee te experimenteren.
Tot slot
Ik heb het aantal requests in de simulaties bewust beperkt tot 3 miljard per maand. Bij meer requests spelen andere effecten mee, en kies je misschien om extra cloudcomponenten uit te nodigen op het feest: load balancing, cachinglagen, CDN, …
Al die bewegende delen maken deze schatting minder bruikbaar.