Bezserverová architektura není všelékem

Minutové náklady na serverless jsou téměř vždy vyšší než náklady na provoz ekvivalentní pracovní zátěže na virtuálním počítači.

Po nějaké době opět stojí za zmínku komentář, který napsal Christopher Tozzi na ITPro Today. Analyzuje výhody a naopak ale i stinné stránky bezserverové architektury. Plusy jsou jasné: škálovatelnost, nákladová efektivita (ovšem pouze v jistém ohledu, viz dále), minimalizuje se čas potřebný na nasazování a nastavování softwaru. Ale jsou zde nejen přednosti…

Od roku 2014, kdy společnost Amazon vydala službu Lambda, se stále více podniků obrací k bezserverovým řešením pro potřeby nasazení aplikací. V současné době nabízejí řešení serverless computingu všichni významní poskytovatelé cloudových služeb. V roce 2023 dosahovala míra přijetí serverless computingu až 70 %, alespoň u organizací využívajících AWS. (Využití bezserverového computingu v jiných cloudech je nižší.). Široké přijetí tohoto modelu odráží schopnost bezserverových architektur přinášet výhody, jako např.
Zjednodušené nasazení pracovních úloh: Kód lze jednoduše nahrát a nastavit, kdy má být spuštěn, aniž by by bylo potřeba spravovat prostředí hostitelského serveru.
Škálovatelnost: Serverless architekturu lze snadno škálovat oběma směry podle požadavků na pracovní zátěž.
Nákladová efektivita: Za bezserverové funkce se obvykle platí pouze tehdy, když jsou skutečně spuštěny. Díky tomu je serverless nákladově efektivní model ve srovnání s provozováním pracovních zátěží na virtuálních počítačích nebo kontejnerech s neustálým placením za jejich provozí.

A nyní nevýhody:
Bezserverový přístup je nákladově efektivní v tom smyslu, že se platí pouze za dobu, kdy je pracovní zátěž aktivní. Minutové náklady na serverless jsou však téměř vždy vyšší než náklady na provoz ekvivalentní pracovní zátěže na virtuálním počítači. Z tohoto důvodu mohou být celkové náklady na serverless vyšší než u jiných typů cloudových služeb, zejména u pracovních zátěží, které jsou aktivní po většinu času.

Rizika uzamčení
Každá platforma serverless computingu funguje jiným způsobem. Proto je náročné migrovat pracovní zátěže z jednoho prostředí serverless (například AWS Lambda) do jiného (například Azure Functions). Ve srovnání s tím jsou rozdíly mezi jinými typy cloudových služeb (například AWS EC2 a Azure Virtual Machines) méně výrazné.

Pomalé spouštění
Ačkoli bezserverové úlohy teoreticky běží na vyžádání, v praxi obvykle dochází k prodlevě mezi pokynem ke spuštění bezserverového kódu a jeho skutečným spuštěním. To platí zejména v případě „studených startů“, ke kterým dochází, když bezserverový kód v poslední době neběžel. Z pohledu zákazníka záleží samozřejmě na tom, o jaký typ aplikace se jedná.

Omezená kontrola
Daní za to, že zákazník nemusí spravovat serverová prostředí, je malá kontrola nad tím, jak jsou tato prostředí nakonfigurována. Kromě možnosti konfigurovat podmínky, které řídí spuštění bezserverových funkcí, nezbývá než se spokojit s nastavením operačního systému a běhového prostředí, které si poskytovatel bezserverových funkcí zvolí.

Náklady na správu
V mnoha případech nejde pomocí bezserverového přístupu nasadit kompletní úlohu. Nasadí se takto tedy pouze konkrétní funkce nebo mikroslužby, které využívají výhod příslušné architektury. Ostatní části úlohy se pak provozují jinak, typicky se hostují na virtuálním počítači.
Tento přístup umožňuje efektivněji vyvážit náklady a přínosy bezserverového přístupu. Jenže to také znamená, že nakonec je pak třeba spravovat a orchestrovat více typů cloudových služeb pro stejnou pracovní zátěž – takže nakonec složitost správy roste (může růst) ve srovnání se stavem, kdy by bezserverový přístup vůbec nasazen nebyl…

Zdroj: ITProToday a další

Exit mobile version