Co jsou CDN a k čemu je potřebujeme?

03. červenec 2013

CDN (Content Delivery Network nebo Content Distribution Network) je infrastruktura geograficky distribuovaných a spolupracujících serverů, které společně se sadou optimalizačních technik umožňují uživatelům internetových služeb (web, streamování videa, stahování souborů, apod.) rychlejší přístup k datům než v případě umístění dat na vlastním serveru nebo při využití běžné hostingové služby.

Nevýhodami použití vlastního serveru bývají latence při přístupu na stránku z různých geografických lokací (čekání na první odpověď), rychlost stahování dat, obtížně řešitelná škálovatelnost při neočekávaném nebo krátkodobém navýšení paralelních přístupů (zpřístupnění aktualizace software, sledování přímého přenosu, apod.) a v neposlední řadě jde také o čas, který je potřeba při provozování vlastního serveru věnovat jeho údržbě a zabezpečení. Čas je dnes důležitý faktor – v případě umístění dat na vlastním serveru a zjištění problémů lze asi dodat lepší hardware, zaplatit lepší připojení, zlepšit využívání proxy cache, apod. nicméně je otázkou, zde není vhodnější tuto část přenechat CDN a věnovat se vylepšení služby jako takové. I veliká snaha věnovaná správě vlastního serveru totiž neřeší (nebo jen částečně) problém škálovatelnosti a přístupu uživatelů z různých částí světa neboť „server jednoduše zůstává na jednom místě“.

CDN slouží především k hostování statického obsahu (současné CDN je ale možné využít i pro dynamická, generovaná data). Nejdříve šlo o web, software a jeho aktualizace. Dnes se CDN v souvislosti s rozšířením OTT služb používají při distribuci filmů, což vede k rychlejšímu doručování video streamů uživatelům. Zároveň také běžná OTT aplikace vyžaduje množství metadat a obrázků, které dotvářejí uživatelské rozhraní. Prodlevy při jejich stahování u aplikací na mobilních telefonech nebo chytrých televizích znamenají povětšinou nespokojené uživatele a negativní hodnocení poskytované služby.

CDN má také specifický význam u chytrých televizí, u kterých (s výjimkou platformy Samsung SmartTV) je aplikaci nutné hostovat, tj. aplikace není na televizi nainstalovaná podobně jako na telefonu. Na televizi je lokálně uložená pouze malá sada informací: Webová URL (odkaz na server, kde je aplikace hostovaná), název aplikace, její ikona a nepatrné množství doplňkových dat. Aplikace jako taková se stahuje vždy až při svém spuštění.

Základní architektura CDN

Každá CDN se skládá ze tří základních prvků – tvoří ji origin server, edge servery a software pro směrování požadavků. Origin server obsahuje originální a původní data určená k distribuci uživatelům (filmy, instalační balíčky, obrázky). Tato data jsou následně redistribuována rozsáhlé sítí edge serverů, které jsou vhodně geograficky rozmístěné a obsahují kopii dat z origin serveru. Druh a množství dat replikovaných na edge serverech závisí na geografické poloze (např. v případě OTT mohou být u nás více požadované filmy s českými titulky) a na frekvenci opakovaných požadavků na určitý typ dat. Cachovaný obsah je neustále aktualizován a vylepšován. Edge server může obsahovat i 100% kopii originálních dat. Třetí součástí CDN je upravené směrování požadavků, tedy jakási inteligence sítě. V praxi to funguje například tak, že aplikace přistupující na CDN odešle DNS požadavek pro převod CDN doménového jména na IP adresu. Na rozdíl od běžného překladu, je při převodu na IP adresu důležitá geografická lokace tazatele nebo vytíženost serverů. DNS server tyto informace vyhodnotí a vrátí aplikaci zpět IP adresu edge serveru, o němž se domnívá, že požadavky aplikace vyřídí nejdříve. CDN mohou využívat pro směrování požadavků i další nástroje jako je například HTTP redirect:

GET /vod_io/f_7/7.ism/Manifest HTTP/1.1 User-Agent: samsungsmooth-agent/1.1 Host: 23.22.108.2:12222 Accept: */* Accept-Encoding: identity HTTP/1.1 307 Temporary Redirect Location: 23.22.108.21/kaz2lmei5qcig5gdartad0qitjnstzqg/0000002/GlobalManifest.ism/Manifest Cache-Control: no-cache GET /kaz2lmei5qcig5gdartad0qitjnstzqg/0000002/GlobalManifest.ism/Manifest HTTP/1.1 User-Agent: samsungsmooth-agent/1.1 Host: 23.22.108.21:1002 Accept: */* Accept-Encoding: identity HTTP/1.1 200 OK Server: BKS400 Date: Fri, 03 May 2013 06:29:09 GMT Content-Type: text/xml Content-Length: 4569 Connection: keep-alive Cache-Control: no-cache Expires: Fri, 03 May 2013 06:29:08 GMT

Je ale nutné si uvědomit, že CDN neřeší vše. Důležitým faktorem při distribuci obsahu je rychlost připojení na posledním úseku sítě, tj. mezi edge serverem CDN a koncovým zařízením (někdy se hovoří o tzv. last mile). Na rychlost datového přenosu na tomto úseku použití CDN nemá vliv. Vše závisí na kvalitě a rychlosti připojení dodané poskytovatele připojení k Internetu (kabelový operátor, mobilní síť, apod.). Jinými slovy, ani nejlépe optimalizované CDN neumožní streamování videa pokud uživatelé ke službě budou přistupovat pomocí EDGE nebo pokud při vysoké agregaci na ADSL nebo WiFi spadne rychlost pod 512 Kbps. Mezi další výhody CDN patří jejich robustnost – i při rozsáhlých výpadcích spojení dokáží CDN, byť pomaleji obsloužit uživatele nalezením jiné cesty pro odeslání dat. Do péče provozovatele CDN může být také vhodné svěřit kompletní obsah origin servreru místo jeho udržování vlastními silami. Oblíbená je například služba Amazon S3, kterou využívá mimo jiné Netflix. Obsah je zde pravidelně zálohován a hladký chod služby neohrožují vlastní výpadky serveru, jakými je třeba fyzické poškození úložiště při povodni.

Cena

Cenu u tradičních poskytovatelů CDN jakými jsou Akamai, Limelight nebo Level3 na jejich webových stránkách obyvkle nenaleznete – její stanovení je otázkou individuální domluvy s každým klientem. Opačnou politiku má například služba Amazon CloudFront, u které lze cenu pomocí on-line kalkulačky spočítat na webu. Podobně pak jsou cenově „transparentní“ i menší CDN nebo společnosti, které jsou na trhu krátce.

Přihlašte se k odběru novinek