Cesty obsahu sú nevyspytateľné alebo povedzme pár slov o CDN

Cesty obsahu sú nevyspytateľné alebo povedzme pár slov o CDN

Vylúčenie zodpovednosti:
Tento článok neobsahuje informácie, ktoré by čitateľom oboznámeným s konceptom CDN predtým nepoznali, ale má charakter technologického prehľadu

Prvá webová stránka sa objavila v roku 1990 a mala len niekoľko bajtov. Odvtedy sa obsah zväčšil kvalitatívne aj kvantitatívne. Rozvoj IT ekosystému viedol k tomu, že moderné webové stránky sa merajú v megabajtoch a trend zvyšovania šírky pásma sa každým rokom len posilňuje. Ako môžu poskytovatelia obsahu pokryť veľké geografické oblasti a poskytnúť používateľom kdekoľvek vysokorýchlostný prístup k informáciám? S týmito úlohami sa musia vyrovnať siete na doručovanie a distribúciu obsahu, známe aj ako sieť na doručovanie obsahu alebo jednoducho CDN.

Na internete je čoraz viac „ťažkého“ obsahu. Početné štúdie zároveň ukazujú, že používatelia sa nechcú zaoberať webovými službami, ak ich načítanie trvá dlhšie ako 4-5 sekúnd. Príliš nízka rýchlosť načítania stránky je spojená so stratou publika, čo určite povedie k zníženiu návštevnosti, konverzií, a teda aj zisku. Siete na doručovanie obsahu (CDN) teoreticky eliminujú tieto problémy a ich dôsledky. Ale v skutočnosti, ako obvykle, o všetkom rozhodujú detaily a nuansy konkrétneho prípadu, ktorých je v tejto oblasti dosť.

Kde sa vzala myšlienka distribuovaných sietí?

Začnime krátkym exkurzom do histórie a definíciami pojmov. CDN je sieť skupiny serverových strojov umiestnených na rôznych miestach, ktoré poskytujú prístup k internetovému obsahu, ktorý pokrýva veľký počet používateľov. Myšlienkou distribuovaných sietí je mať naraz niekoľko bodov prítomnosti (PoP), ktoré sa nachádzajú mimo zdrojového servera. Takýto systém bude spracovávať pole prichádzajúcich požiadaviek rýchlejšie, čím sa zvýši odozva a rýchlosť prenosu akýchkoľvek údajov.

Problém s doručovaním obsahu používateľom akútne vznikol na vrchole rozvoja internetu, t.j. v polovici 90. rokov. Vtedajšie servery, ktorých výkon nedosahoval ani moderné vlajkové notebooky, len ťažko znášali záťaž a nezvládali neustále narastajúcu návštevnosť. Microsoft utrácal ročne stovky miliónov dolárov na výskum súvisiaci s informačnou diaľnicou (v mysli sa mi okamžite vynorí známych 640 KB od Billa Gatesa). Na vyriešenie týchto problémov sme museli použiť hierarchické ukladanie do vyrovnávacej pamäte, prejsť z modemov na optické vlákna a podrobne analyzovať topológiu siete. Situácia pripomínala starú lokomotívu, ktorá sa rúti po koľajniciach a po ceste sa modernizuje všetkými možnými prostriedkami na zvýšenie rýchlosti.

Už koncom 90. rokov si majitelia webových portálov uvedomili, že na zníženie záťaže a poskytovanie požadovaných požiadaviek potrebujú využívať sprostredkujúce servery. Takto sa objavili prvé siete CDN, ktoré distribuovali statický obsah z rôznych serverov geograficky roztrúsených po celom svete. Približne v rovnakom čase sa objavil biznis založený na distribuovaných sieťach. Najväčší (aspoň jeden z najväčších) poskytovateľ CDN na svete, Akamai, sa stal priekopníkom v tejto oblasti a svoju cestu začal v roku 1998. O pár rokov neskôr sa CDN rozšírilo a príjmy z poskytovania obsahu a príspevkov dosahovali desiatky miliónov dolárov mesačne.

Dnes na CDN narazíme vždy, keď ideme na komerčnú stránku s vysokou návštevnosťou alebo komunikujeme na sociálnych sieťach. Službu poskytujú: Amazon, Cloudflare, Akamai, ako aj mnohí ďalší nadnárodní poskytovatelia. Navyše veľké spoločnosti majú tendenciu používať svoje vlastné CDN, čo im prináša množstvo výhod v rýchlosti a kvalite doručovania obsahu. Ak by Facebook nemal distribuované siete, ale uspokojil sa iba s pôvodným serverom umiestneným v Spojených štátoch, načítanie profilu pre používateľov vo východnej Európe by mohlo trvať výrazne dlhšie.

Pár slov o CDN a streamovaní

FutureSource Consulting analyzoval hudobný priemysel a dospel k záveru, že v roku 2023 dosiahne počet predplatiteľov hudobných streamovacích služieb takmer pol miliardy ľudí. Okrem toho služby získajú viac ako 90 % svojich príjmov zo streamovania zvuku. Situácia s videom je podobná, pojmy ako let’s play, online koncert či online kino sa už v populárnom slovníku udomácnili. Apple, Google, YouTube a mnoho ďalších spoločností má svoje vlastné streamovacie služby.

Vo svojom skorom zavedení sa CDN používal predovšetkým pre stránky so statickým obsahom. Statické sú informácie, ktoré sa nemenia v závislosti od akcií používateľa, času a iných faktorov, t.j. nie je personalizovaný. Vzostup streamovania video a audio služieb však pridal ďalší bežný prípad použitia pre distribuované siete. Sprostredkovateľské servery, ktoré sa nachádzajú v blízkosti cieľového publika po celom svete, umožňujú poskytovať stabilný prístup k obsahu počas obdobia špičkového zaťaženia, čím eliminujú nedostatok prekážok na internete.

Ako to funguje

Podstata všetkých CDN je približne rovnaká: využívať sprostredkovateľov, aby ste mohli rýchlejšie dodať obsah koncovému spotrebiteľovi. Funguje to nasledovne: používateľ odošle požiadavku na stiahnutie súboru, prijme ju server CDN, ktorý jednorazovo zavolá na pôvodný server a odovzdá obsah používateľovi. Súbežne s tým CDN ukladá súbory do vyrovnávacej pamäte na dané časové obdobie a spracováva všetky následné požiadavky z vlastnej vyrovnávacej pamäte. Voliteľne môžu tiež vopred načítať súbory zo zdrojového servera, upraviť dobu uchovávania vyrovnávacej pamäte, komprimovať ťažké súbory a oveľa viac. V najideálnejšej situácii hostiteľ odovzdá celý stream uzlu CDN, ktorý už používa svoje vlastné zdroje na doručovanie obsahu používateľom. Je samozrejmé, že efektívne ukladanie informácií do vyrovnávacej pamäte, ako aj distribúcia požiadaviek nie na jeden server, ale do siete, povedie k vyrovnanejšiemu zaťaženiu prevádzky.

Cesty obsahu sú nevyspytateľné alebo povedzme pár slov o CDN
Druhou dôležitou vlastnosťou prevádzky CDN je zníženie oneskorení pri prenose dát (známe aj ako RTT - round trip time). Nadviazanie TCP spojenia, sťahovanie mediálneho obsahu, JS súboru, spustenie relácie TLS, to všetko závisí od pingu. Je zrejmé, že čím bližšie ste k zdroju, tým rýchlejšie z neho môžete získať odpoveď. Veď aj rýchlosť svetla má svoj limit: okolo 200-tisíc km/s cez optické vlákno. To znamená, že z Moskvy do Washingtonu bude oneskorenie približne 75 ms v RTT, a to bez vplyvu medziľahlého zariadenia.

Aby ste lepšie pochopili, aké problémy riešia siete na distribúciu obsahu, tu je zoznam aktuálnych riešení:

  • Google, Yandex, MaxCDN (používajte bezplatné CDN na distribúciu knižníc JS, majú viac ako 90 miest prítomnosti vo väčšine krajín sveta);
  • Cloudinary, Cloudimage, Google (služby a knižnice na optimalizáciu klientov: obrázky, videá, písma atď.);
  • Jetpack, Incapsula, Swarmify atď. (optimalizácia zdrojov v redakčných systémoch: bitrix, wordpress a pod.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN na distribúciu statického obsahu, používané ako siete na všeobecné použitie);
  • Imperva, Cloudflare (riešenia na zrýchlenie načítania webových stránok).

Prvé 3 typy CDN zo zoznamu sú navrhnuté tak, aby prenášali iba časť prevádzky z hlavného servera. Zvyšné 2 sa používajú ako plnohodnotné proxy servery s plným prenosom kanálov zo zdrojového hostiteľa.

