faas
Obsah
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
