INTEGRITY Dokumentace

Využití Cloudflare pro vaše SaaS aplikace

Úvod

Při vytváření aplikace SaaS je běžné vytvořit jedinečný název hostitele pro každý zákaznický účet (nebo tenanta), například app.customer.com. Je důležité zajistit, aby veškerá komunikace na tento hostname aplikace probíhala přes SSL/TLS, a proto je nutné pro hostname vašeho zákazníka na vaší aplikaci vytvořit certifikát. Správa certifikátů je náročná, a architekti i vývojáři aplikací proto často sahají po certifikát pro více domén ↗ (MDC), takže stačí zakoupit a přidat jediný certifikát se stovkami uvedených domén. To se ovšem přestává vyplácet, jakmile vaše aplikace obsluhuje tisíce až miliony zákazníků.

Zákazník vaší aplikace může navíc chtít, aby hlavní doména jeho webu byla hostována přímo ve vaší aplikaci. Aby to bylo možné, například www.customer.com ve skutečnosti doručuje obsah přímo z vaší aplikace SaaS.

Mnoho aplikací SaaS má před sebou řešení pro cachování a zabezpečení, jako je Cloudflare, a proto je potřeba tyto hostitelské názvy onboardovat. To se často provádí pomocí modelu "Zone", kdy se uvnitř Cloudflare, nebo u jiného poskytovatele, jako je AWS Cloudfront, vytvoří "Zone" pro app.customer.com. To znamená, že při onboardingu každého nového zákazníka je nutné vytvořit novou „zónu“: u desítek až stovek zákazníků to lze ještě zvládnout, ale u tisíců až milionů se správa všech těchto zón a jejich konfigurací stává obtížnou.

Cloudflare for Platforms jde mnohem dál než tento tradiční model většiny poskytovatelů edge sítí, protože spravuje provoz napříč mnoha hostname a doménami v rámci jedné „Zone“. Nyní můžete spravovat www.customer1.com a www.customer2.net, a milionů dalších hostitelských názvů prostřednictvím stejné konfigurace, přičemž lze podle potřeby přizpůsobit i jednotlivé funkce.

Tento dokument poskytuje referenční informace a doporučení pro používání Cloudflare for Platforms. Dokument je rozdělen do tří hlavních částí.

Pro koho je tento dokument určen a co se v něm dozvíte?

Tato referenční architektura je určena vlastníkům, inženýrům a architektům aplikací SaaS, kteří chtějí zjistit, jak pomocí Cloudflare zvýšit škálovatelnost a zabezpečení své aplikace.

Pro hlubší základní pochopení Cloudflare doporučujeme následující zdroje:

Čtenáři této referenční architektury se dozvědí:

Proč Cloudflare for Platforms?

Model SaaS

Software as a Service (SaaS) představuje klíčovou inovaci éry cloud computingu. Tradiční podnikový software provozovaný lokálně, například pro účetnictví, HR nebo CRM, si vyžadoval trvalou péči IT pracovníků, kteří pro každou aplikaci v podniku museli zajistit platformu, ať šlo o dedikovaný hardware, virtuální stroje nebo cloudové instance. Model SaaS naopak umožňuje poskytovatelům, jako jsou Shopify nebo Salesforce, poskytnout svým klientům přístup přímo ke své vlastní platformě. Klient tak už nemusí řešit hardware ani žádné jiné infrastrukturní otázky, místo toho si předplatí přístup k platformě SaaS, která je vždy aktuální, zabezpečená a dostupná.

Problémy s hostname třetích stran

U mnoha SaaS aplikací je důležité poskytovat službu pod vlastní doménou klienta. Jejich doména je důležitá pro branding, zabezpečení a organizaci a mnoho klientů výrazně investovalo do správné .com k reprezentaci svého podnikání. Mnoho klientů, jejichž domény jsou spjaté s jejich značkou, bude odmítat nasazení svých aplikací na doméně poskytovatele.

Platí to zejména pro aplikace určené zákazníkům, například řešení pro e-commerce. Takovou aplikaci budete chtít zpřístupnit jako shop.example.com, nikoli example.shop.com. Aby bylo možné zabezpečit provoz k aplikaci SaaS, potřebuje poskytovatel („obchod“) certifikát pro svého zákazníka, example.com.

Obrázek 1: Průběh e-commerce přes platformu SaaS.
Obrázek 1: Průběh e-commerce přes platformu SaaS.

To představuje výzvu pro řešení SaaS, protože vydávání certifikátů je přísně řízeno prostřednictvím Proces ověření DCV. Vlastník domény musí autorizovat vydání každého certifikátu, a tak tradiční způsoby ověření vycházejí z vlastníka domény a certifikát doručují pouze jemu.