Komu a aké výhody technológia poskytuje?

Teoreticky môže implementácia CDN profitovať z akejkoľvek webovej stránky, ktorá predáva svoje produkty/služby firemným klientom alebo jednotlivcom (B2B alebo B2C). Dôležité je, aby jej cieľová skupina, t.j. používateľská základňa bola mimo ich geografickej polohy. Ale aj keby to tak nebolo, distribučné siete pomôžu s vyrovnávaním zaťaženia pri veľkých objemoch obsahu.

Nie je žiadnym tajomstvom, že na upchatie kanála servera stačí niekoľko tisíc vlákien. Preto distribúcia video vysielania širokej verejnosti nevyhnutne povedie k vytvoreniu úzkeho miesta - šírky pásma internetového kanála. To isté vidíme, keď je na webovej stránke veľa malých, nezošitých obrázkov (napríklad ukážky produktov). Pôvodný server používa jedno pripojenie TCP pri spracovaní ľubovoľného počtu požiadaviek, ktoré zaradia sťahovanie do frontu. Pridanie CDN si vyžaduje distribúciu požiadaviek vo viacerých doménach a používanie viacerých pripojení TCP, čím sa znižuje zaťaženie kanála. A vzorec obojsmerného oneskorenia, dokonca aj v tých najsmutnejších scenároch, dáva hodnotu 6-7 RRT a má formu: TCP+TLS+DNS. To zahŕňa aj oneskorenia spojené s aktiváciou rádiového kanála na zariadení a prenosom signálu do mobilných veží.

Po zhrnutí silných stránok technológie pre online podnikanie odborníci zdôrazňujú tieto body:

  1. Rýchle škálovanie infraštruktúry + znížená šírka pásma. Viac serverov = viac bodov, kde sú uložené informácie. Výsledkom je, že jeden bod spracuje menej prevádzky za jednotku času, čo znamená, že môže mať menšiu priepustnosť. Okrem toho do hry vstupujú optimalizačné nástroje, ktoré vám umožnia vyrovnať sa so špičkovým zaťažením bez straty času.
  2. Menej pingu. Už sme spomínali, že ľudia neradi dlho čakajú na internete. Preto vysoký ping prispieva k vysokej miere okamžitých odchodov. Oneskorenie môže byť spôsobené problémami so spracovaním údajov na serveri, používaním starého zariadenia alebo jednoducho zle premyslenou topológiou siete. Väčšinu týchto problémov čiastočne riešia siete na distribúciu obsahu. Aj keď je dôležité poznamenať, že skutočný prínos implementácie technológie bude viditeľný až vtedy, keď „spotrebiteľský ping“ prekročí 80-90 ms, a to je vzdialenosť z Moskvy do New Yorku.

    Cesty obsahu sú nevyspytateľné alebo povedzme pár slov o CDN

  3. Bezpečnosť údajov. Útoky vírusov DDos (Denial of Service) sú zamerané na zrútenie servera s cieľom získať nejaké výhody. Jeden server je oveľa náchylnejší na zraniteľnosti informačnej bezpečnosti ako distribuovaná sieť (inštalácia infraštruktúry takého giganta ako CloudFlare nie je ľahká úloha). Vďaka použitiu filtrov a správnej distribúcii požiadaviek po sieti môžete jednoducho zabrániť umelo vytvoreným ťažkostiam s prístupom k legitímnej prevádzke.
  4. Rýchla distribúcia obsahu a doplnkové servisné funkcie. Distribúcia veľkého množstva informácií na serverovú sieť umožní rýchlo sprostredkovať ponuku konečnému spotrebiteľovi. Príklady opäť nemusíte hľadať ďaleko – stačí si spomenúť na Amazon a AliExpress.
  5. Schopnosť „maskovať“ problémy s hlavnou stránkou. Nie je potrebné čakať, kým sa DNS aktualizuje, môžete ho preniesť na nové miesto a distribuovať predtým uložený obsah. To zase môže zlepšiť odolnosť voči chybám.

Zoradili sme výhody. Teraz sa pozrime, ktoré výklenky z toho profitujú.

Reklamný biznis

Reklama je motorom pokroku. Aby motor nevyhorel, musí byť mierne zaťažený. Takže reklamný biznis, ktorý sa snaží vyrovnať sa s moderným digitálnym svetom, čelí problémom „ťažkého obsahu“. Ťažké médiá označujú multimediálnu reklamu (hlavne animované bannery a videá), ktorá si vyžaduje veľkú šírku pásma siete. Webová stránka s multimédiami sa načítava dlho a môže zamrznúť, čo testuje silu nervov používateľov. Väčšina ľudí opustí takéto zdroje ešte predtým, ako si stiahnu všetky dostupné informácie. Reklamné spoločnosti môžu využiť CDN na riešenie týchto problémov.

predaj

Elektronický obchod musí neustále rozširovať svoje geografické pokrytie. Ďalším dôležitým bodom je boj s konkurentmi, ktorých je v každom segmente trhu dostatok. Ak webová stránka nespĺňa požiadavky používateľov (vrátane dlhého načítania), nebude populárna a nebude schopná prinášať trvalo vysoké konverzie. Implementácia CDN by mala preukázať svoju výhodu pri vybavovaní žiadostí o údaje z rôznych miest. Rozloženie návštevnosti tiež pomôže predchádzať špičkám návštevnosti a následným zlyhaniam servera.

Platformy so zábavným obsahom

Tu sú vhodné všetky druhy zábavných platforiem, od sťahovania filmov a hier až po streamovanie videí. Napriek tomu, že technológia pracuje so statickými dátami, streamované dáta sa môžu dostať k užívateľovi rýchlejšie cez opakovače. Opäť platí, že cachovanie CDN informácií je spásou pre majiteľov veľkých portálov – multimediálnych úložísk.

Online hry

Internetové hry musia byť umiestnené v samostatnej sekcii. Ak reklama vyžaduje veľkú šírku pásma, online projekty sú ešte náročnejšie na zdroje. Poskytovatelia čelia problému, ktorý má dve strany: rýchlosť prístupu k serverom + zabezpečenie vysokého herného výkonu s krásnou grafikou. CDN pre online hry je príležitosťou mať takzvané „push zóny“, kde môžu vývojári ukladať hry na servery umiestnené blízko používateľov. To vám umožní znížiť vplyv rýchlosti prístupu k pôvodnému serveru, a tým zabezpečiť pohodlné hranie kdekoľvek.

Prečo CDN nie je všeliekom

Cesty obsahu sú nevyspytateľné alebo povedzme pár slov o CDN
Napriek zjavným výhodám nie každý a nie vždy sa snaží zavádzať technológie do svojho podnikania. prečo je to tak? Paradoxne, niektoré nevýhody vyplývajú z výhod, plus niekoľko ďalších bodov súvisiacich s nasadením siete. Obchodníci budú krásne rozprávať o všetkých výhodách technológie, pričom zabudnú spomenúť, že všetky strácajú zmysel v širokej škále podmienok. Ak sa podrobnejšie pozrieme na nevýhody CDN, stojí za to zdôrazniť:

  • Pracujte len so statikou. Áno, väčšina moderných webových stránok má nízke percento dynamického obsahu. Ale tam, kde sú stránky personalizované, CDN nebude môcť pomôcť (možno okrem uvoľnenia veľkého množstva návštevnosti);
  • Oneskorenie ukladania do vyrovnávacej pamäte. Samotná optimalizácia je jednou z hlavných výhod distribučných sietí. Keď však vykonáte zmenu na pôvodnom serveri, chvíľu trvá, kým ju CDN znova načíta na všetkých svojich serveroch;
  • Hromadné blokovania. Ak je z akéhokoľvek dôvodu IP adresa CDN zakázaná, všetky stránky, ktoré sú na nej hosťované, sú zatvorené;
  • Vo väčšine prípadov prehliadač vytvorí dve pripojenia (k pôvodnému serveru a CDN). A to sú ďalšie milisekundy čakania;
  • Väzba na IP adresu projektov (vrátane neexistujúcich), ktoré jej boli predtým priradené. V dôsledku toho dostávame komplikované hodnotenia od vyhľadávacích robotov Google a ťažkosti s privedením stránky na vrchol počas propagácie SEO;
  • Uzol CDN je potenciálnym bodom zlyhania. Ak ich používate, je dôležité vopred pochopiť, ako funguje smerovanie systému a aké chyby sa môžu vyskytnúť pri práci s webom;
  • Je to banálne, ale za služby doručovania obsahu musíte platiť. Vo všeobecnosti sú náklady úmerné objemu dopravy, čo znamená, že na plánovanie rozpočtu môžu byť potrebné kontroly.

Dôležitý fakt: ani blízkosť CDN k používateľovi nezaručuje nízky ping. Trasa môže byť postavená od klienta k hostiteľovi v inej krajine alebo dokonca na inom kontinente. Závisí to od smerovacej politiky konkrétnej siete a jej vzťahu s telekomunikačnými operátormi (peering). Mnoho veľkých poskytovateľov CDN má viacero plánov, kde náklady priamo ovplyvňujú blízkosť bodu prítomnosti pri doručovaní obsahu cieľovým používateľom.

Existujú príležitosti - spustite svoje vlastné CDN

Nie ste spokojní s politikou spoločností poskytujúcich služby siete na distribúciu obsahu, ale vaša firma potrebuje expandovať? Ak je to možné, skúste spustiť vlastné CDN. To dáva zmysel v nasledujúcich prípadoch:

  • Súčasné náklady na distribúciu obsahu nespĺňajú očakávania a nie sú ekonomicky opodstatnené;
  • Potrebujeme trvalú vyrovnávaciu pamäť bez blízkosti iných stránok na serveri a kanáli;
  • Cieľové publikum je v regióne, kde nemáte k dispozícii žiadne miesta prítomnosti CDN;
  • Potreba personalizácie nastavení pri doručovaní obsahu;
  • Je potrebné urýchliť poskytovanie dynamického obsahu;
  • Podozrenia z porušovania súkromia používateľov a iných protiprávnych konaní zo strany služieb tretích strán.

Spustenie CDN bude vyžadovať, aby ste mali názov domény, niekoľko serverov v rôznych regiónoch (virtuálnych alebo vyhradených) a nástroj na spracovanie požiadaviek. Nezabudnite na inštaláciu certifikátov SLL, nastavenie a úpravu programov na obsluhu statického obsahu (Nginx alebo Apache) a efektívne monitorovanie celého systému.

Správna konfigurácia cachovacích proxy je predmetom samostatného článku, preto sa tu nebudeme podrobne rozpisovať: kde a aký parameter správne nastaviť. Vzhľadom na počiatočné náklady a čas potrebný na nasadenie siete môže byť použitie hotových riešení sľubnejšie. No treba sa riadiť aktuálnou situáciou a naplánovať si niekoľko krokov dopredu.

S tým výsledkom, že

CDN je súbor dodatočných kapacít na prenos vašej premávky medzi masy. Sú potrebné pre online podnikanie? Áno aj nie, všetko závisí od toho, pre aké publikum je obsah určený a aké ciele sleduje majiteľ firmy.

Regionálne a vysoko špecializované projekty budú mať z implementácie CDN viac nevýhod ako výhod. Požiadavky budú stále prichádzať najskôr na zdrojový server, ale cez sprostredkovateľa. Preto pochybné zníženie pingu, ale celkom jednoznačné mesačné náklady na používanie služby. Ak máte dobré sieťové vybavenie, môžete jednoducho vylepšiť existujúce algoritmy zabezpečenia informácií, umiestniť svoje servery bližšie k používateľom a priebežne dostávať optimalizácie a zisky zadarmo.

Kto by však mal skutočne myslieť na sprostredkujúce servery, sú veľké spoločnosti, ktorých infraštruktúra sa nedokáže vyrovnať s neustále rastúcim tokom prevádzky. CDN sa dokonale ukazuje ako technológia, ktorá vám umožňuje rýchlo nasadiť sieť v širokej škále používateľov, poskytovať pohodlné cloudové hry alebo predávať tovar na veľkej komerčnej platforme.

Ale aj pri širokom geografickom publiku je dôležité vopred pochopiť, prečo sú potrebné siete na distribúciu obsahu. Akcelerácia webových stránok stále zostáva komplexnou úlohou, ktorú nemožno magicky vyriešiť implementáciou CDN. Nezabudnite na také dôležité funkcie, ako sú: cross-platform, adaptabilita, optimalizácia serverovej časti, kód, rendering atď. Predbežný technický audit a adekvátne opatrenia na odstránenie problémov sú stále optimálnym riešením každého online projektu bez ohľadu na jeho zameranie a rozsah.

O právach reklamy

Objednávať môžete už teraz výkonné serveryktoré využívajú najnovšie procesory amd epyc. Flexibilné plány - od 1 jadra CPU až po šialených 128 jadier CPU, 512 GB RAM, 4000 GB NVMe.

Cesty obsahu sú nevyspytateľné alebo povedzme pár slov o CDN

Zdroj: hab.com

Pridať komentár