Serverovny.cz/Fórum/Co je vlastně serverless architektura a jak funguje?

Co je vlastně serverless architektura a jak funguje?

Zajímá mě, co přesně obnáší serverless architektura? V poslední době jsem na to narazil v několika článcích a videích, ale pořád mám v tom hokej. Je to prý něco jako běhat bez bot, což mi přijde docela zvláštní, protože přece potřebujeme nějaký ten server, abychom mohli provozovat aplikace. Takže jak to vlastně funguje? Vím, že se říká, že je to levnější a že se tím dá ušetřit spousta času při vyvíjení aplikací, ale jak je to možné, když server je v názvu? Jak to souvisí s cloud computingem? Mám pocit, že se tady míchají pojmy jako funkcionalita, škálovatelnost a další technické termíny, které mi moc neříkají. Můžete mi prosím přiblížit, jak v takovém prostředí fungují procesy? A co třeba správa dat? Jak to probíhá bez klasických serverů? Co když dojde k nějaké chybě nebo výpadku? Je vůbec možné mít aplikaci plně bez serverů? A co bych měl vědět, pokud bych se chtěl do serverless architektury pustit jako začátečník? Zkrátka bych rád pochopil základy a možná i nějaké výhody či nevýhody. Děkuji za každou pomoc!

174 slov
1.7 minut čtení
12. 11. 2024
Václav Kopecký

Serverless architektura je vlastně takový způsob, jak provozovat aplikace, aniž bys musel mít na starosti servery. I když se to jmenuje "serverless," servery tam pořád jsou, ale ty se o ně vůbec nemusíš starat, protože vše běží v cloudu. To znamená, že místo toho, abys měl fyzický server, poskytuješ svou aplikaci jako funkce, které se spouštějí, když je potřeba. Tohle je hodně šikovné třeba pro webové aplikace nebo API.

V podstatě to funguje tak, že platíš jen za čas výpočetního výkonu, když tvé funkce běží. Když nikdo nic nevyužívá, tak nic neplatíš. To může být levnější než tradiční modely, kde musíš platit za server i když je nevyužitý. Takže jedeš na principu škálování – cloud ti automaticky přidá víc zdrojů, když je potřeba a zase je odebere, když už nejsou.

Co se týče správy dat, tak obvykle používáš služby jako databáze v cloudu (např. DynamoDB nebo Firestore), které se o data postarají a ty se soustředíš hlavně na kód. Když dojde k chybě nebo výpadku, cloudová platforma má obvykle mechanismy na obnovení a restartování funkcí.

A teď k tomu, co bys měl vědět jako začátečník: Je dobré mít základní znalosti o cloudových službách (AWS Lambda, Azure Functions atd.), jak fungují API a že budeš muset být komfortní s vícero technologiemi a nástroji. Můžeš se setkat s pojmy jako "event-driven architecture", což znamená, že funkce reagují na různé události (např. HTTP požadavek).

Nevýhody? Můžeš mít problém s latencí při spouštění funkcí a omezením výkonu pro určité úkoly. Takže je dobré si to všechno promyslet předtím, než se do toho pustíš. Ale celkově to může dost zjednodušit vyvíjení aplikací.

263 slov
2.6 minut čtení
19. 1. 2025
Natálie Kašparová

Serverless architektura je fakt zajímavý koncept. Jak to chápu, v podstatě to znamená, že se nemusíš starat o servery přímo. Vše běží v cloudu a poskytovatel (jako AWS, Azure nebo Google Cloud) se postará o infrastrukturu a škálování. Ty si prostě napíšeš nějakou funkci a nahráváš ji na jejich platformu. Když někdo tu funkci zavolá, oni ji spustí na svých serverech, a ty platíš jen za čas, kdy ta funkce běží, což může být dost úsporné. Takže to s těma botama je spíš metafora - nemusíš mít svoje servery, ale přesto nějaké servery existují.

Pokud jde o správu dat, většina serverless řešení má integrované služby pro databáze a úložiště, takže zase se o to nemusíš starat. A co když něco selže? Tak to už záleží na poskytovateli - většinou mají zabudované mechanismy pro zotavení po chybách.

Jo a ano, můžeš mít aplikaci bez správy serverů, ale ve skutečnosti vždycky nějaké servery jsou – akorát je spravuje někdo jiný.

Pokud bys chtěl začít s serverless architekturou, doporučuji se podívat na tutorialy k platformám jako AWS Lambda nebo Azure Functions. Je fajn se naučit základy cloud computingu a taky jak fungují API. Výhody jsou jasný – rychlost vývoje a úspora nákladů. Ale nevýhody? Můžeš mít problémy s latencí nebo třeba vendor lock-in, protože když si zvykneš na jednoho poskytovatele, není snadné přejít jinam.

218 slov
2.2 minut čtení
19. 1. 2025
Ludmila Šrámková
Serverovny.cz/Články/Trendy v technologiích
Serverless architektura: Co je a jak ji implementovat do vašeho systému?Objevte kouzlo serverless architektury a naučte se, jak ji efektivně implementovat do vašeho systému! Přečtěte si náš podrobný návod.
1000 slov
10 minut čtení
6. 8. 2024
Markéta Hájková
Přečíst článek
Podobné otázky