Znalostní wiki OKF
Část 3 · Postav to a doruč

Hosting, CDN a doručení obsahu

Hosting není 'kam to nahrát', ale soubor provozních vlastností. A spravovaný hosting neznamená bez rizika — bez limitu útraty může návštěvnostní špička znamenat účet za tisíce dolarů.


Vývojář nasadil svůj web na Vercel, bezplatný tarif, a šel spát. Boti ho našli. Za měsíc proteklo serverem 1,1 TB dat a přišel účet na 1 100 dolarů. Jiný případ: studentský projekt schytal DDoS, tisíce požadavků, účet 3 200 dolarů. Meta crawler udělal na jeden web 11 milionů požadavků za třicet dní a každý se počítal. Podstata není „Vercel je drahý". Podstata je, že Vercel neumožňuje tvrdý limit útraty, takže návštěvnostní špička, DDoS nebo chybná funkce ženou účet nahoru a nic ho automaticky nevypne.

To je první lekce o hostingu, a jde proti intuici. „Spravovaný hosting = bez starostí" platí jen napůl. Spravovaný hosting sundá z hlavy provozní zátěž — patchování, TLS, deploy. Nákladovou kontrolu ti nesundá. Hosting totiž není sklad, kam nahraješ soubory. Je to soubor provozních vlastností. Kdo platí za přenosy, kdo řeší rollback, kde leží origin, kdo čistí cache. Jednovětou definici má slovník. Tahle kapitola ty vlastnosti rozebírá.

Předchozí rozhodnutí už padlo jinde. Rendering určuje, co hosting musí umět. SSG: stačí statický hosting. SSR/ISR: potřebuješ serverový nebo edge runtime. Tahle kapitola na to navazuje. Neřeší, kdy zvolit který rendering, ale kam ho pak postavit.

Origin a edge nejsou tři krabice, je to vztah

Origin je centrální zdroj originálních dat. Tvůj hosting. Drží originální HTML, obrázky, skripty, případně databázi. Edge je první kontaktní bod u uživatele, síť serverů rozprostřená po světě, blíž k návštěvníkovi než tvůj origin. Edge drží cachované kopie. Když má edge kopii toho, co uživatel chce, vrátí ji rovnou a k originu vůbec necestuje.

To je celé kouzlo CDN. Místo jednoho serveru někde v Německu máš obsah ve stovkách měst. Cloudflare jich má přes 330 a peeruje ve všech velkých internetových uzlech. Návštěvník z Brazílie dostane stránku z brazilského edge uzlu, ne přes oceán.

Klasická CDN je ale jen distribuované úložiště. Cachuje statiku, nic víc. Edge computing je něco jiného. Spouští kód na edge uzlu. Kontrola cookie relace, směrování, personalizace. Aktivní prodloužení originu, ne jen jeho kopie. Tady se origin a edge potkávají: origin počítá to těžké, edge to lehké hned u uživatele.

A protože edge doručuje cache, dá se změřit, jak dobře to dělá. Cache hit ratio = zásahy / (zásahy + minutí). Web složený hlavně ze statiky se snadno dostane na 95–99 %. Přesnější metrika je ale origin offload, podíl bajtů doručených z cache, ne požadavků. Jeden velký obrázek z cache ušetří víc přenosu než sto malých požadavků a účtuje se ti za bajty, ne za požadavky. Cachování statiky srazí datový přenos o víc než 50 %, chytřejší CDN cachující i dynamické HTML jde na 60–80 % a výš.

CDN ti necachuje web. Cachuje soubory.

Tady žije nejodolnější mýtus: „mám Cloudflare, takže mám web rychlý." Ne tak rychle.

Cloudflare ve výchozím stavu necachuje HTML. Rozhoduje se podle přípony souboru.jpg, .css, .js cachuje, HTML a JSON ne. Ve výchozím nastavení jsou prakticky necachovatelné. Aby se cachovalo i HTML, musíš nastavit Cache Rule.

Z toho plyne věc, kterou si lidi pletou. Statický web je rychlý ne proto, že nad ním CDN dělá magii. Je rychlý proto, že jeho HTML je statický soubor — a statické soubory CDN cachuje sama od sebe. SSG a edge cache si sednou přirozeně. Dynamické HTML potřebuje, abys cachování explicitně zapnul a hlídal. Konkrétní nastavení proxy, cache a TLS u jednoho poskytovatele řeší Cloudflare v praxi; tady jde o princip.

Osa, ne dvojice: čtyři typy hostingu

„Statický hosting vs. VPS" je stejně falešná dichotomie jako „statický vs. dynamický web". Reálně je to osa podle toho, kolik provozu na sebe bereš.

Statický spravovaný hosting. Cloudflare Pages, Netlify, Vercel, GitHub Pages. Nahraješ build, poskytovatel řeší CDN, TLS, deploy, preview i rollback. Žádný server k údržbě. Sedí na SSG obsahové weby. Tady je provozní zátěž nejnižší.

Serverless / functions. AWS Lambda, Vercel Functions, Netlify Functions. Kód běží na vyžádání a škáluje na nulu, takže neplatíš za nečinnost. Daň je cold start. Když funkce dlouho neběžela, musí se nastartovat. Node.js typicky 200–400 ms, Java s velkými závislostmi i přes dvě vteřiny. A k tomu účtování za každé spuštění, tedy riziko účtu při návštěvnostní špičce.

Edge runtime. Cloudflare Workers, Vercel Edge, Deno Deploy. Kód běží ve 330+ městech u uživatele. Workers běží jako V8 isolates, takže cold start je prakticky nulový, proti Lambdě řádový rozdíl. Za to platíš omezeným API runtime a dalšími limity. Výpočetně náročné nebo na ekosystém AWS vázané úlohy patří spíš na origin nebo Lambdu. Edge vyhrává na latenci a I/O, ne na všem.

VPS. DigitalOcean, Hetzner, Linode. Vlastní server, plná kontrola. A plná odpovědnost. U vlastního VPS dostaneš holý OS a řešíš firewall, bezpečnostní záplaty „v okamžiku, kdy vyjdou", monitoring. Jedna zapomenutá aktualizace vystaví celý server riziku. „Potřebuju VPS, abych měl kontrolu" zní dobře, ale pro obsahový web je kontrola nad OS spíš závazek než výhoda. Kontrola má cenu v provozní práci, kterou málokdo nacení dopředu.

Jak vybrat hosting pro obsahový web

Místo „statický, nebo VPS?" si polož čtyři otázky.

A pozor na bezplatné tarify. Hobby tarif Vercelu je nekomerční — komerční web na něm porušuje podmínky. Stropy jsou reálné: Vercel 100 GB přenosů měsíčně, Netlify 100 GB plus 300 build minut (komerce povolená), Cloudflare Pages neomezený datový přenos. „Bezplatný tarif stačí navždy" platí, dokud nepřijde viralita.

Tři typické záměny

Praktický checklist

Číst plnou verzi ve wiki →

12 / 26