Serverless môže znieť, akoby servery úplne zmizli, no v skutočnosti len zmiznú z vášho každodenného riešenia. Servery existujú vždy. Rozdiel je v tom, že ich váš tím nemusí spravovať priamo. Platforma ako AWS, Google Cloud, Azure, Vercel, Netlify, Cloudflare, Firebase alebo Supabase preberá väčšiu časť infraštruktúrnej práce a vy sa viac sústredíte na produktovú logiku. Mení to rýchlosť dodávania, náklady, spôsob debugovania aj typy chýb, ktorých sa môžete dopustiť. Tento článok je práve o posune od vlastnenia infraštruktúry k prenájmu služieb.
Serverless funkcie vs dlhodobo bežiaci backend
Najviditeľnejšou časťou serverless sveta je serverless funkcia: malý kus backendového kódu, ktorý sa spustí iba vtedy, keď ho niečo vyvolá, a potom zanikne. Spúšťačom môže byť HTTP požiadavka, webhook zo Stripe alebo GitHubu, naplánovaný cron job, správa z queue systému, alebo dokonca API cesta vo frameworkoch ako Next.js, uložená hneď vedľa frontendu.
So serverless funkciami sa toho dá zvládnuť prekvapivo dosť, no serverless funkcie nie sú ekvivalentnou náhradou za dlhodobo bežiacu backendovú službu.
| Tradičný backend | Serverless funkcia | |
| Životný cyklus | Beží nepretržite | Spúšťa sa na vyžiadanie a následne zaniká |
| Stav | Drží veci v pamäti | Medzi volaniami je bezstavová |
| Spojenia | Udržiava perzistentné spojenia | Pripája sa nanovo pri každom volaní |
| Škálovanie | Zabezpečujete ho vy | Rieši ho platforma |
| Ideálne pre | Kontinuálnu, stavovú prácu | Krátke úlohy s jasným vstupom a výstupom |
Vďaka tomu sú funkcie výborné pre prácu s jasným začiatkom a koncom: overiť požiadavku, odoslať e-mail, zmenšiť obrázok, spracovať platobný webhook, vygenerovať PDF, alebo zavolať AI model bez toho, aby ste API kľúč vystavili prehliadaču. Menej prirodzené sú pre úlohy, ktoré potrebujú perzistentné procesy, náročné výpočty, dlhodobé úlohy, obojsmernú komunikáciu alebo neustále dostupný stav v pamäti.
Nejde však len o funkcie
Serverless funkcie patria medzi najdôležitejšie stavebné bloky, no serverless nie je len o funkciách. Moderná serverless aplikácia je často kompozíciou rôznych spravovaných služieb, ktoré len prepájate namiesto toho, aby ste ich vyvíjali sami. Celá sada stavebných blokov zahŕňa napríklad:
- Funkcie – backendový kód spúšťaný na vyžiadanie, ktorý sme si práve prešli.
- Databázy – SQL databázy (zvyčajne postavené na PostgreSQL, ako Supabase alebo Neon) aj NoSQL databázy (dokumentové úložiská ako Firestore alebo DynamoDB).
- Hosting & CDN – globálne servovaný frontend, s preview deploymentmi a edge cachingom už v základe.
- Súborové úložisko – objektové úložisko pre uploady, assety a zálohy (S3, Cloudflare R2, Firebase / Supabase Storage).
- Queue & event systémy – pre prácu, ktorá sa má vykonať neskôr, na pozadí, alebo po udalosti z inej služby.
- Autentifikáciu – prihlasovanie, sessions a social providerov na pár klikov (Clerk, Auth0, Firebase / Supabase Auth).
- Špecializované API – vyhľadávanie, analytiku, e-maily, AI APIs, push notifikácie, remote config – akúkoľvek spravovanú službu, ktorú len použijete namiesto toho, aby ste ju vyvíjali sami.
Pre malý tím je to takmer superschopnosť. Dvojčlenný tím dokáže dodať produkt s autentifikáciou, databázou, nahrávaním súborov, transakčnými e-mailami, background jobmi, preview deploymentmi, globálnym hostingom a automatickým škálovaním bez toho, aby potreboval dedikovaný infraštruktúrny tím. Pred desiatimi rokmi by to takto ľahko bolo prakticky nemožné.
Čo nám to teda odomyká?
Serverless najviac žiari vtedy, keď je vaša aplikácia postavená primárne na strane klienta a backend najmä chráni citlivé dáta alebo kľúče, overuje vstupy, koordinuje služby a rieši občasné privilegované úlohy. Do tohto tvaru zapadá veľká časť moderného softvéru: SaaS dashboardy, interné nástroje, e-commerce flowy, aplikácie doplnené o jednoduché AI integrácie, mobilné backendy aj prototypy, ktoré sa postupne premieňajú na reálne produkty.
Pri takýchto použitiach sa praktické výhody ignorujú len ťažko:
- Rýchly deployment – pushnete kód, dostanete preview URL a otestujete zmeny ešte pred mergom.
- Minimálna nákladovosť, pri nízkej návštevnosti sú často zadarmo – náklady sú pre väčšinu projektov minimálne, kým sa skutočne neobjavia používatelia.
- Škálovanie je problém niekoho iného – traffic spike nevyžaduje manuálne provisionovanie serverov.
- Menšia prevádzková záťaž – menej strojov, runtimov a patchov medzi vami a produkciou.
- Čistá izolácia – webhooky, cron joby a AI volania žijú v malých, sústredených jednotkách namiesto toho, aby nafukovali monolit.
- Rýchlejšie experimentovanie – tímy môžu overovať produktové nápady skôr, než postavia plnohodnotnú backendovú platformu.
Serverless pri early-stage produktoch preto pôsobí skoro až neférovo výhodne. Umožní vám začať s produkčne pripravenými stavebnými blokmi namiesto toho, aby ste prvý mesiac vyvíjali len základy.
Ako si vybrať platformu
Správny výber platformy začína tvarom vašej aplikácie. Niektoré aplikácie potrebujú robustnú databázu a pevnú kontrolu nad backendom, iným stačí čo najjednoduchšia cesta od kódu do produkcie.
- Vercel – najhladšia cesta pre Next.js a frontendovo orientované aplikácie. Výborný DX a preview deploymenty, no náklady rastú spolu so škálovaním.
- Netlify – príjemne jednoduchý štart, hoci nedávno potichu znížil limity free tieru pre nové účty.
- Cloudflare – edge-first toolkit, ktorý ide ďaleko za Pages: Workers, R2 storage, DNS, CDN, bot protection, tunnels…
- Firebase – rýchly a jednoduchý balík služieb okolo document-based Firestore databázy. Spoľahlivá multi-provider autentifikácia na pár klikov a štedrý free tier.
- Supabase – postavený okolo reálnej Postgres databázy. Robustný, s množstvom možností, prirodzené miesto pre relačné, SQL-orientované produkty.
- AWS, Google Cloud, Azure – najrobustnejšie stavebné bloky a najviac možností, za cenu väčšej konfigurácie a väčšieho počtu rozhodnutí. Najlepšie vtedy, keď vyvíjate niečo komplexné alebo enterprise-grade.
Keď platforma vyzerá ako dobrý fit, overte si praktické obmedzenia: podporu runtime prostredia, timeouty a pamäťové limity, lokálny vývoj, observabilitu, správanie databázových spojení pri vyššej paralelizácii a budget controls. Odpoveďou môže byť aj kombinácia platforiem, napríklad Netlify + Firebase, ak to aplikácii sadne lepšie.
Na čo netreba zabúdať
Aj keď serverless veľa vecí zjednodušuje, komplexita úplne nezaniká. Len sa presunie do kontraktov medzi službami. Aj preto stále záleží na dobre navrhnutej architektúre a jednotlivých rozhodnutiach.
- Architektúra sa môže roztrieštiť – serverless uľahčuje tvorbu množstva drobných funkcií. Bez jasných hraníc, pomenovaní, vlastníctva a spoločných konvencií sa backend zmení na neprehľadný šuflík plný cloudových scriptov namiesto jednej koherentnej aplikácie.
- Debugovanie môže byť náročnejšie – lokálny monolit sa často skúma jednoduchšie než distribuovaná sada funkcií, queue systémov, webhookov a spravovaných API.
- Limity spustenia – funkcie často majú obmedzenia na dĺžku behu, pamäť, veľkosť payloadu a počet paralelných spojení. Platobný webhook funguje vynikajúco, no čakanie na odpoveď od dlhobežiaceho LLM agenta bude pravdepodobne potrebovať viac než len jedno volanie funkcie.
- Cold starty – niektoré platformy musia funkciu pred spustením „prebudiť“. Pri background úlohách to môže byť nepodstatné, no pri používateľských endpointoch, kde záleží na každej milisekunde, to vie pridať určitú latenciu.
- Predvídateľnosť nákladov – serverless pricing často kombinuje počet volaní, výpočtový čas, bandwidth, úložisko, databázové operácie a podobne. Náklady sa preto môžu ťažko odhadovať presne, a hoci začiatky bývajú lacné alebo aj zadarmo, pri vysokej návštevnosti či neoptimálnych komunikačných vzoroch vie účet narásť. Budgety a alerty sú kritické.
- Vendor lock-in – keď staviate priamo na Cloudflare Workers, Firebase alebo Verceli, môžete byť rýchlejší, no zároveň závislejší od konkrétnej platformy.
Serverless vám dáva rýchlosť, elasticitu a menšiu prevádzkovú plochu. Na oplátku však akceptujete limity platformy, iné debugovacie návyky, menšiu kontrolu nad detailmi runtime prostredia a niekedy aj horšie predvídateľné náklady. Otázka preto neznie, či je serverless „lepší“ než tradičný backend. Lepšia otázka je: Ktoré časti systému sa oplatí vlastniť a ktoré si máme prenajať?



