Uživatelské nástroje

Nástroje pro tento web


faas

FaaS – Function as a Service (Funkce jako služba)

Function as a Service (FaaS) je kategorie služeb cloud computingu, která umožňuje zákazníkům vyvíjet, spouštět a spravovat aplikační funkce, aniž by museli budovat a udržovat infrastrukturu spojenou s vývojem a spuštěním aplikace.

FaaS je klíčovou technologií realizující koncept Serverless computingu.

Hlavní charakteristiky

Na rozdíl od tradičních modelů (jako je IaaS nebo PaaS) má FaaS několik unikátních vlastností:

  • Abstrakce serveru: Vývojář nevidí instanci operačního systému ani runtime. Nahrává pouze čistý kód (funkci).
  • Event-driven (Řízeno událostmi): Funkce neběží neustále. Jsou „mrtvé“, dokud je neaktivuje specifický trigger (např. HTTP požadavek, zápis do DB).
  • Krátká životnost (Ephemeral): Funkce se spustí, vykoná úlohu a okamžitě zanikne. Stav (state) se mezi spuštěními neukládá (stateless).
  • Mikro-účtování: Zatímco u PaaS platíte za hodinu běhu serveru, u FaaS platíte za milisekundy skutečného času provádění kódu a počet volání.

Jak FaaS funguje (Pracovní postup)

Proces nasazení a běhu ve FaaS prostředí obvykle následuje tento cyklus:

1. **Napsání funkce:** Vývojář napíše úzký blok kódu (např. funkci pro zpracování platby nebo zmenšení obrázku).
2. **Definice triggeru:** Určí se, co funkci spustí (např. [[cloudevents|CloudEvent]] z fronty zpráv).
3. **Nasazení:** Kód je nahrán k poskytovateli (AWS, Azure, Google Cloud).
4. **Provedení:** Ve chvíli triggeru cloud provider okamžitě vytvoří kontejner, spustí v něm kód a po dokončení kontejner zničí.

Výhody a nevýhody

Výhody Nevýhody
Extrémní škálovatelnost: Platforma zvládne 1 i 1 000 000 požadavků bez zásahu administrátora. Cold Start: První spuštění funkce po delší době může trvat déle (latence).
Nízké náklady: Platíte jen za efektivní práci kódu. Limity zdrojů: Omezená paměť RAM a maximální čas běhu (timeout).
Rychlost vývoje: Zaměření pouze na byznys logiku, nikoliv na konfiguraci prostředí. Komplexita monitoringu: Sledování stovek malých funkcí je náročnější než sledování jednoho serveru.

Populární FaaS platformy

  • AWS Lambda: První masově rozšířená FaaS služba (představena 2014).
  • Google Cloud Functions: Optimalizováno pro JS (Node.js), Python a Go.
  • Azure Functions: Unikátní možností běhu v „Durable“ módu (stavové funkce).
  • OpenFaaS: Open-source projekt umožňující provozovat FaaS na vlastním hardwaru pomocí Kubernetes.

Příklady použití (Use Cases)

  • Zpracování dat v reálném čase: Automatické generování náhledů (thumbnails) po nahrání fotky uživatelem.
  • IoT (Internet věcí): Zpracování senzorových dat přicházejících z tisíců zařízení.
  • Chatboti: Funkce reagující na zprávy uživatelů.
  • Backend pro mobilní aplikace: API volání, která nepotřebují běžet 24/7.

Související termíny: Serverless, CloudEvents, Mikroslužby, IaaS, PaaS.

faas.txt · Poslední úprava: autor: admin