Неспавядальныя шляхі кантэнту ці пра CDN замовім слова

Неспавядальныя шляхі кантэнту ці пра CDN замовім слова

Адмова ад адказнасці:
Гэты артыкул не нясе ў сабе звестак раней невядомых чытачам, знаёмым з паняццем CDN, а носіць характар ​​агляду тэхналогіі.

Першая вэб-старонка з'явілася ў 1990 году і мела памер у лічаныя байты. З таго часу кантэнт маштабуецца як якасна, так і колькасна. Развіццё ІТ-экасістэмы прывяло да таго, што сучасныя вэб-старонкі вымяраюцца мегабайтамі і тэндэнцыя да павелічэння прапускной здольнасці сетак з кожным годам толькі ўмацоўваецца. Як кантэнт-правайдэрам ахапіць вялікія геаграфічныя маштабы і забяспечыць карыстальнікам паўсюдна высокую хуткасць доступу да інфармацыі? З гэтымі задачамі павінны спраўляцца сеткі дастаўкі і дыстрыбуцыі кантэнту, яны ж Content Delivery Network ці проста CDN.

У інтэрнэце ўсё больш "цяжкага" кантэнту. Пры гэтым шматлікія даследаванні паказваюць, што карыстачы не жадаюць мець справу з вэб-сэрвісамі, калі тыя грузяцца даўжэй 4-5 секунд. Занадта нізкая хуткасць загрузкі сайта багатая стратай аўдыторыі, што абавязкова прывядзе і да памяншэння трафіку, канверсіі, а значыць і прыбытку. Сеткі дастаўкі кантэнту (CDN), у тэорыі, дазваляюць пазбавіцца ад гэтых праблем і іх наступстваў. Але на справе ўсё як звычайна вырашаюць дэталі і нюансы пэўнага выпадку, якіх у гэтай сферы дастаткова.

Адкуль узялася ідэя размеркаваных сетак

Пачнём з кароткага экскурсу ў гісторыю і вызначэнні тэрмінаў. CDN - сетка з групы серверных машын, размешчаных у розных месцах для прадастаўлення доступу да інтэрнэт-кантэнту з ахопам вялікай колькасці карыстальнікаў. Ідэя размеркаваных сетак у наяўнасці адразу некалькіх кропак прысутнасці (РРР), якія знаходзяцца за межамі зыходнага сервера. Такая сістэма хутчэй апрацуе масіў якія паступаюць запытаў, павялічваючы водгук і хуткасць перадачы якіх-небудзь дадзеных.

Праблема з дастаўкай кантэнту карыстальнікам востра ўзнікла на піку развіцця інтэрнэту, г.зн. у сярэдзіне 90-ых. Тагачасныя серверы, прадукцыйнасць якіх не дацягвала нават да сучасных флагманскіх лэптопаў, з працай вытрымоўвалі нагрузку і не маглі спраўляцца з стала які расце трафікам. Майкрасофт штогод марнавала сотні мільёнаў даляраў на даследаванні, звязаныя з інфармацыйнай магістраллю (адразу ўспамінаюцца знакамітыя 640 КБ ад Біла Гейтса). На шляху вырашэння гэтых пытанняў даводзілася выкарыстоўваць іерархічнае кэшаванне, пераходзіць з мадэмаў на оптавалакно і разбіраць падрабязна тапалогію сетак. Сітуацыя нагадвала стары лакаматыў, які нясецца па рэйках і па ходзе мадэрнізуецца ўсімі магчымымі сродкамі для павелічэння хуткасці.

Ужо ў канцы 90-ых уладальнікі вэб-парталаў зразумелі, што для зніжэння нагрузкі і забеспячэнні патрабаваных запытаў трэба выкарыстоўваць сервера пасярэднікі. Так з'явіліся першыя CDN, якія раздаюць статычны кантэнт з розных сервераў, геаграфічна якія былі раскіданыя па свеце. Прыблізна ў гэты час з'явіўся і бізнэс на размеркаваных сетках. Найбуйнейшы (як мінімум адзін з найбуйных) CDN правайдэр у міры, кампанія Akamai, стала піянерам у гэтай вобласці, пачаўшы свой шлях у 1998 году. Пару гадоў праз CDN стаў масавым, а прыбыткі ад дастаўкі і кантрыбуцыі кантэнту вылічаліся дзясяткамі мільёнаў даляраў штомесяц.

