
AWS Lambda ali Cloudflare Workers: cena zahteve ne pove zakasnitve

Pri izbiri med AWS Lambda in Cloudflare Workers je odločilno, koliko časa zahteva dejansko računa in koliko ga porabi za čakanje. Za kratek API je lahko Lambda cenejša od paketa Workers Paid; pri daljšem čakanju na omrežje se lahko stroškovno razmerje obrne. Nobeden od teh računov pa sam po sebi ne pove, kdaj bo uporabnik dobil odgovor.
Primerjati je treba tri ločene stvari: mesečni strošek, zakasnitev celotne zahteve in omejitve izvajalnega okolja. Pomembno je tudi, kje so podatki. Izvajanje blizu uporabnika lahko izgubi prednost, če mora funkcija pri vsaki zahtevi čakati na podatkovno zbirko v oddaljeni regiji.
Kaj sestavlja račun
Po ceniku AWS Lambda običajna funkcija plačuje zahteve in trajanje glede na dodeljeni pomnilnik: mesečni brezplačni obseg zajema milijon zahtev in 400.000 GB-sekund, cena nad njim pa je v obravnavanem prvem razredu za x86 v regiji US East (Ohio) 0,20 USD za milijon zahtev ter 0,0000166667 USD za GB-sekundo. GB-sekunde so zmnožek trajanja izvajanja in pomnilnika v gigabajtih. Več dodeljenega pomnilnika pomeni tudi več procesorskih virov, zato lahko spremeni tako trajanje kot strošek.
Po ceniku Cloudflare Workers paket Paid stane najmanj 5 USD na mesec in vključuje 10 milijonov zahtev ter 30 milijonov milisekund procesorskega časa; presežek stane 0,30 USD za milijon zahtev in 0,02 USD za milijon procesorskih milisekund. Stensko trajanje, tudi čakanje na omrežje, pri Workers ni obračunska postavka. Cloudflare za prenos podatkov Workers ne zaračuna dodatno, uporabljena shramba in druge storitve pa imajo lahko svoje cene.
Obstaja tudi Workers Free, zato mesečni minimum paketa Paid ni splošna najnižja cena uporabe Workers. Pri majhnem prometu lahko zahteva ustreza brezplačnemu paketu ene ali obeh storitev; brezplačni Workers ima strožje omejitve števila zahtev in procesorskega časa na posamezno izvajanje. Naslednji izračuni namenoma primerjajo plačljivi Workers z običajno funkcijo Lambda.
Trije pogojni mesečni izračuni
Izračuni predpostavljajo ločen račun z v celoti razpoložljivim brezplačnim obsegom, funkcijo Lambda na x86 v navedeni regiji in paket Workers Paid. Časi so pogojne vhodne vrednosti, ne rezultati preizkusa hitrosti. Enaka naloga lahko na platformah porabi različno količino procesorskega časa in doseže različno zakasnitev.
- Kratek odgovor API. Pri pogojnih 12 milijonih zahtev mesečno Lambda s 128 MB pomnilnika in 10 ms trajanja na zahtevo porabi 15.000 GB-sekund. Plačati je treba le 11 milijonov zahtev nad brezplačnim obsegom, kar znese 2,20 USD. Workers z 2 ms procesorskega časa na zahtevo ostane znotraj vključenega procesorskega obsega, vendar preseže vključeno število zahtev: njegov račun znaša 5,60 USD.
- Čakanje na omrežje. Pri enakih 12 milijonih zahtev naj Lambda s 512 MB deluje 250 ms na zahtevo, Workers pa za obdelavo porabi 10 ms procesorja; preostali čas pogojno odpade na čakanje. Lambda tako porabi 1,5 milijona GB-sekund in skupaj stane približno 20,53 USD. Workers porabi 120 milijonov procesorskih milisekund in skupaj stane 7,40 USD. Nižji račun ne pomeni, da je zunanji odgovor prispel hitreje.
- Računsko zahtevna funkcija. Pri pogojnih 100.000 zahtevah, od katerih vsaka potrebuje 10 sekund aktivnega računanja, Lambda z 1 GB pomnilnika po odštetem brezplačnem obsegu stane približno 10 USD. Če Workers za vsako zahtevo porabi 10 sekund procesorja, je račun približno 24,40 USD. Enako predpostavljeno trajanje je tu namenjeno obračunskemu izračunu; ne pomeni enake procesorske zmogljivosti obeh okolij.
Ti zneski ne vključujejo davkov, podatkovne zbirke, shrambe, morebitnega prehoda API ali prenosa, ki se obračuna posebej. Brezplačni obseg v resničnem računu porabljajo tudi druge upravičene funkcije oziroma zahteve istega računa. Zato strošek ene funkcije ni nujno strošek celotne poti, ki pripravi odgovor.
Zakaj izmerjena režija ni odzivni čas
Raziskava o izvajanju funkcij brez strežnika je za minimalno funkcijo, ki vrne prazen niz in statusno kodo, na preizkušeni poti AWS Lambda z dolgim pozivanjem navedla približno 1,17 ms povprečne režije; rezultat Cloudflare Workers je bil pod ločljivostjo 0,01 ms, ki jo je poročala platforma. Avtorji so uporabili trajanje izvajanja, kot ga poročajo ponudniki. Pri Lambdi gre za stensko trajanje, pri Workers za procesorski čas, zato številki nista primerljivi meritvi celotne poti od uporabnika do odgovora.
Pri dejanskem API odziv vključuje omrežno pot, morebitno pripravo izvajalnega okolja, delo kode, klice drugih storitev in prenos rezultata. Hladen zagon je treba ločiti od običajnega izvajanja že pripravljenega okolja: lahko vpliva predvsem na počasnejše odgovore, ki jih povprečje minimalne funkcije ne opiše. Pri kratkem odgovoru je režija lahko opazen delež izvajanja, pri zahtevi, ki čaka na oddaljene podatke, pa lahko prevlada čas tega klica.
Meje izvajanja pred stroškovno primerjavo
Omejitve Cloudflare Workers določajo 128 MB pomnilnika na izolirano izvajalno okolje; paket Paid ima za zahtevo HTTP privzeto 30 sekund procesorskega časa, nastavljivo mejo pa je mogoče zvišati do pet minut. Čakanje na omrežne odgovore ne šteje v procesorski čas. Za stensko trajanje zahteve HTTP ni trde meje, vendar je nadaljevanje izvajanja odvisno od odprte povezave z odjemalcem in življenjskega cikla zahteve.
Dokumentacija za časovno omejitev Lambda določa privzete tri sekunde in največ 900 sekund oziroma 15 minut za običajno funkcijo. Če opravilo potrebuje več pomnilnika, kot ga dopušča Workers, ali daljše neprekinjeno računanje, lahko omejitev okolja odloči pred ceno. Pri Lambdi mora biti nastavljena časovna omejitev dovolj dolga tudi za počasnejši klic druge storitve.
Podatki in sprožilci spremenijo izbiro
Če funkcijo sprožajo storitve AWS in tam že hrani podatke, je pri Lambdi treba oceniti še njihove postavke in pot med njimi. Če se zahteva začne v omrežju Cloudflare, je Workers smiselna možnost za kratko obdelavo pred odgovorom, vendar mesto izvajanja samo po sebi ne premakne oddaljene podatkovne zbirke. Funkcija, ki porabi malo procesorja, a pri vsakem klicu čaka na podatke v drugi regiji, lahko zato ostane poceni in obenem uporabniku odgovarja počasi.
Preberite tudi:
Sorodni članki


Cloudflare AI Search je plačljiv od novembra, hibridno iskanje je privzeto

Claude Sonnet ali Gemini Flash: hitrost in cena obrneta izbiro API-ja

CodeDeploy znova zažene floto do 6,1-krat hitreje

Cloudflare odpira plačilo agentov na zahtevo, vendar le v ZDA

Hugging Face ali Replicate: mirovanje modela lahko stane več kot izvajanje
Naročite se na naše e-novice
Najnovejše novice o Web3, UI in kriptovalutah neposredno v vaš e-poštni predal.