serverless
Obsah
Serverless Computing (Serverless)
Serverless computing (často zkráceně jen Serverless) je model provádění v cloud computingu, ve kterém poskytovatel cloudu plně spravuje spouštění kódu. Na rozdíl od tradičního PaaS se zde vývojář nestará ani o velikost instancí nebo škálování serverů – platforma přiděluje prostředky dynamicky v reálném čase.
Název „Serverless“ neznamená, že servery neexistují; znamená to, že pro vývojáře jsou zcela abstrahovány.
Rozdíl mezi PaaS a Serverless
I když jsou si tyto modely blízké, hlavní rozdíly spočívají v granulitě a způsobu účtování:
| Vlastnost | PaaS (Platform as a Service) | Serverless (FaaS) |
|---|---|---|
| Škálování | Často manuální nebo na základě pravidel (CPU > 70 %). | Plně automatické a okamžité (podle počtu požadavků). |
| Účtování | Platba za běžící instanci (i když na ni nikdo nepřistupuje). | Platba pouze za dobu běhu kódu (milisekundy). |
| Životní cyklus | Aplikace běží neustále (Always-on). | Kód se spustí při události a po dokončení zanikne. |
| Abstrakce | Správa runtime a verze OS. | Pouze nahrání čisté funkce (logiky). |
FaaS: Function as a Service
Jádrem serverless architektury je FaaS. Programátoři rozdělí svou aplikaci na malé, samostatné funkce, které jsou spouštěny specifickými událostmi (Events).
Příklady událostí (Triggery):
- HTTP požadavek: Někdo klikne na odkaz nebo zavolá API.
- Změna v databázi: Do tabulky byl přidán nový řádek.
- Nahrání souboru: Do cloudového úložiště byl nahrán obrázek (spustí se funkce pro změnu velikosti).
- Časový plán: Funkce se spustí každou hodinu (Cron job).
Výhody Serverless modelu
- Nulová správa: Žádné aktualizace OS, žádné nastavování load balancerů.
- Platba za využití (Zero to Hero): Pokud aplikaci nikdo nepoužívá, náklady jsou doslova nulové.
- Extrémní škálovatelnost: Pokud přijde 10 000 požadavků najednou, platforma spustí 10 000 instancí funkce paralelně.
Nevýhody a omezení
- Cold Start (Studený start): Pokud funkce nebyla dlouho spuštěna, trvá několik milisekund (i sekund), než se inicializuje prostředí, což může způsobit latenci.
- Limitace času: Většina poskytovatelů omezuje maximální dobu běhu jedné funkce (např. na 15 minut).
- Vendor Lock-in: Přechod mezi AWS Lambda a Azure Functions je náročný kvůli rozdílným API pro triggery.
- Debugging: Testování složitých serverless architektur je náročnější než u monolitických aplikací.
Populární Serverless platformy
- AWS Lambda: Průkopník a nejrozšířenější řešení.
- Google Cloud Functions: Silná integrace s ostatními službami Google Cloud.
- Azure Functions: Podpora mnoha jazyků a skvělá integrace s .NET prostředím.
- Vercel / Netlify: Populární mezi frontend vývojáři pro „Edge Functions“.
— Související termíny: PaaS, Cloud Events, Mikroslužby, API Gateway.
serverless.txt · Poslední úprava: autor: admin