Obrázek 2: Certifikáty nelze na starších platformách automaticky obnovovat. Po vypršení platnosti přeruší provoz, pokud nezasáhnete ručně.
Obrázek 2: Certifikáty nelze na starších platformách automaticky obnovovat. Po vypršení platnosti přeruší provoz, pokud nezasáhnete ručně.

Vzniká tak dilema: model SaaS přináší jasné výhody, ale zároveň s sebou nese vlastní výzvu. Nové řešení by umožnilo poskytovatelům i koncovým zákazníkům vytěžit z modelu SaaS maximum.

Vydávání certifikátů SSL prostřednictvím Cloudflare for Platforms

Spravujte certifikáty pro libovolný hostitelský název na internetu

Cloudflare for SaaS nabízí jedinečné řešení těchto běžných problémů poskytovatelů SaaS. Díky pozici Cloudflare jako globální sítě s nízkou latencí dokážeme transparentně spravovat vydávání certifikátů pro koncové klienty a zároveň přinášet SaaS platformě řadu dalších výhod.

Zabezpečené a výkonné režimy ověřování

Cloudflare má jedinečnou schopnost spravovat proces ověření kontroly domény (Domain Control Validation, DCV) ve scénáři SaaS. V tradičním modelu vyžadují vydavatelé certifikátů, aby vlastníci domény umístili konkrétní token (buď záznam DNS TXT, nebo malý textový soubor) na svém origin serveru, aby ověřili, že jsou pro danou doménu autorizováni. To se musí opakovat při každé obnově certifikátu, což je s ohledem na nedávná bezpečnostní vylepšení stále častější.

Obrázek 3: Proces DCV.
Obrázek 3: Proces DCV.

Protože síť Cloudflare může snadno stát mezi klientem a poskytovatelem SaaS, dokážeme automaticky odpovědět správným tokenem DCV za jakoukoli doménu, která směruje provoz k poskytovateli SaaS na Cloudflare.

Obrázek 4: Certifikáty se na platformách podporovaných Cloudflare obnovují automaticky.
Obrázek 4: Certifikáty se na platformách podporovaných Cloudflare obnovují automaticky.

Místo opakovaného provádění složitého procesu při každé obnově certifikátu provede klient mnohem jednodušší proces pouze jednou.

Přizpůsobte svým zákazníkům zážitek s Cloudflare

Spravované funkce v Cloudflare for platforms

Cloudflare for Platforms vám nabízí mnohem víc než jen správu SSL certifikátů. Získáte vestavěné funkce pro řízení zabezpečení a výkonu ve velkém měřítku pro každého vašeho klienta. Bezpečnostní funkce Cloudflare, jako například DDoS, WAF, Bot Management, a Rate Limiting se bez problémů rozšiřují na klienty vaší platformy. Úroveň zabezpečení lze přizpůsobit v Managed Rules pro jednotlivé zákazníky, ať už chcete vyjmout důvěryhodný provoz, nebo naopak zpřísnit zabezpečení. Na výkon straně Cache, Argo Smart Routing, a funkce HTTP/2 jako Early Hints poskytují škálovatelné a přizpůsobitelné chování pro všechny vaše zákazníky. Přizpůsobitelná pravidla mezipaměti umožňují dosáhnout vysoké úspěšnosti mezipaměti napříč všemi vašimi zákazníky.

Pokud potřebujete ještě větší flexibilitu, než jakou nabízejí naše pravidla, abyste tisícům nebo milionům zákazníků poskytli individuální chování, Custom Metadata umožňuje naprostou flexibilitu pro jednotlivé klienty. Nastavením tagů jako WAF: On nebo Performance: Premium pro každého zákazníka si můžete přizpůsobit sadu bezpečnostních a výkonnostních funkcí. Vytvořili jsme funkce jako WAF for SaaS které s touto metadatovou vrstvou pracují přímo, i API v našem bezserverovém prostředí Workers, díky kterému je lze využívat ve vlastním kódu.

Škálovatelné serverless aplikace s Workers for Platforms

Pokud potřebujete více přizpůsobení, než dokáže poskytnout i metadata, nebo provozujete službu, kde si zákazníci sami píší nebo generují vlastní kód aplikace, Workers for Platforms vám umožňuje nasadit kompletní serverless aplikaci pro každého ze svých zákazníků.

