← Referenční architektury / reference-architecture / diagrams / serverless
Fullstack aplikace
Fullstack webové aplikace spojují frontendové a backendové technologie a vytvářejí tak komplexní, dynamický uživatelský zážitek. Aby tyto aplikace spolehlivě fungovaly a dobře škálovaly, stojí na širokém technologickém stacku, který zahrnuje uživatelská rozhraní, backendové služby, databáze, integrace a čím dál častěji i funkce postavené na AI.
Na frontendu vývojáři obvykle používají HTML, CSS a JavaScript, často spolu s frameworky jako React, Next.js nebo Angular. Tyto nástroje poskytují strukturu a interaktivitu potřebnou pro moderní uživatelská rozhraní, pomáhají spravovat stav, vykreslovat dynamický obsah, personalizovat prostředí a optimalizovat výkon napříč zařízeními.
Na backendu zajišťuje serverový kód úlohy jako zpracování požadavků, běh obchodní logiky, ověřování uživatelů, integraci AI modelů a komunikaci s databázemi. Vývojáři tyto služby vytvářejí v jazycích jako JavaScript, Python nebo Java, a to za podpory frameworků, které zjednodušují směrování, middleware a tvorbu API.
Databáze jsou klíčovou součástí zásobníku technologií, ukládají a načítají data aplikací. Relační databáze jako MySQL, PostgreSQL nebo SQLite spravují strukturovaná data a vynucují integritu dat, zatímco NoSQL řešení jako MongoDB nebo Cassandra nabízejí flexibilitu při práci s nestrukturovanými nebo velmi rozsáhlými datovými sadami.
Moderní fullstack vývoj stále více zapojuje externí služby, API, předpřipravené komponenty a funkce AI. Tento přístup snižuje potřebu vytvářet složité funkce od základu, jako je moderování obsahu, personalizovaná doporučení nebo sémantické vyhledávání. Vývojové týmy díky tomu mohou vytvářet aplikace rychleji a efektivněji.
Developer Platform od Cloudflare spojuje všechny tyto možnosti do jednotného, globálně distribuovaného prostředí a nabízí vývojářům vše, co potřebují k vytváření, nasazování a škálování moderních fullstack aplikací s minimální provozní zátěží.
Platforma Cloudflare nenabízí jen jednotlivé služby. Nabízí spíše modulární ekosystém, což týmům umožňuje rychle vytvářet výkonné aplikace, bez problémů škálovat a rychleji inovovat, aniž by museli řešit správu infrastruktury.
Diagram fullstack aplikace
V této části uvedeme praktický příklad toho, jak tyto služby spolupůsobí v reálné fullstack architektuře aplikace.
1. Klient
Odesílá požadavky na server. Může to být prostřednictvím počítačového nebo mobilního prohlížeče, nebo nativní či mobilní aplikace.
2. Zabezpečení
Zpracování příchozích požadavků k zajištění zabezpečení aplikace. To zahrnuje šifrování provozu pomocí SSL/TLS, a nabízí Ochrana proti DDoS, filtrováním škodlivého provozu prostřednictvím webový aplikační firewall (WAF), opatření proti automatizovaným botům, a API Shield k identifikaci a řešení zranitelností vašeho API. V závislosti na konfiguraci mohou být požadavky na základě různých parametrů blokovány, zaznamenávány do protokolu nebo povoleny. Ke zmenšení plochy útoku téměř bez dodatečné režie lze použít rozumné plně spravované a výchozí konfigurace.
3. Výkon
Obsluhovat statické požadavky z globální mezipaměť (CDN). Tím se snižuje latence a spotřeba prostředků, protože požadavky se obsluhují z mezipaměti místo toho, aby vyžadovaly dotaz na úložiště, mediální služby nebo výpočetní služby. Využijte Argo Smart Routing ke směrování požadavků po nejefektivnější síťové cestě a vyhýbá se přetížení.
4. Výpočty
Zpracování dynamických požadavků pomocí serverless výpočtů s Workers. Může jít například o ověřování, směrování, middleware, práci s databázemi nebo poskytování API. Kromě toho Workers Assets lze použít k obsluze webových frameworků s vykreslováním na straně klienta nebo serveru, jako je React, Next.js nebo Angular. Využijte Workers for Platforms aby uživatelům umožnily nasazovat vlastní kód na vaší platformě, nebo jim umožnit nasazovat vlastní kód přímo. Pro stavové (stateful) pracovní zátěže Durable Objects poskytují stavové výpočty s nízkou latencí tím, že spouštějí logiku v blízkosti místa, kde jsou uložena data objektu, a umožňují tak koordinaci, perzistenci a komunikaci v reálném čase na okraji sítě.
Pro úlohy, které vyžadují flexibilitu tradiční kontejnerizace, Containers umožňuje spouštět stávající aplikace kompatibilní s Docker v globální síti Cloudflare. Containers jsou určeny pro aplikace, které potřebují víc prostředků než standardní Worker.
5. Data a úložiště
Aplikacím dodejte stav pomocí ukládání a načítání dat. Patří sem R2 pro objektové úložiště, D1 pro relační data, KV pro data s vysokými nároky na čtení a Durable Objects pro silně konzistentní ukládání dat. průvodce možnostmi úložiště může pomoci posoudit, která možnost úložiště je pro daný případ užití nejvhodnější.
6. Obsah a média v reálném čase
Vytvářejte bezserverové aplikace pro video, audio a data v reálném čase pomocí Realtime. Optimalizované obrázky poskytujte z Obrázky a videí na vyžádání i živých vysílání z Stream.
7. AI
S Workers AI, vývojáři mohou spouštět oblíbené open-source modely pro úlohy, jako je generování textu, analýza obrázků nebo moderování obsahu, poháněné bezserverovými GPU. Vectorize je globálně distribuovaná vektorová databáze pro vyhledávání podle podobnosti, personalizaci a doporučovací funkce. Agenti dále rozšiřuje možnosti AI: Cloudflare poskytuje Agents SDK, díky kterému můžete vytvářet a nasazovat AI agenty schopné plnit úkoly, komunikovat v reálném čase, volat modely, spravovat stav, spouštět workflow, dotazovat se na data a zapojovat do procesu i lidský dohled (human-in-the-loop).
8. Orchestrace a abstrakce
Queues umožňují trvalé asynchronní zasílání zpráv, které odděluje služby od sebe a zvládá špičky v provozu. Workflows orchestrují složité procesy napříč rozhraními API, službami a schvalováním ze strany lidí a abstrahují od správy infrastruktury a stavu. Pipelines vám umožňují přijímat velké objemy dat v reálném čase, aniž byste museli spravovat jakoukoli infrastrukturu.
9. Cloudflare Observability
Odesílejte logy ze všech služeb pomocí Logpush, získávejte přehledy pomocí Workers Logs přímo v dashboardu Cloudflare a sbírat vlastní metriky z Workers pomocí Workers Analytics Engine, nebo sledovat a řídit aplikace AI pomocí AI Gateway.
10. Externí protokoly a analytika
Integrujte pozorovatelnostní řešení Cloudflare se stávajícími řešeními třetích stran. Logpush podporuje řadu cíle k odesílání protokolů pro uložení a další analýzu. Analytiku Cloudflare lze také integrováno s analytickými řešeními. GraphQL Analytics API umožňuje flexibilní dotazy a integrace.
11. Nástroje a zajišťování prostředků
Definujte a spravujte prostředky a konfiguraci pomocí nástrojů a frameworků třetích stran, jako je Terraform a Pulumi, rozhraní příkazové řádky (CLI) Cloudflare Developer Platform Wrangler, nebo Cloudflare API. Všechny tyto nástroje lze použít jak pro ruční provisioning, tak automatizovaně v rámci pipeline CI/CD.
12. Integrace externích služeb
Developer Platform od Cloudflare je navržena pro plynulou integrace s externími službami. Ať už jde o připojení k API třetích stran, databázím, platformám SaaS nebo cloudovým poskytovatelům, vývojáři mohou snadno odesílat odchozí požadavky z Workers, spouštět workflow na základě externích událostí a bezpečně vyměňovat data mezi systémy.