Cdn krxd net что это
Перейти к содержимому

Cdn krxd net что это

CDN: что такое и как это работает

CDN: что такое и как это работает

Почему «тяжелые» многостраничные порталы с массой графического и видеоконтента порой открываются быстрее, чем сайты с несколькими картинками на страницу? Высокая скорость загрузки ресурса часто говорит о том, что сайт задействует CDN (Content Delivery Network), или сеть доставки контента.

В статье подробно расскажем о том, что это и как работает CDN-сеть, в чем ее плюсы и минусы. Также дадим рекомендации по выбору провайдера и поделимся статистикой.

Что такое CDN (Content Delivery Network)

Говоря простыми словами, CDN — это сетевая инфраструктура с распределенной серверной базой, которая предназначена для уменьшения времени доставки контента.

То есть это группа особым образом настроенных серверов, расположенных в разных геоточках. Серверы выступают в качестве узлов, которые позволяют быстро загружать контент ближайшим пользователям. Таким образом, разветвленная сеть CDN с расположенными неподалеку серверами позволяет значительно сократить время загрузки удаленных сайтов.

Основные термины CDN

Чтобы лучше понять, как работает технология CDN, введем несколько терминов:

  • Caching Rule (правило кэширования). Правило определяет, как долго ваш контент остается в кэше на пограничном уровне, то есть определяет TTL, время жизни объекта.
  • Edge Node (пограничный узел). Локальные серверы распределены по всему миру, они доставляют кэшированный контент пользователям, сокращая время передачи. Пограничные узлы также можно называть «точками присутствия» (англ. Points of Presence, или PoPs) — разницы между этими терминами нет. Точки присутствия кэшируют контент в течение установленного времени, которое определяется правилами кэширования.
  • Origin (исходный сервер, сервер-источник или «ориджин»). Это сервер, где хранятся исходные данные и откуда пограничные узлы извлекают нужную информацию. В качестве ориджина могут выступать, например, облачное хранилище или выделенный сервер. CDN может иметь и несколько серверов-источников.
  • Purge (очистка). Под термином Purge понимается механизм и процесс очистки контента на пограничных узлах для последующего обновления из ориджинов. Регулярная очистка и кэширование необходимы для того, чтобы конечные пользователи быстро получали актуальные данные после обновлений на сайте.
  • Restriction (ограничение). Пограничное правило, регулирующее, кто может, а кто не может получать доступ к содержимому из кэша. Примером такого ограничения является разрешение запросов только из определенных доменных зон, регионов или групп IP-адресов.
  • Time to Live, TTL (время жизни). Период времени, в течение которого ресурс кэшируется на пограничном узле (Edge Node, PoP), до того, как будет выполнено новое извлечение данных из источника, Origin.

О типах контента

Что касается данных, они делятся на два типа — статический и динамический.

Динамический контент

Динамический контент — содержимое страницы, которое изменяется в зависимости от ряда факторов:

  • время посещения,
  • местоположение пользователя,
  • устройство, с которого просматривается страница,
  • и других.

Динамика генерируется скриптами, которые изменяют содержимое страницы. В итоге она не будет выглядеть одинаково для всех. Это делает веб-страницы более персонализированными, добавляет возможности для интерактивного взаимодействия.

Примеры динамических данных:

  • новостные сайты с информацией, которая зависит от местоположения посетителя сайта или статуса входа в систему,
  • ленты социальных сетей; например, лента «Вконтакте» будет выглядеть совершенно по-разному для каждого пользователя и он может взаимодействовать с контентом — поставить лайк, поделиться, прокомментировать пост.

Динамические веб-страницы не хранятся в виде статических HTML-файлов. Вместо этого в ответ на такие события, как взаимодействие с пользователем или вход пользователя в систему, генерируется новый HTML-файл, который и отправляется в веб-браузер.

Так как динамический контент уникален для каждого пользователя, его нельзя кэшировать. Однако развитие технологий CDN позволяет ускорять даже динамический контент. Делать это, правда, могут далеко не все провайдеры, так как за ускорением динамического контента стоит целый список отдельно настраиваемых функций и условий.

Статический контент

Статический контент — это любые файлы на сервере, которые остаются неизменными или меняются минимально каждый раз, когда загружаются.

Примеры статического контента:

  • HTML-файлы,
  • изображений,
  • видео.

Так, статьи в блоге Selectel – это статический контент. После публикации текст и картинки практически не меняются. Статический (постоянный) контент во многом похож на печатный материал: чаще всего на определенной странице будут один и тот же текст и фотографии, независимо от условий взаимодействия с контентом и личности читающего.

Стандартный процесс кэширования постоянного контента заключается в том, что в кэше сохраняется копия статического файла — например, изображения. Это необходимо, чтобы файл был ближе к пользователю и быстрее загружался при повторном обращении.

Браузеры и CDN могут кэшировать статику в течение указанного периода времени (TTL) и предоставлять ее до тех пор, пока она запрашивается. Организовать это несложно, потому что статическое содержимое, в отличие от динамического, не меняется или меняется незначительно – может измениться одна иллюстрация или добавится запятая в текст.

Принцип работы CDN

Теперь опишем, как организованы сети Content Delivery Network. Обычная схема передачи данных в интернете (без использования CDN) реализована так, что все пользователи получают информацию напрямую с определенного сервера, который может находиться как угодно далеко.

CDN же позволяет загружать контент сразу, буквально в течение нескольких секунд. При этом неважно, находится ли исходный сервер (ориджин — вспоминаем термины) в Петербурге, Каире или Буэнос-Айресе.

