Hosting, CDN a doručení obsahu
Kde budou ležet soubory, aby se prakticky instantně dostaly k návštěvníkům.
Malý obsahový web běží klidně celé měsíce. Pak ho nasdílí větší účet, projde ho agresivní crawler, nebo někdo omylem pošle obrázky přes serverovou funkci místo přes cache. Naším cílem je, aby web pořád fungoval a zároveň nestál nesmysl.
Serverless hostingové služby jako Vercel často vyřeší deploy, TLS, rollback a část bezpečnosti. Ale to, co se stane při špičce je potřeba tušit - zda nás to bude stát hromadu peněz a nebo to skoro neuvidíme.
Proto hosting není jen „kam to nahrajeme". Je to hromada rozhodnutí na jedné hromadě a tahle kapitola se snaží vysvětlit, jak vybrat rozumné místo pro obsahový web.
To zásadní rozhodnutí už padlo v předchozí kapitole. Rendering určuje, co hosting musí umět. SSG většinou stačí statický hosting a prakticky nemáme problém. SSR a ISR potřebují serverový nebo edge runtime a nějaké problémy mít můžeme.
Origin a edge
Origin je zdroj pravdy. Může to být server, storage, aplikace, CMS, databáze nebo statický build. Edge je vrstva co nejblíž k návštěvníkovi: síť serverů, které stojí mezi uživatelem a originem a (můžou) mu servírovat soubory webu.
Když má edge kopii toho, co uživatel chce, odpoví rovnou a hodně rychle. Požadavek necestuje k originu, origin nic nepočítá a návštěvník nečeká na cestu přes půl světa. To je vlastně jak funguje CDN.
Velké CDN sítě mají uzly ve stovkách měst; Cloudflare dnes uvádí přes 330 měst. Návštěvník z Brazílie tak ideálně dostane obrázek, CSS nebo hotové HTML z blízkého edge uzlu, ne ze serveru od nás v Evropě.
Klasická CDN ale hlavně doručuje kopie. Edge computing jde dál: spouští kód na edge. Umí zkontrolovat cookie, přesměrovat uživatele, přidat jednoduchou personalizaci nebo rozhodnout, jestli požadavek pustit na origin. Origin pak řeší těžší práci a edge drobná rozhodnutí u uživatele.
CDN ti necachuje web. Cachuje odpovědi.
Když dám web za Cloudflare a zapnu cache, web bude rychlý? Ne tak rychle.
Statický web je rychlý ne proto, že nad ním CDN dělá magii. Je rychlý proto, že jeho HTML je statický soubor a dá se bezpečně držet na edge. SSG a edge cache si sednou přirozeně.
Cloudflare magii dělá rád a je užitečná. Ve výchozím stavu cachuje podle přípony souboru, ne podle toho, co si o stránce myslíš. .jpg, .png, .css nebo .js do cache typicky spadnou samy. HTML a JSON ne. Aby se cachovalo i HTML, musíme pro něj nastavit Cache Rule, což už není tak jednoduché. U dynamického HTML musíme dobře vědět, co cachujeme, pro koho a na jak dlouho. Stránka s osobními daty do veřejné cache nepatří, protože ty data uvidí někdo jiný než má (a že se to, naštěstí ne nám, stalo tolikrát). Konkrétní nastavení proxy, cache a TLS u jednoho poskytovatele řeším v kapitole Cloudflare v praxi.
Cache invalidace není detail po publikaci
Phil Karltonovi se připisuje věta, že v informatice jsou těžké dvě věci: invalidace cache a pojmenovávání věcí. U webu to sedí bolestně přesně.
Promazat cache technicky není těžké. Často je to jedno volání API. Těžké je vědět kdy a co přesně promazat. Vydáš opravený článek, ale část edge uzlů ještě doručuje starou verzi. Změníš šablonu a v cache zůstanou stránky s původním HTML. Nebo vyčistíš všechno a zbytečně pošleš na origin provoz, který cache mohla dál nést.
Strategie existují: purge konkrétní URL, cache tags pro skupiny objektů. Ale rozhodnutí, kdy cache čistit, musí být součást publikačního a deploy procesu. Proto jakmile cachujeme, potřebujeme to řešit v plánu spuštění, ne až potom, co lidi nevidí nový obsah.
Jaké vlastně jsou typy hostingu
Statický spravovaný hosting. Cloudflare Pages, Netlify, Vercel, GitHub Pages. Nahraješ build, poskytovatel řeší CDN, TLS, deploy, preview a často i rollback. Žádný server k údržbě. Sedí na SSG obsahové weby.
Serverless / functions. AWS Lambda, Vercel Functions, Netlify Functions. Kód běží na vyžádání a škáluje podle provozu. Neplatíš za nečinnost, ale platíš za spuštění, čas běhu, paměť, přenosy nebo další metriky podle poskytovatele. Daň je cold start a riziko vysokých nákladů při nečekané zátěži: když funkci začne volat crawler nebo DDoS, každé volání se bude počítat.
Edge runtime. Cloudflare Workers, Vercel Edge, Deno Deploy. Kód běží blízko uživateli, často v izolovaných runtimes místo klasických serverových procesů. Vyhrává na latenci, routingu, jednoduché personalizaci a I/O. Obvykle má omezené API, limity CPU a odlišný runtime znamenají.
VPS. DigitalOcean, Hetzner, Linode. Vlastní server, plná kontrola a plná odpovědnost. Řešíš firewall, bezpečnostní záplaty, monitoring, zálohy, restart po výpadku i kapacitu. „Potřebuju VPS, abych měl kontrolu" zní dobře, ale pro obsahový web je kontrola nad OS často závazek, ne výhoda. Samozřejmě můžeš mít i "managed VPS", takže o nějakou část věcí se stará poskytovatel, ale pořád tomu musíš rozumět.
TLS dnes (konečně) nepotřebuje ruční práci
TLS (HTTPS) certifikáty bývaly problém a stály peníze. A rozhodně nebyly standard.
Pak přišel Let's Encrypt a začal vydávat certifikáty zdarma. A dneska se na web bez HTTPS prakticky nedostanete. Běžný certifikát má platnost 90 dní a nějaká služba řeší, že se obovuje automaticky, typicky po 60 dnech. Obvykle kvůli nim nastavujeme speciální DNS záznamy, aby služba, která je pro nás generuje, věděla, že máme kontrolu nad doménou (a tedy jsme oprávněni je vystavovat).
Jak vybrat hosting pro obsahový web
| Typ hostingu | Sedne na | Nesedne na | Provozní zátěž |
|---|---|---|---|
| Statický spravovaný | SSG obsahové weby, blog, dokumentace | nutný serverový runtime, osobní HTML pro každého uživatele | nejnižší |
| Serverless | občasné API, webhooky, škálování podle provozu | požadavky citlivé na cold start, nekontrolované volání funkcí při špičce | nízká, ale pozor na náklady |
| Edge runtime | routing, jednoduchá personalizace, nízká latence u uživatele | dlouhé výpočty, plný Node.js/AWS ekosystém, těžké background joby | nízká |
| VPS | tým s kapacitou na DevOps, plná kontrola, vlastní runtime | netechnický tým, obsahový web bez serverových potřeb | nejvyšší |
Tři typické záměny
- Spravovaný ≠ bez starostí. Spravovaný hosting zmenší provozní práci, ale neodstraní rozhodnutí o limitech, účtu, cache a incidentu.
- CDN mi cachuje web. CDN cachuje konkrétní odpovědi. HTML bývá ve výchozím stavu mimo cache, pokud z něj neuděláš bezpečně cachovatelný soubor nebo nenastavíš pravidlo.
- Edge je vždycky lepší. Edge vyhrává na blízkosti k uživateli, ne na každé úloze. Těžký výpočet, dlouhý běh a úzká vazba na serverový ekosystém patří jinam.
Praktický checklist
- Je sepsané, jaké renderování web používá a jaký runtime z toho plyne.
- Je jasné, kde leží origin, co drží edge a kdo čistí cache při publikaci nebo deployi.
- Hosting má ověřený limit útraty, kreditů nebo provozu; víš, jestli při špičce zastaví web, pošle varování, nebo účtuje dál.
- TLS se vydává a obnovuje automaticky; ruční obnova není součást běžného provozu.
- Existuje rollback, přístup k logům a základní postup pro incident.
- Je ověřené, co se cachuje: statické soubory automaticky, HTML jen tehdy, když je to bezpečné a nastavené.
Zdroje
- Cloudflare docs — origin/edge princip, cache hit ratio, default cache behavior, Cache Rules, Pages limity a globální síť.
- Fastly a CDN dokumentace — origin offload jako praktičtější metrika než samotný počet cache hitů.
- Vercel docs — Hobby nekomerční použití, limity, Pro účtování a Spend Management.
- Netlify pricing/docs — kreditový model, free limit, auto recharge a pozastavení při vyčerpání limitu.
- Let's Encrypt FAQ — ACME, bezplatné certifikáty, 90denní a šestidenní certifikáty, doporučené obnovy.
- AWS, Cloudflare, Deno a hosting docs — serverless, edge runtime, cold starty a runtime limity.
- Dokumentace poskytovatelů VPS — rozdíl mezi spravovaným a nespravovaným serverem, odpovědnost za patche, firewall a monitoring.
Hosting je místo, kam renderování staví svůj výstup a kam build a deploy pipeline doručuje artefakty. Na doménu ho navazuje DNS, konkrétní edge/cache/TLS nastavení řeší Cloudflare. Edge cache a image CDN doručují varianty z médií a podkladů, edge cache a komprese přímo zlepšují výkon a Core Web Vitals. Připravenost TLS, vyčištění cache a přepnutí DNS patří do plánu spuštění. Že každý podklad z cizí CDN posílá IP návštěvníka třetí straně, a proč vlastní hostování řeší i právní soulad, ne jen výkon, rozvádí právo, soukromí a souhlas. Pojmy sjednocuje slovník.