Nabízíme několik klíčových funkcí, například Dispatch Worker, což vám dává naprostou volnost při rozhodování, na kterou zákaznickou aplikaci provoz nasměrovat. Můžete například nejprve provést bezpečnostní kontroly, poté dekódovat hlavičku HTTP obsahující ID uživatele a následně pro daný požadavek načíst příslušnou serverless aplikaci. Outbound Workers poskytují vám další přehled a kontrolu nad tím, ke kterým internetovým zdrojům mohou aplikace vašich zákazníků přistupovat, a nabízí tak známý bezpečnostní model i v distribuovaném nasazení.

Nabízíme také funkce pro observabilita, konfigurace, a mnoha dalších nástrojů potřebných pro nasazení platformy na produkční úrovni. Podrobněji jsou popsány v dalších referenční architektury a fungují u platformových případů použití stejně jako u standardnějších modelů popsaných v těchto průvodcích.

Případy použití

Podívejme se na tři běžné případy užití, kdy Cloudflare for Platforms umožňuje poskytovatelům snadno rozšířit SSL, výkon a zabezpečení až ke svým koncovým klientům.

Hromadné vydávání SSL certifikátů pro vaši platformu

V tomto běžném návrhu umožňuje Cloudflare vaší platformě vydávat certifikáty SSL a poskytovat funkce výkonu a zabezpečení. Funkce nebudeme přizpůsobovat jednotlivě pro každého vašeho klienta, ale poskytneme společné funkce pro všechny uživatele platformy.

  1. Cloudflare zabezpečuje provoz od vašich klientů k vaší platformě v globálním měřítku tím, že ověřuje a distribuuje SSL certifikáty.
  2. V tomto návrhu použijete pro všechny klienty stejnou konfiguraci L7, tedy všechny funkce, které pracují s vaším provozem a spouští se po SSL.
  3. Stačí nastavit Cloudflare for SaaS zóna a objednat vlastní hostname pro každý hostname klienta. Systém vás provede jednoduchým postupem, jak nasměrovat provoz každého klienta na vaši platformu a objednat jeho certifikát.
    1. V tomto procesu můžete téměř vždy použít naše výchozí nastavení, možné je ale i individuální přizpůsobení SSL.
    2. Směrování provozu k originu se řeší také v rámci procesu SSL for SaaS. Naše výchozí konfigurace je bezpečná pro většinu případů použití.
Obrázek 5

Přizpůsobení funkcí pro zákazníky vaší platformy

Zde každému klientovi nejen poskytujeme certifikát, ale dáváme mu i vlastní konfiguraci. Základní úroveň tak získá jen nezbytný WAF, zatímco pokročilá úroveň získá Bot management. Napříč všemi zákazníky můžete zároveň provozovat společné funkce.

  1. Kromě zabezpečení SSL provozu použijte další pole, které je k dispozici při přidávání každého zákazníka (Custom Metadata) k označení správné sady funkcí.
  2. Funkce Cloudflare čtou metadata a podle nich přizpůsobují chování pro každého klienta. Funkce WAF představují klíčové možnosti přizpůsobení zabezpečení. Poskytněte různé úrovně zabezpečení, nebo dokonce vlastní sady pravidel WAF.
  3. Z hlediska výkonu, můžete navíc přidat Argo Smart Routing, Cache a Early Hints, abyste vybraným zákazníkům zvýšili výkon.
Obrázek 6

Serverless platforma pro aplikace vašich klientů

V nejpokročilejším návrhu přizpůsobujeme pro každého vašeho zákazníka celou serverless aplikaci v našem Workers runtime. Jednoduché Workers plní úlohy podobné přizpůsobení funkcí. Pokročilé Workers mohou provozovat celou vaši platformu v síti Cloudflare.

  1. Místo nasazení přizpůsobených funkcí Cloudflare má každý zákazník vlastní serverless aplikaci JavaScript "User Worker" obsahující vlastní kód.
  2. Kontrolu si udržujete prostřednictvím Dispatch Workers, které určují, jaký kód se spustí, a Outbound Workers, které omezují přístup zákaznického kódu.
  3. Pomocí pokročilých funkcí Developer Platform, jako jsou D1, Workers KV a Queues, vybudujte celý svůj byznys na Cloudflare.
Obrázek 7

Souhrn

Díky Cloudflare for SaaS snadno vyřešíte běžné výzvy spojené s rostoucím platformovým byznysem. Od vydávání certifikátů SSL přes zabezpečení až po vlastní serverless aplikace vám Cloudflare for SaaS umožňuje škálovat celou naši platformu pro vaše zákazníky, a to až v řádu milionů.

Další podrobnosti ke všem funkcím probíraným v tomto textu najdete v následujících odkazech: