Přeskočit na hlavní obsah

Ekonomika serverless řešení: využití skutečného obchodního potenciálu.

Serverless architektura a infrastruktura se stala mocným nástrojem pro organizace, které usilují o škálovatelnost, snížení provozní režie a efektivní alokaci zdrojů. Společnost Amazon Web Services (AWS), lídr v oblasti cloudových technologií, nabízí robustní serverless služby, které se ukázaly jako transformační pro řadu odvětví, zejména pro e-commerce. Nicméně názor, že serverless je drahá alternativa, vyvolává v poslední době u některých organizací obavy.

V tomto článku se zabýváme ekonomikou serverless služeb AWS, zkoumáme potenciální faktory, které stojí za domnělou vysokou cenou, a osvětlujeme, jak mohou organizace efektivně optimalizovat své serverless workloady s ohledem na nákladovou efektivitu.


Demystifikace serverless nákladů: objektivní důvody a mylné představy.

Důvodů, proč některé organizace vnímají své serverless workloady na AWS jako nákladné, může být několik, a to jak na základě objektivních faktů, tak na základě nesprávných představ.

Objektivní důvody:.

  1. Vysoký objem provozu: vysoký objem požadavků může mít za následek značné náklady. Při účinné správě je však serverless pay-per-use model obecně nákladově efektivnější než udržování vlastních serverů pro špičkové zatížení, které navíc vyžadují odhad kapacit dopředu a jejichž limity jsou pevně dány, tudíž jsou zdrojem trvalých fixních nákladů bez přímého vztahu k aktuálním příjmům společnosti.

  2. Složitá workflow: složité neoptimalizované systémy a procesy zahrnující více funkcí, služeb a přenosů dat mohou zvýšit náklady.

  3. Neefektivní kód: výkon a efektivita jsou kritické. Dlouhá doba provádění nebo zbytečné využívání paměti zvyšují náklady.

Nepřesné představy:

  1. Nepochopení celkových nákladů na vlastnictví (TCO): náklady na vlastnictví jsou pouze částí příběhu. Je třeba vzít v úvahu snížené náklady na údržbu serverů, infrastrukturu a zaměstnance, které serverless architektura přináší.

  2. Špatná architektonická rozhodnutí: pokusy o přímý přechod stávajících aplikací na serverless bez jejich přepracování pro paradigma serverless mohou vést k neefektivitě a vysokým nákladům.

  3. Nadměrné rezervy: nadměrné rezervování zdrojů vede k vysokým nákladům.

  4. Zanedbávání studeného startu: aplikace, které nejsou optimalizovány pro studené starty, mohou vést k vyšší latenci a vyšším nákladům.

  5. Zanedbání nákladů na přenos dat: náklady na přenos dat, zejména při přenosu dat z AWS, se mohou nasčítat.

  6. Nedostatečné sledování a optimalizace nákladů: průběžné monitorování a optimalizace jsou pro nákladově efektivní serverless provoz zásadní.


Pochopení nákladů serverless řešení: klíčové metriky

Sledování technických metrik souvisejících s náklady v serverless architektuře je zásadní pro zajištění její efektivity. Prozkoumejme některé kritické ukazatele:

  1. Náklady na vykonání funkce: odráží náklady na každé vyvolání vaší serverless funkce.

  2. Využití paměti: ovlivňuje náklady, protože společnost AWS účtuje podle přidělené paměti.

  3. Čas potřebný k vykonání: čím déle funkce běží, tím vyšší jsou náklady.

  4. Nadměrná míra paralelního zpracování: může vést ke zvýšení nákladů a potenciálnímu throttlingu.

  5. Nevyužité zdroje: nečinné prostředky znamenají zbytečně vynaložené prostředky.

  6. Míra selhání: náklady na neúspěšná (chybová) provedení se v průběhu času sčítají.

  7. Časy studeného startu: doba inicializace pro první volání funkce nebo po období nečinnosti může zvýšit náklady.

  8. Náklady na datové přenosy: často přehlížené, ale tvoří nedílnou součást celkových nákladů.

Sledování a optimalizace těchto ukazatelů vyžaduje průběžnou strategii, která zahrnuje nástroje, jako je AWS CloudWatch, AWS X-Ray, atp. pro sledování, debugging a včasné upozornění.

Představme si dva různé scénáře - první neoptimalizovaný a vnímaný jako nákladný a druhý s pečlivě průběžně optimalizovanou architekturou.

Scénář 1 - neoptimalizovaná serverless architektura:

  • Náklady na provedení funkce: 0,0002 USD
  • Využití paměti: 70%
  • Doba provádění: 800 ms
  • Využití paralelníh běhu: 800
  • Nečinné zdroje: 30%
  • Míra chybovosti: 5%
  • Časy studeného startu: 800 ms
  • Náklady na přenos dat: 0,15 USD/GB

Tyto hodnoty můžeme dosadit do našeho vzorce pro Serverless Efficiency Index (SEI):

SEI = α (1 / Cost_per_Function_Execution) + β Memory_Utilization + γ (1 / Execution_Time) + δ (1 / Concurrency_Usage) - ε Idle_Resources - ζ Error_Rates - η Cold_Start_Times - θ Data_Transfer_Costs

SEI = 0,2 (1 / 0,0002) + 0,15 70 + 0,15 (1 / 800) + 0,1 (1 / 800) - 0,1 30 - 0,1 5 - 0,1 800 - 0,1 0,15

Neoptimalizované skóre SEI ≈ 3557

Scénář 2 - optimalizovaná serverless architektura:

  • Náklady na provedení funkce: 0,0001 USD
  • Využití paměti: 85 %
  • Doba provádění: 400 ms
  • Využití paralelního běhu: 500
  • Nečinné prostředky: 15%
  • Míra chybovosti: 1%
  • Časy studeného startu: 400 ms
  • Náklady na přenos dat: 0,08 USD/GB

Nyní tyto hodnoty dosadíme do našeho vzorce SEI:

SEI = 0,2 (1 / 0,0001) + 0,15 85 + 0,15 (1 / 400) + 0,1 (1 / 500) - 0,1 15 - 0,1 1 - 0,1 400 - 0,1 0,08

Optimalizované skóre SEI ≈ 13032

V tomto příkladu má optimalizované serverless řešení vyšší skóre SEI, což svědčí o lepší efektivitě. Jak je vidět, různá zlepšení ve využití paměti, době provádění, nákladech na provedení funkce, efektivnější využití paralelního zpracování, nečinných zdrojů, míry chybovosti, době studeného startu a nákladech na přenos dat mohou vést k podstatnému zvýšení efektivity serverless řešení, která je odměněna  nižšími průměrnými náklady na transakci a redukovanou výší celkových nákladů (v tomto případě potenciálně desítky procent).

Nezapomeňte prosím, že se jedná o zjednodušený model a reálné situace mohou vyžadovat složitější posouzení, ale slouží jako srovnávací nástroj na vysoké úrovni.

V tabulce níže ilustrujeme obchodní dopady serverless řešení. Lze obecně konstatovat, že čím méně je zátěž infrastruktury předvídatelná a zároveň čím vyšší je počet obchodních transakcí, které musí systém zpracovat, tím výrazněji se serverless architektura ukazuje jako vítězné řešení.

Faktory  Monolitická architektura Privátní infrastruktura + Kubernetes Veřejný cloud + Serverless
Náklady na transakci Vysoké - Fixní náklady na infrastrukturu znamenají, že náklady na jednu transakci zůstávají vysoké, zejména v obdobích nízké poptávky. Nejvyšší - Kontejnerizace potenciálně snižuje některé náklady na infrastrukturu, ale Kubernetes s sebou přináš značné dodatečné režijní náklady na správu a orchestraci u fixní privátní infrastruktury, která vylučuje pay-per-use. Nejnižší - Cenový model "Pay-per-use" zajišťuje, že se náklady škálují s poptávkou, což vede k nízkým nákladům na transakci zejména v obdobích nízké poptávky.
Připravenost na kolísání poptávky Nízká - Monolitické architektury se potýkají s vysokou variabilitou poptávky. Škálování může být pomalé a nákladné a během období nízké poptávky je velká část rezervované kapacity promarněna. Dobrá - Kubernetes dokáže automaticky škálovat aplikace na základě poptávky, ale infrastrukturu je stále třeba rezervovat a spravovat. Náklady mohou být v obdobích nízké poptávky vyšší kvůli nevyužitým zdrojům. Výborná - Serverless si výborně poradí s kolísající poptávkou, automaticky okamžitě škáluje nahoru nebo dolů a zajišťuje, že zdroje nikdy nepřijdou nazmar.
Náklady na správu rozsáhlé infrastruktury Vysoké - Vyžaduje vyhrazený personál pro správu, údržbu a škálování serverů. Střední - Kubernetes sice některé úlohy automatizuje, ale stále vyžaduje specializované znalosti pro nastavení, údržbu a správu clusteru. Minimální - Není nutná žádná správa serverů. Veškerou správu infrastruktury zajišťuje poskytovatel cloudu.
Škálovatelnost infrastruktury Omezená - Škálování nad určitou mez vyžaduje významné změny infrastruktury, které mohou být časově i finančně náročné. Dobrá - Kubernetes je navržen pro škálovatelnost, ale stále je omezena dostupnou infrastrukturou. Škálování nad určitou mez může vyžadovat dodatečné rezervy. Neomezená - Serverless může škálovat téměř okamžitě, aby zvládl jakoukoli úroveň poptávky bez jakéhokoli předběžného provisioningu, což je ideální pro scénáře s velkými nárůsty provozu.
Zákaznická zkušenost Negativní - Riziko pomalého výkonu nebo výpadků během vysoké poptávky může vést ke špatným zkušenostem zákazníků. Dobrá - Lepší škálovatelnost může zlepšit zákaznickou zkušenost během vysoké poptávky, ale složitost správy Kubernetes může stále představovat riziko. Výborná - Okamžitá škálovatelnost a vysoká dostupnost serverless infrastruktury zajišťuje trvale dobrou zákaznickou zkušenost.
Riziko odlivu zákazníků Vysoké - Špatná zákaznická zkušenost během špičkové poptávky může vést ke zvýšenému odlivu zákazníků. Střední - Lepší škálovatelnost snižuje riziko odchodu zákazníků, ale ne tolik jako serverless. Nízké - Vynikající zákaznická zkušenost a schopnost zvládat špičkovou poptávku výrazně snižují riziko odlivu zákazníků.
Náklady na získání zákazníka Vysoké - Špatná zákaznická zkušenost může vést k vyšším nákladům na získání zákazníka kvůli nižší míře konverze a negativním zákaznickým hodnocením služby jako celku. Střední - Lepší zákaznická zkušenost může snížit akviziční náklady, ale složitost a potenciální problémy s Kubernetes to mohou do určité míry kompenzovat. Nízké - Vynikající zákaznická zkušenost v kombinaci se schopností rychle inovovat a nasazovat nové funkce díky nízké provozní režii může výrazně snížit akviziční náklady.
Riziko ztráty reputace Vysoké - Výpadky nebo špatný výkon, zejména při vysoké poptávce, mohou vážně poškodit reputaci. Střední - Ačkoli Kubernetes snižuje riziko ve srovnání s monolitickým systémem, potenciální problémy způsobené složitostí správy Kubernetes mohou stále představovat reputační riziko. Nízké - Vysoká dostupnost a vynikající výkon serverless infrastruktury minimalizují reputační riziko.

Z této tabulky je zřejmé, že serverless architektury mohou poskytnout významné výhody v oblasti nákladů a škálovatelnosti, zejména pro e-commerce firmy s velmi kolísavou poptávkou. Tím, že eliminuje potřebu správy infrastruktury a nabízí skutečný model pay per use, umožňuje serverless těmto podnikům optimalizovat náklady a efektivně zvládat prudké nárůsty provozu bez nutnosti předběžného rezervování výkonu.

Je důležité si uvědomit, že různé architektury jsou vhodné pro různé typy zákazníků, podniků, aplikací a potřeb. Zde je stručný přehled:

  1. Monolitická architektura

    • Ideální zákazník/podnik: Malé až středně velké podniky s jednoduchými aplikacemi a relativně stabilní a předvídatelnou poptávkou. Patří sem organizace, které teprve začínají svou cestu digitální transformace a adopce cloudu.
    • Typ aplikace: Interní systémy, starší aplikace nebo jednoduché webové aplikace.
    • Kolísání a objem poptávky: Nízká variabilita a objem. Poptávka je předvídatelná a nedochází u ní k náhlým výkyvům.
  2. Samostatně spravovaný Kubernetes.

    • Ideální zákazník/firma: Střední až velké podniky, které potřebují flexibilitu kontejnerů a mikroslužeb, ale jsou ochotny investovat do odborných znalostí a zdrojů potřebných ke správě infrastruktury Kubernetes.
    • Typ aplikace: Komplexní webové aplikace, architektury založené na mikroslužbách a aplikace, které vyžadují značné přizpůsobení a kontrolu.
    • Kolísání a objem poptávky: Mírná fluktuace a objem. Může docházet k občasným výkyvům poptávky a celkový objem transakcí je vyšší ve srovnání s menšími aplikacemi.
  3. Serverless architektura a infrastruktura

    • Ideální zákazník/společnost: Podniky všech velikostí, které potřebují vytvářet složité, škálovatelné aplikace bez režijních nákladů na správu infrastruktury. Může se jednat jak o začínající firmy uvádějící na trh nové produkty, tak o velké podniky, které chtějí rychle inovovat.
    • Typ aplikace: Vysoce škálovatelné webové aplikace, zpracování souborů v reálném čase, pipeline pro transformaci dat, API, architektury založené na mikroslužbách a aplikace s nepředvídatelnými vzorci poptávky.
    • Kolísání a objem poptávky: Vysoká variabilita a objem. Aplikace zažívá časté výkyvy v poptávce nebo má vysoký objem transakcí, které by využily možnosti automatického škálování serverless aplikací.

Jedná o zobecněné scénáře a skutečná nejlepší volba může záviset na mnoha dalších faktorech, včetně stávajících dovedností týmu, požadavcích na zabezpečení a dodržování předpisů, rozpočtu a dalších.

Je dobré si také připomenout, že serverless infrastruktura má své výhody, pokud jde o provozní aspekty, spolehlivost a podporu.

Kvalita IT provozu: Díky serverless architektuře podniky fakticky outsourcují významnou část svého IT provozu na odborníky, kteří se na tyto úkoly specializují. To v drtivé většině případů vede k mnohem vyšší míře kvality IT provozu ve srovnání s interním týmem, který se snaží vše zvládnout sám.

SLA: Přední poskytovatelé cloudových služeb, jako je například AWS, nabízejí závazné smlouvy o úrovni poskytovaných služeb (SLA), které zaručují vysokou dostupnost a výkon. Tyto SLA poskytují podnikům jistotu, že jejich aplikace budou stále v provozu a budou optimálně fungovat, čímž se snižuje riziko výpadků, které mohou poškodit jejich pověst a hospodářský výsledek.

Podpora: Zákazníci používající serverless infrastrukturu mohou těžit z komplexní podpory poskytované poskytovatelem cloudu. Tato podpora často zahrnuje jak technickou pomoc, tak přístup k široké škále zdrojů a osvědčených postupů, které jim pomohou maximalizovat hodnotu jejich serverless aplikací.

Vysoká dostupnost (HA): Serverless technologie jsou navrženy pro vysokou dostupnost. Dokážou automaticky zvládnout failovery, aby zajistily, že aplikace budou vždy dostupné a budou reagovat. To je významná výhoda oproti samostatně spravovaným systémům, které k dosažení podobné úrovně dostupnosti vyžadují velké úsilí a odborné znalosti.

Škálovatelnost: Serverless architektury mohou škálovat téměř okamžitě, aby vyhověly poptávce, zatímco škálování samostatně spravované infrastruktury vyžaduje dodatečné rezervy, konfiguraci a zdroje, což může zpozdit reakci na prudké nárůsty poptávky.

Bezpečnost: Poskytovatelé cloudu mají specializované bezpečnostní týmy, které neustále monitorují a zmírňují hrozby, což poskytuje další vrstvu zabezpečení, které jednotlivé společnosti těžko dosáhnou.

Serverless computing může být pro podniky velmi nákladově efektivním řešením, pokud se k němu přistupuje správně. Vyžaduje to změnu myšlení, abyste pochopili nuance nákladů serverless, průběžného monitorování a optimalizace. Místo toho, aby byl vnímán jako přítěž, by měl být při efektivním využití uznán jako mocný nástroj digitální transformace. Nepochopení požadavků může vést k vnímání vysokých nákladů, ale se znalostmi a strategickým plánováním mohou organizace využít skutečný potenciál serverless computingu.

Lukas Benda

Lukáš Benda

Certifikovaný AWS solutions architekt cloudových řešení s více než 20 lety praxe v oblasti podnikového softwaru. Specializuji se na navrhování robustních, serverless systémů a modernizaci podnikových architektur. Pojďme podpořit růst vašeho podnikání pomocí inovativních cloudových řešení.

Zajímá vás transformace vašeho podnikání pomocí cloudu? Ozvěte se a probereme, jak můžeme spolupracovat.

📞: 775 491 827

📧: lukas.benda@boldpivot.cz

LinkedIn: https://www.linkedin.com/in/luke-ben/

Komentáře

Populární příspěvky z tohoto blogu

Za hranice DevOps 1.0: Proč je BizDevOps pro SaaS společnosti nezbytností?

Přechod od tradičního DevOps k BizDevOps představuje zásadní tektonický zlom ve filozofii, která pečlivě integruje hluboké pochopení potřeb zákazníka s agilitou vývoje softwarových služeb a jejich provozu. Je to revoluce, která je stejně kontroverzní jako stěžejní a dramaticky rozšiřuje základy toho, co dnes běžně chápeme jako efektivní dodávku softwaru. Jádrem našeho článku je zásadní otázka: Mohou organizace, které jsou zakořeněné v ustáleném rytmu DevOps 1.0, přijmout rozsáhlé organizační, technologické a názorové změny potřebné pro BizDevOps?  Tunelové vidění technologických specialistů Ve světě softwaru-jako-služby (SaaS) stojí mladý DevOps specialista Luboš na kritické křižovatce. Vyzbrojen skvělými dovednostmi v oblasti kódování a rozsáhlými znalostmi cloudových architektur se Luboš s jistotou a lehkostí orientoval v technických aspektech své profese. Jak se však před ním rozprostřela krajina SaaS plná nesčetných výzev a komplikací, Luboš se potýkal s problémy, které nebylo ...

The OpenAI Dilemma: A Business Model That Can't Scale

Right now, OpenAI dominates the GenAI conversation much like Apple did in the early days of the Mac and iPhone—an exclusive, high-cost, high-curation model with strict control over its product lifecycle. This approach works brilliantly in the short term, creating the illusion of scarcity-driven value and a premium user experience. But in the long run, the cracks in this model start to show. Let’s look at three fundamental weaknesses of OpenAI’s current trajectory: 1. A Structural Bottleneck: Over-Reliance on Search and Static Training OpenAI's most urgent problem is its full dependence on internet search to provide users with up-to-date knowledge. At first glance, this might seem like an advantage—it makes ChatGPT appear "live" and relevant. But in reality, it's a massive strategic liability for several reasons: Search is an external dependency – OpenAI doesn’t own the sources it retrieves from (Google, Bing, or specialized databases). It relies on external...

Integrating HATEOAS, JSON-LD, and HAL in a Web-Scale RAG System

  The intersection of Hypermedia as the Engine of Application State (HATEOAS), JSON for Linked Data (JSON-LD), and Hypertext Application Language (HAL) presents a novel approach to enhancing Retrieval-Augmented Generation (RAG) systems. By leveraging these standards, we can streamline and potentially standardize the interaction of Large Language Models (LLMs) with knowledge graphs, thus facilitating real-time data retrieval and more effective training processes. Leveraging HATEOAS HATEOAS principles are crucial for enabling dynamic navigation and state transitions within RESTful APIs. In the context of RAG systems, HATEOAS allows LLMs to interact with APIs in a flexible manner, discovering related resources and actions dynamically. This capability is essential for traversing knowledge graphs, where the relationships between entities can be complex and varied. By providing hypermedia links in API responses, HATEOAS ensures that LLMs can effectively navigate and utilize the knowledge...