← Referenční architektury / reference-architecture / diagrams / serverless
Bezserverová globální API
Úvod
Serverless API představují moderní přístup k vytváření a nasazování škálovatelných a spolehlivých rozhraní pro programování aplikací (API) bez nutnosti správy tradiční serverové infrastruktury. Tato API jsou navržena tak, aby zpracovávala příchozí požadavky od uživatelů nebo jiných systémů, provedla potřebnou logiku či operace a vrátila odpověď, aniž by vývojáři museli zajišťovat nebo spravovat podkladové servery.
Jádrem bezserverových API je koncept serverless computingu, kdy se vývojáři soustředí výhradně na psaní kódu implementujícího obchodní logiku a nemusí řešit zajišťování serverů, škálování ani jejich údržbu. To umožňuje vyšší agilitu a rychlejší uvedení aplikací postavených na API na trh.
Vývojáři definují API endpointy a odpovídající logiku nebo funkcionalitu pomocí funkcí či mikroslužeb, které se následně nasadí na serverless platformu. Ta se stará o spouštění těchto funkcí v reakci na příchozí požadavky.
Serverless API se navíc často snadno integrují s dalšími cloudovými službami, jako jsou autentizační a autorizační služby, databáze nebo architektury řízené událostmi, což vývojářům umožňuje vytvářet komplexní, škálovatelné a odolné aplikace s minimálními provozními nároky.
Většina cloudových serverless implementací běží pouze v jednom regionu, kde se spouští váš kód. Každý požadavek, ať přichází odkudkoli na světě, tak musí projít internetem, aby se dostal do tohoto jediného místa. Všechny odpovědi na API požadavek se pak musí stejnou cestou přes internet vracet zpět k uživateli.

Cloudflare jde jinou cestou a upřednostňuje globální přístup od začátku. Globálně nasazené architektury zajišťují nižší latenci a vysokou dostupnost uživatelům, kteří přistupují k API z různých částí světa. Aby bylo možné dosáhnout výkonnostních přínosů, je třeba distribuovat nejen výpočetní výkon, ale ideálně i data. To umožňují různá řešení, například cachování a globální replikace.

Bezserverová globálně nasazená API celkově nabízejí nákladově efektivní, škálovatelný a flexibilní přístup k budování moderních aplikací a služeb. Organizace se tak mohou soustředit na přinášení hodnoty svým uživatelům, aniž by je zatěžovala složitost správy infrastruktury.
Bezserverová globální API
Jde o ukázkovou architekturu serverless API na Cloudflare, jejímž cílem je znázornit, jak spolu mohou různé produkty pro výpočet a data spolupracovat.
- Klientský požadavek: Odeslání požadavku na API endpoint.
- API Shield/Router: Zpracování příchozího požadavku pomocí Workers, ověřit platnost a v případě potřeby provést logiku ověřování. Poté volání API (případně transformované nebo obohacené) přeposlat jednotlivým Workers pomocí Service Bindings. Díky tomu lze oddělit jednotlivé odpovědnosti.
- Data s vysokým poměrem čtení: Čtení z KV k obsluze dat s vysokým podílem čtení a nedynamické povahy. Může jít například o konfigurační data nebo informace o produktech. Zápisy provádějte podle potřeby a zachovávejte limity na paměti.
- Relační data: Dotaz na D1 ke zpracování relačních dat. Může jít například o uživatelská data, data o produktech nebo jiná data.
- Externí data: Dotazování externích databází pomocí Hyperdrive. Kde to lze, využijte pro zlepšení výkonu ukládání do mezipaměti. To může být užitečné zejména v případech, kdy migrace dat není součástí daného nasazení.