Сёння мы сутыкаемся з CDN кожны раз пры пераходзе на камерцыйную старонку з вялікім трафікам ці зносінах у сацыяльных сетках. Паслугу падаюць: Amazon, Cloudflare, Akamai, а таксама мноства іншых транснацыянальных правайдэраў. Прычым буйныя кампаніі імкнуцца выкарыстоўваць уласныя CDN, што прыносіць ім шэраг пераваг у хуткасці і якасці дастаўкі кантэнту. Калі б Facebook не меў размеркаваных сетак, а здавольваўся б толькі зыходным серверам, які размяшчаецца ў ЗША, загрузка профіля ў карыстачоў усходняй Еўропы магла б займаць значна большае часу.

Пару слоў аб CDN і стрымінгу

Агенцтва FutureSource Consulting правяло аналіз музычнай індустрыі і зрабіла выснову, што ў 2023 годзе колькасць падпісак на музычныя стрымінгавыя сэрвісы дасягне амаль паўмільярда чалавек. Прычым больш за 90% даходаў сэрвісы будуць атрымліваць менавіта ад струменевага аўдыё. З відэа сітуацыя падобная, у народным лексіконе ўжо замацаваліся такія тэрміны, як: лётсплей, анлайн канцэрт і анлайн кінатэатр. Свае стрымінгавыя сэрвісы ёсць у Apple, Google, YouTube і многіх іншых кампаній.

У раннім уяўленні CDN выкарыстоўваўся пераважна для сайтаў са статычным кантэнтам. Статыкай называюць інфармацыю, якая не змяняецца ў залежнасці ад дзеянняў карыстальніка, часу і іншых фактараў, г.зн. не з'яўляецца персаналізаванай. Але развіццё струменевага відэа і аўдыё сэрвісаў дадало яшчэ адзін распаўсюджаны сцэнар для выкарыстання размеркаваных сетак. Сервера пасярэднікі, знаходзячыся паблізу мэтавай аўдыторыі па ўсім свеце, дазваляюць забяспечыць стабільны доступ да кантэнту ў перыяды пікавых нагрузак, выключаючы недахоп "вузкіх месцаў" інтэрнэту.

Як гэта працуе

Сутнасць усіх CDN прыблізна аднолькавая: выкарыстоўваць пасярэднікаў, каб мець магчымасць хутчэй дастаўляць кантэнт да канчатковага спажыўца. Працуе гэта наступным чынам: карыстач адсылае запыт на загрузку файла, яго атрымлівае СDN сервер, які аднаразова звяртаецца да арыгінальнага сервера і аддае карыстачу кантэнт. Паралельна з гэтым СDN кэшуецца ў сябе файлы на зададзены прамежак часу і ўжо ўсе наступныя запыты апрацоўвае з уласнага Кэша. Апцыянальна яны таксама ўмеюць папярэдне падгружаць файлы з зыходнага сервера, наладжваць тэрмін захоўвання Кэша, сціскаць цяжкія файлы і шматлікае іншае. У самай ідэальнай сітуацыі, хост перадае ўвесь паток вузлу CDN, якая ўжо выкарыстоўвае ўласныя рэсурсы для дастаўкі кантэнту карыстальнікам. Само сабой, што эфектыўнае кэшаванне інфармацыі, а таксама размеркаванне запытаў не на адзін сервер, а на сетку, прывядзе да больш збалансаванай нагрузкі трафіку.

Неспавядальныя шляхі кантэнту ці пра CDN замовім слова
Другой важнай асаблівасцю працы CDN з'яўляецца памяншэнне затрымак на перадачу дадзеных (яны ж RTT - round trip time). Ўстаноўка ТСР-злучэння, загрузка мэдыякантэнту, JS-файла, запуск TLS-сесіі, усё гэта залежыць ад пінгу. Відавочна, што чым бліжэй вы знаходзіцеся да крыніцы, тым хутчэй зможаце атрымаць ад яго водгук. Бо нават у хуткасці святла ёсць свая мяжа: каля 200 тысяч км/с па оптавалакне. Гэта азначае, што ад Масквы да Вашынгтона затрымка складзе каля 75 мс у RTT, і гэта без уплыву прамежкавага абсталявання.

Каб лепш зразумець якія задачы вырашаюць сеткі распаўсюджвання кантэнту, прывядзем спіс актуальных на сённяшні дзень рашэнняў:

  • Google, Yandex, MaxCDN (выкарыстоўваюць бясплатныя CDN з мэтай раздачы JS-бібліятэк, маюць больш за 90 кропак прысутнасці ў большасці краін свету);
  • Cloudinary, Cloudimage, Google (сэрвісы і бібліятэкі кліенцкай аптымізацыі: карцінкі, відэа, шрыфты і г.д.);
  • Jetpack, Incapsula, Swarmify і т.д. (аптымізацыя рэсурсаў у сістэмах кіравання кантэнтам: bitrix, wordpress і г.д.);
  • CDNVideo, StackPath, NGENIX, Мегафон (CDN для раздачы статычнага кантэнту, выкарыстоўваюцца ў якасці сетак агульнага прызначэння);
  • Imperva, Cloudflare (рашэнні для паскарэння загрузкі вэб-сайтаў).

Першыя 3 тыпу CDN з прыведзенага спісу разлічаны на перадачу толькі часткі трафіку з асноўнага сервера. Пакінутыя 2 выкарыстоўваюцца як паўнавартасныя проксі серверы з поўнай перадачай каналаў ад зыходнага хаста.

Каму і якія выгады дае тэхналогія

У тэорыі, любы сайт, які прадае свае тавары/паслугі карпаратыўным кліентам або фізічным асобам (В2В або В2С) можа мець профіт ад укаранення CDN. Важна, каб яго мэтавая аўдыторыя, г.зн. карыстацкая база, знаходзілася за межамі іх геаграфічнага месцазнаходжання. Але нават калі гэта не так, сеткі распаўсюджвання дапамогуць з балансаваннем нагрузкі пры вялікіх аб'ёмах кантэнту.

Не сакрэт, што для забіўкі сервернага канала дастаткова пары тысяч патокаў. Таму раздача відэатрансляцыі на шырокія масы немінуча прывядзе да адукацыі вузкага месца - прапускной здольнасці інтэрнэт-канала. Гэта ж назіраем, калі на сайце мноства дробных не злепленых карцінак (прэв'ю тавараў, напрыклад). Зыходны сервер выкарыстоўвае адно ТСР-падлучэнне пры апрацоўцы любой колькасці запытаў, што паставіць загрузку ў чаргу. Даданне CDN прыводзіць да неабходнасці разнесці запыты на некалькі даменаў і выкарыстоўваць некалькі TCP-падлучэнняў, разгрузіўшы канал. А формула кругавой затрымкі, нават пры самых сумных раскладах, дае велічыню 6-7 RRT і набывае выгляд: TCP+TLS+DNS. Сюды справядліва таксама ўключыць затрымкі, звязаныя з актывацыяй радыёканала на прыладзе і перадачай сігналу на сотавых вышках.

Абагульніўшы моцныя бакі тэхналогіі для бізнесу ў інтэрнэце, спецыялісты вылучаюць такія пункты:

  1. Хуткае маштабаванне інфраструктуры + памяншэнне прапускной здольнасці. Больш сэрвэраў = больш кропак, на якіх захоўваецца інфармацыя. У выніку адна кропка апрацоўвае меншую колькасць трафіку ў адзінку часу, а значыць можа мець меншую прапускную здольнасць. Дадаткова ў ход уступаюць прылады аптымізацыі, што дазваляе спраўляцца з пікавым нагрузкамі без страты часу.
  2. Меншы пінг. Мы ўжо ўзгадвалі, што людзі не любяць доўга чакаць у інтэрнэце. А таму высокі пінг спрыяе высокім паказчыкам адмоў. Затрымка можа быць выклікана праблемамі з апрацоўкай дадзеных на серверы, выкарыстаннем старога абсталявання ці проста непрадуманай тапалогіяй сеткі. Большасць з гэтых праблем часткова вырашаюць сеткі распаўсюджвання кантэнту. Хоць тут важна адзначыць, што рэальная карысць ад укаранення тэхналогіі будзе бачная толькі ў тым выпадку, калі "спажывецкі пінг" перавышае 80-90 мс, а гэтая адлегласць ад Масквы да Нью-Ёрка.

    Неспавядальныя шляхі кантэнту ці пра CDN замовім слова

  3. Бяспека даных. DDos`ы (вірусныя напады тыпу "адмова ў абслугоўванні") накіраваны на збой у працы сервера з мэтай атрымання якой-небудзь выгады. Адзін сервер нашмат больш схільны ўразлівасцям інфармацыйнай бяспекі чым размеркаваная сетка (пакласці інфраструктуру такога гіганта як CloudFlare задача не з простых). Дзякуючы выкарыстанню фільтраў і пісьменнаму размеркаванню запытаў па сетцы можна без праблем прадухіліць штучна створаныя складанасці з доступам да легітымнага трафіку.
  4. Хуткае распаўсюджванне кантэнту і дадатковыя сэрвісныя функцыі. Размеркаванне вялікіх масіваў інфармацыі на серверную сетку дазволіць хутчэй данесці прапанову да канчатковага спажыўца. За прыкладамі, зноў жа, далёка хадзіць не трэба - дастаткова ўспомніць Амазон і АліЭкспрэс.
  5. Магчымасць "замаскіраваць" праблемы з асноўным сайтам. Не трэба чакаць пакуль абновяцца DNS, можна перакінуць яго на новую лакацыю з раздачай раней закэшаванага кантэнту. Гэта ў сваю чаргу можа палепшыць адмоваўстойлівасць.

З перавагамі разабраліся. А зараз разгледзім якім нішам гэта выгодна.

Рэкламны бізнэс

Рэклама - рухавік прагрэсу. А каб рухавік не перагарэў, яго трэба нагружаць у меру. Вось і рэкламны бізнэс, спрабуючы адпавядаць сучаснаму лічбаваму міру сутыкаецца з праблемамі "цяжкага кантэнту". Пад цяжкім разумеецца мультымедыйная рэклама (галоўным чынам аніміраваныя банеры і відэаролікі), якая патрабуе высокіх прапускных здольнасцяў сеткі. Вэб-сайт з мультымедыя грузіцца доўга і можа падвісаць, правяраючы на ​​трываласць нервы карыстачоў. Большасць адмаўляюцца ад такіх рэсурсаў яшчэ да таго, як яны прагрузяць усю наяўную інфармацыю. Рэкламныя кампаніі могуць выкарыстоўваць перавагі CDN у вырашэнні гэтых праблем.

Продажы

Электронная камерцыя мае патрэбу ў пастаянным пашырэнні геаграфічнага пакрыцця. Яшчэ адным важным момантам з'яўляецца барацьба з канкурэнтамі, якіх у кожным сегменце рынку ў лішку. Калі вэб-сайт не адпавядае патрабаванням карыстальніка (у тым ліку доўга грузіцца) ён не будзе папулярны і не зможа прыносіць стабільна высокую канверсію. Укараненне CDN павінна паказаць сваю перавагу пры апрацоўцы запытаў дадзеных з розных месцаў. Таксама размеркаванне трафіку дапаможа прадухіліць яго воплескі і наступныя за гэтым збоі ў працы сервера.

Пляцоўкі з забаўляльным кантэнтам

Сюды падыходзяць разнастайныя забаўляльныя пляцоўкі, пачынальна ад загрузкі фільмаў і гульняў, сканчаючы струменевым відэа. Нягледзячы на ​​тое, што тэхналогія працуе са статыкай, струменевыя дадзеныя могуць хутчэй пападаць да карыстача пасродкам рэтранслятараў. Зноў жа, кэшаванне інфармацыі CDN з'яўляецца выратаваннем для ўладальнікаў буйных парталаў - сховішчаў мультымедыя.

Анлайн гульні

Інтэрнэт гульні неабходна вынесці ў асобны пункт. Калі рэклама мае патрэбу ў вялікіх прапускных здольнасцях, то анлайн-праекты яшчэ больш патрабавальныя да рэсурсаў. Правайдэры сутыкаюцца з праблемай, якая мае два бакі: хуткасць доступу да сервераў + забеспячэнне высокай гульнявой прадукцыйнасці з прыгожай графікай. CDN для анлайн гульняў - гэта магчымасць мець так званыя "push-зоны", дзе распрацоўшчыкі могуць захоўваць гульні на серверах, размешчаных побач з карыстальнікамі. Гэта дазваляе паменшыць уплыў хуткасці доступу да зыходнага сервера, а значыць і забяспечыць паўсюдна камфортны геймплэй.

Чаму CDN - не панацэя

Неспавядальныя шляхі кантэнту ці пра CDN замовім слова
Нягледзячы на ​​відавочныя добрыя якасці, не ўсе і не заўсёды імкнуцца ўкараняць тэхналогію ў свой бізнэс. Чаму так? Як гэта не парадаксальна, некаторыя недахопы выцякаюць з пераваг, плюс дадаецца яшчэ пару пунктаў, злучаных з разгортваннем сеткі. Маркетолагі прыгожа раскажуць пра ўсе добрыя якасці тэхналогіі, забыўшыся згадаць аб тым, што ўсе яны губляюць сэнс у шырокім дыяпазоне ўмоў. Калі больш падрабязна разглядаць мінусы CDN, то варта вылучыць:

  • Праца толькі са статыкай. Так, большасць сучасных сайтаў маюць нізкі працэнт дынамічнага кантэнту. Але там, дзе старонкі персаналізаваныя, CDN нічым дапамагчы не зможа (хіба што разгрузіць вялікі аб'ём трафіку);
  • Затрымка кэшавання. Сама па сабе аптымізацыя з'яўляецца адной з галоўных пераваг размеркавальных сетак. Але пры занясенні змен на зыходным серверы праходзіць час, перш чым CDN перакэшуе яе на ўсіх сваіх серверах;
  • Масавыя блакіроўкі. Калі па якім-небудзь чынніку лазяць IP адрас CDN, то зачыняюцца ўсе сайты, якія на ім размешчаны;
  • У большасці выпадкаў браўзэр будзе ўсталёўваць два злучэнні (з зыходным серверам і CDN). А гэта дадатковыя мілісекунды чакання;
  • Прывязка да IP адрасу праектаў (у тым ліку неіснуючых), якія раней былі за ім замацаваны. У выніку атрымліваем ускладненую ранжыроўку ад пошукавых робатаў Гугла і складанасці з высновай сайта ў топ пры SEO пасоўванні;
  • CDN вузел - гэта патэнцыйная кропка адмовы. Калі іх выкарыстоўваць, важна загадзя разумець, як уладкована маршрутызацыя сістэмы, і якія памылкі могуць узнікнуць падчас працы з сайтам;
  • Банальна, але за паслугі дастаўкі кантэнту неабходна плаціць. У асноўным выдаткі прапарцыйныя аб'ёму трафіку, а значыць можа спатрэбіцца кантроль для планавання бюджэту.

Немалаважны факт: нават блізкасць CDN да карыстача не гарантуе нізкі пінг. Пабудова маршруту можа ажыццяўляцца ад кліента да хаста, размешчанага ў іншай краіне ці нават на іншым кантыненце. Гэта залежыць ад палітыкі маршрутызацыі канкрэтнай сеткі і яе ўзаемаадносін з аператарамі сувязі (пірынга). Многія буйныя пастаўшчыкі CDN маюць некалькі тарыфаў, дзе кошт напрамую ўплывае на блізкасць пункту прысутнасці пры перадачы кантэнту мэтавым карыстальнікам.

Ёсць магчымасці - запускай уласную CDN

Не задавальняе палітыка кампаній, якія прадстаўляюць паслугі сетак распаўсюджвання кантэнту, але бізнэс мае патрэбу ў пашырэнні? Калі есць магчымасці, то чаму б не паспрабаваць запуск уласнага CDN. Гэта мае сэнс у наступных выпадках:

  • Бягучыя выдаткі на распаўсюджванне кантэнту не апраўдваюць сваіх чаканняў і не з'яўляюцца эканамічна абгрунтаванымі;
  • Патрэбны пастаянны кэш, без суседства з іншымі сайтамі па серверы і каналу;
  • Мэтавая аўдыторыя знаходзіцца ў рэгіёне, дзе няма кропак прысутнасці даступных вам CDN;
  • Неабходнасць персаналізаваць наладкі пры дастаўцы кантэнту;
  • Патрабуецца паскорыць дастаўку дынамічнага кантэнту;
  • Падазроны ў парушэнні канфідэнцыйнасці карыстальнікаў і іншых неправамерных дзеяннях з боку іншых сэрвісаў.

Запуск CDN запатрабуе ад вас даменнага імя, некалькі сервераў у розных рэгіёнах (віртуальных ці выдзеленых) і прылады па апрацоўцы запытаў. Не забываем пра ўсталёўку SLL сертыфікатаў, наладзе і рэдагаванню праграм па аддачы статычнага кантэнту (Nginx ці Apache), ну і эфектыўнаму маніторынгу ўсёй сістэмы.

Правільнае канфігураванне кэшуючых проксі з'яўляецца матэрыялам асобнага артыкула, таму тут не будзем падрабязна распісваць: дзе і які параметр правільна выставіць. Улічваючы стартавыя выдаткі і час на разгортванне сеткі, выкарыстанне гатовых рашэнняў можа быць больш перспектыўна. Але кіравацца неабходна кан'юнктурай і планаваннем на некалькі крокаў наперад.

Што ў выніку

CDN - гэта набор дадатковых магутнасцяў для рэтрансляцыі вашага трафіку на шырокія масы. Ці патрэбны яны для бізнэсу ў інтэрнэце? І так, і не, усё залежыць ад таго, на якую аўдыторыю разлічаны кантэнт і якія мэты мае ўладальнік бізнэсу.

Рэгіянальныя і вузкаспецыялізаваныя праекты атрымаюць ад укаранення CDN больш мінусаў, чым плюсаў. Запыты ўсё таксама будуць прыходзіць спачатку на зыходны сервер, але ўжо праз пасярэдніка. Адгэтуль сумнеўнае памяншэнне пінгу, але суцэль вызначаныя штомесячныя выдаткі на карыстанне паслугай. Пры наяўнасці добрага сеткавага абсталявання можна спакойна ўдасканальваць існуючыя алгарытмы інфармацыйнай бяспекі, размяшчаць свае серверы бліжэй да карыстальнікаў і атрымліваць аптымізацыі і профіт бясплатна на пастаяннай аснове.

А вось каму рэальна варта задумацца аб серверах-пасрэдніках, дык гэта буйным кампаніям, інфраструктура якіх не спраўляецца з пастаянна расце патокам трафіку. CDN выдатна паказвае сябе як тэхналогія, якая дазваляе хутка разгарнуць сетку на шырокую геаграфію карыстальнікаў, забяспечыць камфортны хмарны геймінг або прадаваць тавары на вялікай камерцыйнай пляцоўцы.

Але нават пры шырокай геаграфіі аўдыторыі важна загадзя разумець для чаго канкрэтна неабходныя сеткі распаўсюджвання кантэнту. Паскарэнне сайта ўсё гэтак жа застаецца комплекснай задачай, якая магічным чынам не вырашаецца укараненнем CDN. Не варта забываць пра такія важныя функцыі, як: кросплатформеннасць, адаптыўнасць, аптымізацыі сервернай часткі, кода, рэндэрынгу і г.д. Папярэдні тэхнічны аўдыт і адэкватныя меры па ўхіленні праблем усё таксама з'яўляюцца аптымальным рашэннем для любога анлайн праекту па-за залежнасцю ад яго скіраванасці і маштабаў.

На правах рэкламы

Прама зараз вы можаце замовіць магутныя серверы, якія выкарыстоўваюць найноўшыя працэсары AMD Epyc. Гнуткія тарыфы - ад 1 ядра CPU да вар'яцкіх 128 ядраў CPU, 512 ГБ RAM, 4000 ГБ NVMe.

Неспавядальныя шляхі кантэнту ці пра CDN замовім слова

Крыніца: habr.com

Дадаць каментар