Схема работы CDN следующая:

  1. У CDN-провайдера, к которому подключен сайт, есть группа уже настроенных серверов, размещенных на определенной территории (к примеру, в Европе, Азии или в обоих регионах). Эти серверы предназначены для раздачи прежде всего «тяжелого» статического, а также стримингового контента (видео), потому что динамика почти всегда грузится быстро.
  1. Теперь пользователь, который запрашивает страницу, переадресуется уже не к ориджину, а к ближайшему пограничному узлу. То есть для передачи контента задействуется высокопроизводительная сеть CDN-провайдера.
  1. При передаче стриминговых видео, которые записываются в режиме Live, ориджины после получения очередного пакета видеоданных сразу же ретранслируют его на пограничные узлы, с которых видеоконтент загружают ближайшие пользователи. Это и обеспечивает практически мгновенную загрузку тяжелых файлов.

Как организовать раздачу контента

Посмотрим, как это сделать, на примере услуги CDN в Selectel

  1. Переходим в раздел CDN в панели управления.

2. Нажимаем Создать CDN-ресурс.

создание cdn-ресурса

3. Вводим имя ресурса, выбираем провайдера (Selectel также предлагает CDN от Akamai).

выбор провайдера

4. Указываем источник контента — домен вашего сайта (например, ****.com), откуда CDN будет брать статические файлы.

5. Нажимаем Создать CDN-ресурс. CDN-провайдер создаст домен по умолчанию, с которого будет происходить раздача контента. Далее клиент может поменять домен по умолчанию на персональный домен.

Подробнее о том, как работать с Content Delivery Network в Selectel, читайте в базе знаний.

Вот и все: теперь при загрузке страницы вся статика (прежде всего изображения, анимация, видео) будет подгружаться распределенную инфраструктуру CDN-провайдера.

При этом для загрузки статического контента вовсе не обязательно использовать серверную базу владельца сайта. Куда удобнее настроить раздачу прямо из облачного хранилища (в Selectel также есть такая опция), обеспечивающих более быструю и стабильную загрузку тяжелых файлов.

Попробуйте CDN от Selectel

Как CDN понимает, где находится ближайший кэширующий сервер

Чтобы перенаправлять пользователей к ближайшим точкам присутствия, существуют два решения — GeoDNS и AnyCast.

Как работает GeoDNS

Когда пользователь запрашивает ваш DNS-сервер, тот ищет местоположение пользователя на основе его общедоступного IP-адреса в пакете запроса и находит ближайшую к этому местоположению точку присутствия.

Технология основана на алгоритме преобразования IP-адреса в географические координаты. Он известен как geo-IP.

Как работает Anycast

Anycast работает немного иначе, но дает аналогичные результаты. Решение связано с протоколом BGP, по которому передается информация о соседних сетях и о топографическом расстоянии до этих сетей.

Принцип Anycast-рассылки заключается в том, что диапазон IP-адресов объявляется в сообщениях BGP сразу нескольких маршрутизаторов. По мере того, как эта информация распространяется по сети, маршрутизаторы узнают, какой из их соседей обеспечивает кратчайший топографический путь к объявленному IP-адресу и перенаправляют сетевой трафик к этому узлу.

Как кэшируется контент

Часто процесс кэширования запускается при первом обращении к контенту. В этом случае пользователь, первым загружающий какой-нибудь статический файл, затрачивает на его загрузку больше времени. Зато у всех остальных пользователей, которые находятся в одном регионе с «первопроходцем», время загрузки значительно сокращается, поскольку файл уже будет кэширован.

Контент будет кэшироваться только в той точке присутствия, к которой обратился пользователь. Людям из других регионов придется ждать, пока тот же процесс завершится на ближайшем к нему Edge Node.

Чтобы решить эту проблему, узлы CDN настраивают таким образом, чтобы они выполняли обмен кэшированным контентом непосредственно между собой, без обращения к ориджину. При этом такой обмен пограничные узлы выполняют по запросам пользователей.

Вернемся к примеру с городами: пользователь из Владивостока решил заглянуть на петербургский интернет-портал, однако на ближайшей к нему точке присутствия статика с этого портала еще не кэширована. Этот пограничный узел не будет обращаться к ориджину в Санкт-Петербург, а просто запросит кэшированную версию этого контента у соседей — например, в Чите или Хабаровске. В результате время загрузки для пользователя из Владивостока существенно сократится.

Каким веб-сайтам лучше использовать технологию CDN

Целевыми клиентами CDN-провайдеров являются прежде всего порталы с обилием тяжелого статического контента и стриминговые сервисы. Скорость загрузки ресурсов в этом случае серьезно влияет на опыт пользователей, которые, при серьезном замедлении работы, просто уйдут с «тормозящего» сайта или сервиса. Ускорение работы веб-ресурсов с тяжелым контентом очень важно не только для привлечения аудитории, но и для сохранения лояльности пользователей.

Однако есть еще две целевые группы ресурсов, которые нуждаются в технологии. В первую очередь, это проекты с критически важным для клиентов контентом — например, банки, онлайн-школы и подобные компании. В случае неполадок на сервере пользователи могут лишиться доступа к нужным материалам, а компания понесет не только финансовые, но и серьезные репутационные потери. CDN в этом случае станет «палочкой-выручалочкой» и позволит поддерживать доступ к важным файлам настолько долго, насколько это потребуется техподдержке сайта для восстановления основных серверов.

Кроме того, сети доставки контента ощутимо ускоряют загрузку мобильного трафика. Сегодня это очень важно, ведь по статистике со смартфонов в сеть выходят чаще, чем с компьютеров. Таким образом, разработчикам приложений, рассчитывающих на продвижение своих мобильных продуктов, важно задумываться о том, как будет доходить контент до их пользователей.

Для каких проектов и задач необходим CDN

Теперь мы плавно подошли к рассмотрению плюсов и минусов CDN.

Преимущества использования серверов CDN

Более быстрая доставка контента

Поскольку узлы сетей CDN чаще всего расположены ближе к пользователю, чем основные серверы, можно ускорить загрузку, ведь расстояние для передачи контента сокращается.

Например, если ваш веб-сайт находится в России, но вы также получаете трафик из Казахстана, вполне возможно, что у вашего провайдера CDN есть серверы в обеих странах. И провайдер будет использовать эти серверы для подгрузки статики вашего сайта пользователям из Казахстана и соседних стран.

Большее количество одновременных посетителей

Хороший CDN-провайдер гарантирует, что большое количество пользователей из разных регионов и стран сможет получать доступ к сети одновременно и без задержек.

Постоянная доступность

Серверы CDN работают всегда, и ваш сайт будет хотя бы частично доступен, даже если на главном сервере случился сбой. Например, основной сервер какого-то СМИ или маркетплейса «прилег» под нагрузкой. Благодаря CDN пользователям будет доступен статический контент из кэша — они смогут почитать часть новостей или полистать «сохранившиеся» карточки продуктов.

Стабильная доставка контента

Это, в частности, касается медиаконтента высокого качества, такого как видео и изображения в высоком разрешении. CDN обеспечивает доставку контента без потери качества и положительно влияет на производительность вашего веб-сайта. Сегодня уже 83% маркетологов заявляют, что видеоконтент помогает им генерировать лидов. Поэтому для бизнеса крайне важно, чтобы можно было предоставлять пользователям такие материалы в высоком разрешении.

Контроль нагрузки на серверы

Операторы CDN отслеживают нагрузку на сеть и на основе статистики в реальном времени могут определить, где требуется дополнительная мощность. Поэтому, если пограничный узел в определенном регионе страдает от перегрузки, оператор может увеличить пропускную способность узла за счет резервных мощностей, чтобы обеспечить бесперебойную и быструю загрузку контента.

Защита от скачков трафика

Если ваш веб-сайт внезапно испытывает большой приток трафика (например, при публикации «горячих» новостей), это еще один повод воспользоваться услугами CDN. Большая сеть серверов обеспечивает их доступность и масштабируемость в режиме онлайн практически в любых случаях. Многие компании не готовы к значительному росту трафика. Порой не только их сайт, но и хостинг-провайдер не могут с этим справиться из-за отсутствия распределенной сети серверов, между которыми можно «разделить» нагрузку.

Преимуществ использования CDN достаточно много, давайте теперь рассмотрим недостатки подхода.

Минусы и возможные альтернативы CDN

Дополнительные расходы

За услуги CDN нужно будет платить. Однако с увеличением доступности CDN и повышением предложения цены на услуги провайдеров стабилизировались. Операторы, как правило, предлагают разные тарифы — в зависимости от планируемой нагрузки и необходимых дополнительных опций.

В итоге польза CDN может вполне покрывать затраты на него. Например, закэшировав статику на серверах CDN можно вполне избежать аренды дополнительного сервера, если инфраструктура перестала справляться с наплывом пользователей.

Расположение точек сети

Вполне возможно, значительная часть вашей аудитории находится в стране, где у CDN, к которой вы подключены или планируете подключиться, нет или слишком мало серверов. В таком случае контенту вашего веб-сайта придется «путешествовать» дальше, и скорость загрузки сайта у жителей этой страны увеличится. Поэтому рекомендуем сначала провести мониторинг сети провайдера, чтобы узнать, где расположены его серверы CDN.

Региональные ограничения

Некоторые организации и даже страны блокируют домены и IP-адреса популярных CDN. В этом случае определенный процент аудитории не сможет получить доступ к вашему сайту, и вы потеряете часть трафика. Поэтому следует поинтересоваться, какие решения провайдер может предложить на этот счет. Выясните, например, есть ли у провайдера пул резервных IP-адресов, через которые можно прогонять трафик без потерь.

Чтобы CDN работал на пользу сайта или сервиса, необходимо соблюдать три условия:

  1. Пользователи должны загружать один и тот же контент.
  2. Часто и массово заходить на ресурсы; если ресурс не очень популярный кэширования данных сайта не произойдет.
  3. Находиться в разных локациях; если весь трафик вы получаете из одной географической точки, CDN будет лишней строчкой в бюджете.

Потеря конфиденциальности

Передавая файлы со своего веб-сайта через инфраструктуру другой компании, нужно быть готовым к тому, что конфиденциальность передаваемых данных может быть под угрозой. Поэтому важно, чтобы провайдер CDN брал на себя ответственность за обеспечение безопасности контента, который не предназначен для всех пользователей.

На что обратить внимание: чек-лист по выбору CDN-провайдера

Перечисленные риски означают, что нужно тщательно выбирать провайдера.

Примерный список характеристик хорошего провайдера:

  • Располагает разветвленной структурой пограничных узлов в регионах, приносящих сайту наибольший трафик.
  • Имеет резервные схемы обхода блокировок по домену или IP-адресу.
  • Гарантирует полную безопасность передачи ценной информации клиента.
  • Имеет безупречный «послужной список», то есть работает долго и без нареканий. У такого веб-сервиса отзывчивая служба поддержки, а клиент уверен, что его сайт будет доступен пользователям 24/7.
  • Предлагает услуги по разумным ценам.

Самостоятельная настройка CDN

Конечно, можно настроить и подключить собственную CDN-сеть. Однако стоимость создания и обслуживания такой инфраструктуры будет значительно выше, если вы хотите обеспечить приемлемую скорость передачи данных через свой CDN-сервис.

Поэтому создать собственные эффективные сети доставки и распределения контента по силам только крупным компаниям. Среди них WordPress и конструктор Wix.com, использующие собственные CDN для поддержки сайтов своих клиентов. Разумеется, CDN-сети есть и у таких IT-гигантов, как Google, Microsoft, крупных облачных сервисов и большинства ведущих корпораций в других отраслях (Amazon, Alibaba).

Статистика пользователей CDN

Понимаем, что статистика — вещь довольно скучная, однако это самый наглядный способ продемонстрировать преимущества продукта или технологии.

В заключение добавим несколько говорящих цифр по CDN:

  • По итогам 2021 года среднее количество запросов через CDN составило 42,3% от общего числа. При этом в сегменте данных Third party (информация, получаемая из сторонних источников) процент CDN-запросов составил значительно больше половины — 62,8%.
  • Число сайтов из топ-1000 (по количеству посетителей), так или иначе использующих сервисы CDN, в прошлом году достигло 62,3% от общего количества в десктопных версиях и 61,1% — в мобильных.
  • Сайты, входящие в первый миллион рейтинга популярности, тоже активно задействовали технологию Content Delivery Network — по данным 2021 года сетями доставки контента пользовались 32,8% таких сайтов в десктопных версиях и 33,7% — в мобильных.
  • Общий процент запросов через CDN для всех сайтов составил для десктопных версий 27,1%, а для мобильных — 26,9%. Таким образом, более четверти всех ресурсов интернета уже используют CDN для ускорения трафика.

Итак, мы разобрались с определением сети доставки контента и принципами работы CDN. Оценили преимущества и недостатки технологии, рассмотрели, есть ли альтернативы CDN.

Быстрый сайт, высокие позиции в поиске, бесперебойный стриминг: для чего нужна сеть доставки контента

Если страница интернет-магазина не откроется сразу, то клиент уйдет искать товар в другой онлайн-магазин, а позиция сайта в поиске просядет. Если при онлайн-просмотре кино зависает, зрители оставляют негативные отзывы в соцсетях и покупают подписку на другой сервис. Для быстрой и надежной доставки любого контента пользователям и создан CDN.

Благодаря технологии CDN сайт, который физически хостится в Москве, могут быстро открыть люди из любого уголка планеты, даже если между ними и сервером, где хранится ресурс, тысячи километров. Разберемся, CDN — что это, как работает и в каких случаях нужен.

Что такое CDN: смотрим на примерах

CDN (сеть доставки контента) — это специальная система для ускорения доставки контента пользователям.

Например, серверная часть приложения размещена в дата-центре в Москве, а пользователи приложения живут по всей России: от Калининграда до Владивостока. Чем дальше пользователь от столицы — тем дольше приложение обменивается с сервером данными и «тормозит». Чтобы ускорить загрузку, данные, которые загружает приложение, дублируют на серверах, размещенных в разных географических зонах. В итоге пользователи быстро подгружают нужные данные вне зависимости от региона.

С помощью CDN можно быстро доставлять пользователям любой контент, например:

  1. Статическое содержимое сайтов, мобильных приложений, игр: изображения, стили, документы, баннеры, скрипты, тексты.
  2. Мультимедиа-контент: видео, аудио, прямые трансляции.
  3. Динамическое содержимое — изменяемые части сайтов и приложений: комментарии пользователей, новостная лента.

Как работает CDN

Принцип работы CDN в следующем: контент, размещенный на основном сервере (сервер-источник), дублируется на промежуточных узлах, они находятся в разных географических зонах. Когда пользователь заходит на сайт, контент подгружается не с основного сервера, а с ближайшего промежуточного узла. За счет этого уменьшается время загрузки.

Без CDN

Люди из разных регионов (на схеме обозначены красными точками) запрашивают контент напрямую с основного сервера. Чем больше расстояние, тем больше время загрузки. Если же одновременных запросов слишком много, на сервере может случиться сбой

С CDN

Когда пользователи (на схеме — зеленые точки) запрашивают контент, то он подгружается не с основного сервера, а с промежуточного узла — время загрузки сокращается. Плюс к этому доступ к контенту сохранится, даже если на основном сервере случится сбой

Разберемся, как контент попадает на промежуточный узел. Это происходит, когда на сайт заходит первый человек из данного региона. Например, сайт открыл первый пользователь из Новосибирска. Сразу после его запроса контент кэшируется на промежуточном узле — то есть сохраняется для других пользователей.

Поскольку для первого пользователя содержимое сайта запрашивается с основного сервера в Москве, для него загрузка занимает больше времени. Но в дальнейшем промежуточному узлу не потребуется обращаться к основному серверу. Для остальных пользователей из Новосибирска контент подгрузится с промежуточного узла, а скорость загрузки будет выше.

Более того, промежуточные узлы умеют обмениваться данными друг с другом и кэшировать контент не с основного сервера, а с ближайшего другого узла. Например, когда на сайт заходит первый пользователь из Сеула, на местный промежуточный узел контент подгружается не с основного сервера в Москве, а с узла в Новосибирске.

Компании чаще получают CDN в виде услуги

Как следует из принципа работы технологии, CDN включает в себя большое количество серверов, находящихся в ЦОДах, и соединяющие их каналы — желательно, чтобы они были зарезервированы, то есть сдублированы. Если ваши клиенты живут в разных точках земного шара, то серверы и каналы должны располагаться по всему миру. Немногие компании могут позволить себе содержать такую инфраструктуру.

Поэтому логично, что технологию также предоставляют в виде услуги, и можно CDN подключить у российского провайдера. Воспользовавшись его услугами, вы получаете:

  • Высокую скорость загрузки контента и его гарантированную доставку при перегрузках.
  • Разгрузку сервера-источника без закупок оборудования и капитальных вложений в инфраструктуру.
  • Защиту от простых сетевых атак за счет большей емкости сети.
  • 100% доступность контента даже в период пиковых нагрузок.
  • Возможное снижение объема трафика, когда данные на промежуточных узлах сжимаются до передачи.
  • Доставку на любую платформу: компьютеры, смартфоны, планшеты, игровые консоли, Smart TV и STB.
  • SEO-эффект: из-за ускорения сайта CDN улучшаются позиции в поиске.

В каких случаях нужно подключать CDN

CDN подходит любой компании, чьи клиенты разбросаны по всей России или находятся в других странах. Посмотрим, какие преимущества от технологии могут получить интернет-магазины, банки, онлайн-кинотеатры, телеканалы, дистрибьюторы ПО и игр.

Интернет-магазины. Скорость загрузки страниц влияет на продажи. Есть очевидное прямое влияние: если сайт долго грузится, клиенты его закрывают. По рекомендациям Google, в 2020 году оптимальное время загрузки сайта — до 3 секунд. При этом 40% покупателей, зашедших в интернет-магазин с мобильного, не готовы ждать более 6 секунд.

Не менее важно, что скорость загрузки сайта и поведение пользователей на странице — важные факторы ранжирования сайта в поисковых системах, об этом говорят и Google, и Яндекс. Каждый пользователь, который не дожидается загрузки и уходит с сайта, снижает его позицию в поиске. Зато чем быстрее загружается сайт — тем проще его вывести в топ поиска, тем больше клиентов смогут его найти через поисковые системы. Для решения этой задачи поисковые системы рекомендуют, в том числе задействовать CDN.

Дистрибьюторы программного обеспечения и игр. CDN помогает быстрее распространять обновления приложений. Но для многих приложений требуется загрузка и других данных. Например, пользователи игр часто подгружают контент во время игры: элементы игрового окружения, скины, новые уровни — важно быстро передавать всё это на пользовательское устройство, чтобы игрок не заскучал. Таким образом, именно CDN становится основой для уверенного распространения многопользовательских онлайн-игр.

С помощью CDN контент приложений и обновления с сервера-источника быстро доставляют компьютеры и мобильные устройства пользователей

Финансовые организации и банки. С помощью CDN у пользователей быстрее работает личный кабинет и приложения для онлайн-банкинга — они могут проводить платежи без долгого ожидания. Плюс при помощи этой технологии банк может создать дополнительный слой защиты от DDoS-атак.

Онлайн-кинотеатры. Оплачивая подписку онлайн-кинотеатра, пользователи рассчитывают, что видео быстро подгружается, и они смогут посмотреть любимый сериал в любой удобный момент. Для доставки видео в высоком качестве без прерываний и задержек даже во время пиковых нагрузок CDN подключают к системам, в которых хранятся видеоролики, чтобы ускорить и сделать надежнее раздачу контента.

Live-вещание. Онлайн-трансляции важных событий, например спортивных матчей, важно вести без прерываний. CDN позволяет телеканалам разгрузить серверные мощности, привлечь пользователей из отдаленных регионов и повысить отказоустойчивость решения — обеспечить качество трансляции во время пикового спроса.

Что такое CDN и как работает данная технология

Что такое CDN и зачем он нужен

Рассмотрим реальную ситуацию. Я включаю компьютер, запускаю браузер и пытаюсь зайти в свой электронный почтовый ящик. Секунд через десять вижу на экране следующее сообщение:

В этом же браузере страницы других сайтов открываются в течение двух-трех секунд. Это означает, что проблема связана не со скоростью интернета, конкретным браузером или ресурсной мощностью моего компьютера. Она полностью находится на стороне почтового сервера. Конечно, я дождусь загрузки, у меня для этого есть мотив.

В подобной ситуации другой пользователь, получивший миллионы ссылок по поисковому запросу, просто закроет проблемную страницу и воспользуется альтернативным ресурсом. По статистике 75% посетителей принимает решение о целесообразности нахождения на конкретном сайте в течение 5 секунд. Пользователи мобильных устройств закрывают проблемную страницу еще раньше.

Для рядового посетителя это всего лишь легкое неудобство, которое можно мгновенно исправить. Представьте потери огромного интернет-магазина, клиенты которого живут на территории всей страны. В момент пиковых посещений веб-сервер перестает справляться с нагрузкой, сайт может полностью упасть. Клиенты уходят к конкурентам. Конверсия, а значит, и доходы стремятся к нулю. Поисковые системы понижают рейтинг сайта. Огромные деньги, потраченные на рекламу, потеряны.

Есть ли решение этой проблемы? Да, и называется оно CDN (Content Delivery Network) или «Сеть распределения контента».

Определение CDN

На обычном хостинге передача данных происходит следующим образом:

Конечный пользователь (клиент) начинает загружать страницу сайта. Браузер отсылает запрос веб-серверу, на котором хранится соответствующий контент.

Сервер получает запрос, обрабатывает его согласно алгоритму и передает соответствующий пакет данных.

Страница загружается, пользователь получает необходимую информацию.

CDN-хостинг добавляет в эту схему дополнительные узлы хранения и передачи данных. Это серверы, на которых кэшируется часть контента или страница головного ресурса целиком. Эту услугу предоставляют провайдеры CDN. Они размещают серверы в различных точках мира. Запрос обрабатывается в том ЦОД, который географически расположен ближе всего к месту получения контента. За счет этого трафик проходит по минимально-оптимальному маршруту, снижается нагрузка на сеть, достигается максимальная скорость соединения. В результате сайты, использующие CDN, загружаются намного быстрее.

Все веб-ресурсы хранят и обрабатывают на хостинг-серверах информацию двух типов – статическую и динамическую. К первой относится «тяжелый» контент, который практически не изменяется: бинарные файлы, тексты, картинки, видео- аудиофайлы, скрипты. При этом объем файлов не должен влиять на скорость их загрузки в браузере клиента. Динамический контент отображается по-разному в зависимости от запросов пользователей. Например, местоположение, пол, блок рекомендаций, история просмотра.

Динамический контент задействует в первую очередь оперативную память сервера, а также зависит от мощности процессора. Скорость обработки статического контента зависит от ширины пропускного канала. Если оба вида контента хранятся на одном хостинге, это создает дополнительную нагрузку на сервер, в определенные моменты сайт начинает работать медленно.

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

Впервые проблема возросшей нагрузки на веб-серверы была обозначена еще в 90-х годах прошлого столетия. Владельцам ресурсов приходилось идти на различные ухищрения, чтобы решить ее. Например, были разработаны методы «‎иерархического кэширования» и information superhighway, которые сегодня известны разве что историкам интернета. Контент стали разделять на динамический и статический, хранить на разных серверах. Сами точки подключения распределялись географически. Тогда же возникла идея аутсорсинга данной услуги.

В 1998 году студент Массачусетского технологического института Дэниел Левин и преподаватель математики Томсон Лейтон основали компанию Akamai. Сегодня она является одним из крупнейших CDN-провайдеров в мире. Уже в 2004 году CDN использовали более 3000 компаний, общий объем расходов на доставку контента составлял около 20 миллионов долларов в месяц. В конце 2018 года компания Akamai заявила о рекордном объеме передаваемого через CDN трафика – 72 Тб/c.

VDS Timeweb арендовать

Принцип работы CDN и терминология

Основные понятия, используемые в описании принципа работы сети распределения контента:

  • CDN (Content Delivery Network) — географически распределенная сетевая инфраструктура, обеспечивающая быструю доставку контента конечным пользователям веб-сервисов и сайтов.
  • Ориджин (origin) — центральный сервер, на котором хранятся исходные данные, раздаваемые через CDN.
  • PoP (Point of Presence, точка присутствия) — кэширующий сервер в составе CDN, расположенный в определенной географической локации. Для обозначения таких серверов также используется термин edge.
  • Динамический контент ― изменяемый контент, генерируемый на сервере в момент получения запроса пользователя либо загружаемый из базы данных.
  • Статический контент ― данные, хранящиеся на сервере в неизменяемом виде.
  • Кэширование (cacher — «прятать») – запись и хранение данных в промежуточном буфере с быстрым доступом и считыванием из более медленной памяти или удаленного источника.

Предположим, центральный сервер («ориджин») интернет-компании находится в Санкт-Петербурге, пользовательская аудитория распределена по всей России. Расстояние до одной из самых дальних точек подключения во Владивостоке составляет 9 607 км. Следует учитывать, что дальность указана «по прямой», но оптоволоконные кабели веб-паутины прокладываются сложными маршрутами. С учетом ограничения на скорость передачи данных по сети и замедлении трафика в процессе обработки промежуточными узлами-ретрансляторами (маршрутизаторами), открытие страницы у пользователя где-нибудь в Южно-Сахалинске или Петропавловске-Камчатском может занять несколько минут.

При использовании CDN запрос пользователя из Владивостока идентифицируется по заголовку и содержанию, затем переадресуется к географически ближайшему кэширующему серверу сети. В результате доставка статического контента занимает считанные секунды.

Настройка технологии CDN

На уровне администрирования веб-ресурса для раздачи статического контента через CDN необходимо произвести следующие настройки:

Перенести статический контент сайта на отдельный домен типа cdn.example.ru.

Подключить услугу CDN у провайдера, сообщив ему следующее: домен, с которого он будет забирать статику — static.example.ru, и домен, с которого будет идти раздача — cdn.example.ru.

У своего DNS-регистратора настроить CNAME-запись с cdn.example.ru на домен CDN-провайдера, который он выделяет при подключении.

На своем сайте изменить домен для статики, которую планируется раздавать через CDN, на cdn.example.ru.

Для размещения статического контента в объектных хранилищах и интеграции с облачными сервисами и раздачи через CDN используются плагины и расширения для CMS (WordPress, Joomla, Drupal, 1C Битрикс и других). Веб-сервис после подключения CDN будет работать на том же оригинальном сервере. Кэшированные части сайта будут загружены на серверы CDN для последующего быстрого скачивания.

Следует учитывать, что CDN-сервер не выступает в роли классического хранилища контента для скачивания, он лишь выполняет функции кэширования и передачи данных на основе конкретных алгоритмов. Кэшированные данные не хранятся постоянно в неизменном виде, периодически обновляются для актуализации.

Для загрузки контента из CDN используются две популярные технологии – GeoDNS и AnyCast.

GeoDNS привязывает к одному доменному имени несколько IP-адресов. По нему система определяет географическое положение пользователя, отправившего запрос, и перенаправляет его на ближайший сервер сети.

AnyCast использует общие адреса, маршрутизация происходит на ближайшие серверы в пределах региона. Провайдер пользователя получает несколько анонсов от разных сетей, в которых есть точка присутствия, маршрутизатор провайдера выбирает самый близкий. Ответ аналогичным образом возвращается по наиболее короткому маршруту.

Принцип кэширования контента

Наиболее распространенной является схема «по первому обращению». При первом обращении пользователя с запросом на определенный контент к оригинальному серверу определяется точка его локации. Все последующие пользователи будут получать данные, кэшированные на ближайшей к ним точке присутствия.

Сложность этой схемы в том, что последующие аналогичные запросы могут быть осуществлены пользователями, находящимися в других географических регионах. Для преодоления этого ограничения используется технология регионального извлечения. При повторных запросах пользователей с локацией в других регионах соседние серверы, входящие в состав CDN, забирают контент друг у друга, а не обращаются к оригинальному серверу. В Akamai эта процедура называется tiered distribution («многоуровневая раздача»).

CDN

Преимущества использования CDN

К неоспоримым плюсам использования технологии распределения контента относится следующее:

Высокая скорость загрузки. Время отклика веб-сервера, использующего VDS, в зависимости от загруженности каналов, обычно составляет 50-200 мс. При использовании CDN, благодаря тому, что сетевой маршрут между конечными пользователями и серверами с информацией укорочен до минимума, это число редко превышает 10 мс.

Снижение нагрузки на головной сервер. Пользовательская нагрузка при использовании CDN распределяется равномерно между серверами сети. Исходный сервер используется только для обновления данных и основных настроек. Если на центральном сервере отсутствует динамический контент и обновления происходят редко, то ресурсные требования к его конфигурации минимальные, что приводит к снижению стоимости хостинга. В этом случае основной сервер отвечает только за обновление информации и ее раздачу в сеть распределения контента.

Размещение ресурсоемкого контента. При размещении программного обеспечения или интерактивных медиа-материалов исходный сервер может быть загружен «тяжелыми» запросами, обработка которых занимает продолжительное время (до нескольких часов). Возрастает нагрузка на основной ресурс, требуются дополнительные усилия по обеспечению его отказоустойчивости при длительных соединениях и обработке данных большого объема. CDN позволяет обеспечить одновременное обслуживание десятков и сотен тысяч «медленных» запросов. Кластерная архитектура CDN с использованием RAID-технологий позволяет гарантировать стопроцентную устойчивость при самой высокой нагрузке.

Обеспечение безопасности и отказоустойчивости. Сеть CDN представляет собой сложную систему взаимосвязанных и дублирующих ресурсов, состоящую из сотен и тысяч серверов. Центры обработки данных географически распределены по регионам и странам. Такая структура хранения и обработки данных позволяет выдерживать практически любые нагрузки и увеличивает стоимость эффективной DDoS-атаки на нее до фантастических величин.

Масштабируемость и надежность. Возможности одномоментной обработки пользовательских запросов сетью CDN практически неограниченны. Даже при пиковой нагрузке в миллионы посещений это никак не скажется на доступности центрального сервера, его содержимое будет отдаваться по-прежнему быстро и без каких-либо перебоев. Даже при аварийном выходе из строя основного сервера пользователям будет доступен как минимум статический контент.

Кому не обойтись без CDN

Очевидно, что сеть распределения контента в первую очередь необходима проектам с большой аудиторией в разных регионах и странах. Услуги CDN востребованы:

крупными интернет-магазинами с широкой географией распределения аудитории;

стриминговыми аудио- и видеосервисами (live-streaming), популярность которых стремительно растет во всем мире;

игровыми порталами, использующими облачный гейминг;

платформами для дистрибуции программного обеспечения;

веб-проектами, использующими высокоскоростные мобильные приложения.

В последнее время появились специальные технические решения, ориентированные на раздачу контента на мобильные устройства, которые так и называются ― Mobile CDNs.

Недостатки и альтернативы CDN

Как и любая IT-технология, CDN обладает рядом особенностей, которые следует учитывать при принятии решения об ее использовании.

Первая проблема, с которой могут столкнуться использующие CDN веб-сервисы ― это задержки кэширования. Может возникнуть ситуация, когда на центральном сервере исходный файл был изменен, но на кэширующих серверах все еще присутствует его старая версия. Решается эта проблема путем периодической очистки и обновления кэша. Кроме того, владельцы сайтов и сервисов могут сами управлять настройками, используя заголовки-валидаторы.

В случае блокировки сервисов, являющихся вашими «соседями» по IP у CDN-провайдера, вместе с ними может оказаться заблокированным и ваш сайт. В этом случае придется обращаться к CDN-провайдеру для смены IP-адреса.

Прежде чем принимать решение о покупке недешевой услуги CDN, следует разобраться в причинах задержки отклика вашего веб-ресурса. Если на вашем сайте нет большого количества статических данных, аудитория локализована в пределах региона, то, возможно, проблемы со скоростью решаются иными способами. Попробуйте сделать следующее:

уменьшить размер изображений на сайте;

устранить дублирующиеся JS-библиотеки и плагины;

подключить JS-скрипты и CSS-стили в правильном порядке;

использовать более мощный сервер для быстрой генерации HTML-страниц;

оптимизировать настройки СУБД и веб-приложений.

Если программная оптимизация не дала желаемого результата и наблюдается стабильная динамика роста пользовательских запросов, что приводит к замедлению работы ресурса, стоит обратиться к CDN-провайдерам.

В качестве альтернативы CDN можно рассматривать использование облачного VPS/VDS-хостинга. Как и сеть распределения контента, данная технология обладает возможностями масштабируемости, отказоустойчивостью и высокой безопасностью. Следует учитывать, что управление облачным хостингом потребует наличия штата профессиональных программистов, и по затратной составляющей может оказаться дороже, чем услуги CDN-провайдеров.

Вам может быть интересно: Обзор лучших CDN-провайдеров

Заключение. На что обратить внимание при выборе провайдера CDN

Еще немного статистики:

В 2010 году средний размер веб-страницы составлял 481Кб. В 2019 уже 1936 Кб. За последние три года значение этого показателя увеличилось на 314.7% и продолжает расти.

В настоящее время набирают популярность стриминговые аудио- и видеосервисы. По состоянию на начало августа 2020 года аудитория популярного сервиса Spotify достигла 299 миллионов пользователей.

Итак, вы не просто желаете вписаться в тренд развития интернет-бизнеса, но и реально осознали необходимость подключения CDN-хостинга. На что нужно обратить внимание при выборе CDN-провайдера?

Количество точек присутствия. Сопоставьте эту информацию с географией распределения вашей аудитории реальных и потенциальных клиентов.

Наличие стыков с операторами связи. У CDN-провайдера с точками присутствия в 100 городах, но небольшим количеством стыков, задержка может быть больше, чем у провайдера, у которого точки присутствия расположены в 5 городах, но стыков с операторами связи гораздо больше. Следует учесть, что подобную информацию невозможно получить от самих провайдеров. Пользуйтесь экспертными обзорами и тестами.

Наличие дополнительных услуг и функций. К ним относятся: анализ статистики потребления, управление политиками кэширования и HTTP-заголовками, предзагрузка очень «тяжелого» контента, полная и выборочная очистка кэша.

Поддержка необходимых вам технологий и протоколов (HTTP/2, IPv6, сертификаты SSL и т.д.).

Обратите внимание на то, что некоторые лидеры рынка предоставления услуг CDN-хостинга обрабатывают не только статические, но и динамические данные.

Сопоставив все «за» и «против», смело принимайте решение. Используя CDN, вы повысите скорость загрузки сайта, а значит, угодите пользователям и поднимитесь в поисковой выдаче.

Что такое CDN и нужно ли его использовать?

Каждый веб-мастер, занимающийся оптимизацией и ускорением своего сайта, наверняка рано или поздно столкнется с таким понятием, как CDN. Давайте попробуем разобраться, что это такое.

Что такое CDN

— Content Delivery Networks, что в переводится дословно как «Служба доставки контента». Но что именно эта служба делает?

Вот обычная карта, где отмечен сервер, который находится в Москве. И к этому серверу обращаются и получают с него ответ с самых разных городов и стран.

Карта с обращением от сервера

На самом деле, реальная карта, даже небольшого сайта, будет еще более сложной.

Карта с географией посещения

На этой карте мы видим, что на сайт заходили люди, с большого количества городов из разных стран. Это приводит к тому, что в разных странах, скорость доступа к сайту будет разной. И как бы вы свой сайт не оптимизировали бы, в некоторых странах сайт будет загружаться медленней медленней.

Чем дальше находится сервер сайта, тем дольше будет идти «ответ» до пользователя.

Проверка скорости сайта с различных точек планеты

Обратите внимание, скорость доступа к сайту из Москвы, составила 0,2 секунды. А вот скорость доступа из Сиднея, уже 3 секунды. Конечно, это ожидаемо, но результат скорости по Австралии совсем не впечатляет.

Вы можете сами проверить пинг любого сайта, перейдя на ping-admin.ru.

Как работает CDN?

CDN хранит кэшированную версию сайта на разных серверах, расположенных по всему миру (или большей его части). Такие точки называются PoP — Points of Presence, что в переводе означает точку присутствия. И отдает кешированные данные пользователю с ближайшего к нему сервера. Это очень сильно повышает скорость работы сайта.

PoP, это фактически группа дата центров, раскиданных по всему миру. В каждом таком дата центре находятся сервера. Физически это те-же серваки, на которых размещаются обычные сайты. Но в данном случае, задача PoP приблизить сайт к посетителю.

В результате, владелец сайта получит высокую скорость не только в близких городах к своему серверу, но и любой другой точке мира. Карту серверов, можно увидеть на самом сервисе, который предоставляет услуги CDN. Например, у cloudflare.com.

Карта Points of Presence у CDN провайдера

Типы CDN

Выше я уже сказал, что основная цель CDN, это уменьшить время ожидания и ускорить сайт за счет близкого расположения к посетителям. Но в современном мире фотографий по два и более мегабайтов, а также 500-килобайтных библиотек JavaScript, задержка даже на три секунды, не имеет большого значения. Но у CDN есть и другие цели.

CDN, ориентированные на контент.

Это первоначальная задача, для которой предназначались CDN. Контент сайта загружается на отдаленные сервера, при необходимости, система сама обновляет данные и доставляет контент конечному пользователю.

В этом случае, данные сохраняются на сервисе CDN. И если даже в это время что-то случится с сайтом, и прямой запрос будет невозможным, то тогда сайт все ещё будет доступен через CDN.

И обычные пользователи даже не заметят, что с сайтом что-то случилось. Разве что, загрузка будет чуть медленней.

Кроме того, современные CDN часто предлагают слои автооптимизации, при которой, исходные изображения оптимизируются и это позволяет еще больше ускорить сайт. Впрочем, картинки в любом случае нужно оптимизировать и об этом вы можете подробнее узнать в этой статье.

CDN, ориентированные на безопасность.

Кроме ускоренной доставки контента отдаленным посетителям, CDN стали предлагать и другие услуги. Это защита от DDoS атак. И некоторые CDN сервисы, например Imperva.com, специализируется именно на этом.

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

Кроме того, используя знания, полученные от многочисленных клиентов, CDN может узнавать о подозрительных IP-адресах, спамерах, вредоносных программах и даже типах сканеров и их поведении. Например, скрапер, работающий на сайте A, после идентификации перестанет работать и на сайте B, если этот сайт защищен тем же CDN, поскольку фильтр трафика распознает шаблон, который он видел ранее.

Кому нужен CDN?

Многим. С каждым годом количество сайтов, использующих CDN растет. Тем более, что на рынке можно встретить и бесплатные CDN. Тем не менее, даже в качестве бесплатной услуги, CDN не для всех.

Например, если ваш сайт рассчитан на небольшой круг посетителей, и сервер сайта расположен в регионе проживания большинства потенциальных посетителей, то использование CDN принесет не много пользы.

Точнее, в такой ситуации, использование CDN может фактически ухудшить производительность вашего сайта, поскольку в цепочку между сервером сайта и посетителем добавится ещё одна точка, через которую проходит трафик.

Трассировка сайта через командную строку

На этом скрине мы видим, что даже обычное подключение к сайту, произошло через одиннадцать точек. В случае с использованием CDN, точек может стать больше.

Тем не менее, многим сайтам использование CDN желательно. Это сайты интернет магазинов, корпоративные сайты, игровые, сайты с большим количеством загружаемого материала (кино, музыка, программы и так далее).

Что же касается обычных, небольших блогов и информационных сайтов, то для них подключение CDN не является обязательным. Для ускорения им достаточно обычных мер, таких как оптимизация картинок, подключение GZIP сжатия, минификация HTML, CSS, JS и тому подобных мер.

А как вы относитесь к CDN? Вы считаете его обязательным или это просто модное словечко, но которое на самом деле, никому не нужно? Оставляйте своё мнения в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *