Serverless zní magicky na konferenci. „Žádné servery!” Samozřejmě, servery tam jsou — jen je spravuje někdo jiný. Po roce s Azure Functions máme jasněji, kdy serverless pomáhá a kdy jen přidává komplexitu.
Use case 1: Zpracování dokumentů ✅¶
PDF upload do blob storage → Azure Function → OCR → metadata do DB → notifikace. Event-driven, nepředvídatelný workload, krátký execution time. Cost: ~200 Kč/měsíc místo ~3000 Kč/měsíc za VM. Textbook serverless.
Use case 2: API backend ❌¶
REST API na Azure Functions — cold start 3-5 sekund. Katastrofa pro UX. Premium Plan řeší cold start, ale platíte za pre-warmed instance — v podstatě VM s extra kroky. Pro high-traffic API je klasický kontejner lepší volba.
Use case 3: Scheduled tasks ✅¶
Timer trigger — generování reportů, cleanup dat, health checky. Nahradili 5 cron jobů. Méně infrastruktury, integrovaný monitoring, automatic retry.
Durable Functions — orchestrace workflow¶
Objednávka → validace → platba → expedice. Každý krok funkce, orchestrátor řídí flow, stav se persistuje automaticky. Elegantní pro onboarding procesy s human tasks a čekáním.
Co nefunguje¶
Long-running processes — timeout 5min/30min. Pro batch nestačí. Local development — debugging horší než Spring Boot. Vendor lock-in — kód nepřenesete na Lambda bez přepsání.
Skutečná čísla¶
Consumption Plan: prvních 1M executions/měsíc zdarma. Pro naše use cases ~500 Kč/měsíc. Ekvivalentní VM ~3000 Kč. Úspora reálná pro správný workload.
Serverless je nástroj, ne architektura¶
Používejte ho pro event-driven processing, scheduled tasks, glue code. Pro API backendy a long-running processes zůstaňte u kontejnerů. Šroubovák — výborný na šrouby, špatný na hřebíky.