Все статьи

CDN (content delivery network): что это простыми словами

1 сен 20232179

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

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

Как работает Content Delivery Network (CDN)

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

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

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

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

Классическая схема получения доступа к сайту через интернет

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

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

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

Подключение к контенту сайта через CDN

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

CDN использует два метода определения точки присутствия для пользователя:

  • GeoDNS определяет географические координаты по IP-адресу пользователя через запрос к DNS-серверу. Тот в свою очередь находит ближайшую точку выдачи и соединяет пользователя с ней.
  • Anycast использует протокол BGP для получения информации о смежных (пиринговых) сетях и их расположении, после чего подобно GeoDNS определяет ближайшую точку.

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

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

Зачем используют технологию CDN

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

  • Интернет-магазины и маркетплейсы могут хранить на CDN-серверах изображения товаров, видеоотзывы и обзоры. Часто покупателю важно детально рассмотреть товар, для чего используется увеличенное изображение. И крайне желательно, чтобы оно не имело проблем с прогрузкой.
  • Стриминговые сервисы и видеопорталы. Постоянный доступ к трансляциям, особенно спорта и других соревнований, критически важен для зрителей. Также никто не любит длительную буферизацию, задержки загрузки видео и постоянную смену его разрешения в меньшую сторону. CDN для стриминга даже выделяют в отдельную категорию услуг.
  • Новостные сайты, порталы и СМИ. Беспрерывный доступ к информации — важное свойство таких сайтов, особенно если речь касается прямых эфиров. Сюда же можно отнести ресурсы с графическим представлением каких-либо параметров, котировок и прочих актуальных данных.
  • Порталы для общения, ресурсы обмена информацией. Поскольку на таких веб-сайтах пользователи часто сами выкладывают контент, то за его весом следить сложнее, а доступ и загрузка все равно должны быть быстрыми. Хранение данных вполне можно доверить CDN.
  • Файлообменники, хостинги контента. Популярным ресурсам для получения файлов также часто требуется ускорение их загрузки.
  • Игровые проекты, онлайн-игры сами по себе могут представлять постоянно подгружаемый визуальный контент со скриптами. Все эти данные также хранятся на сервере и могут быть переданы в CDN-сеть.

Технология применяется и в иных случаях: CDN нужен для раздачи подгружаемых шрифтов, JS-библиотек, ресурсов CMS, других служебных файлов.

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

Общемировое распределение посетителей с мобильных и ПК по данным SimilarWeb

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

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

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

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

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

Рынок CDN в России

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

Преимущества и недостатки CDN

Использование CDN-серверов позволяет ускорить загрузку контента в пять раз. Интересно, что при этом объемные наполненные порталы могут загружаться быстрее чем «домашний» сайт с 2–3 изображениями. И положительный эффект для пользователя — далеко не единственное преимущество сетей дистрибуции:

  • Ускорение доступа к контенту
  • Первоочередное и важное преимущество CDN, с которым невозможно поспорить. Если перед вами стоит задача привлечь посетителей из Африки, то они могут получать информацию с африканского, а не российского сервера. При этом ваш сайт расположен на хостинге в России.

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

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

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

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

  • Стабильные трансляции
  • Поскольку для передачи видеоконтента важно отсутствие буферизаций и задержек, CDN будет работать на повышение стабильности выдачи видеоконтента.

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

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

  • Защита от скачков трафика
  • Бывают ситуации, когда сайт «лег» от внезапной популяризации в интернете. Множество пользователей пытается получить доступ к одной странице или файлу, в результате чего работает нечто вроде DDOS-атаки. Использование CDN позволяет тут же распределить данные по разным серверам и избежать падения веб-сайта.

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

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

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

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

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

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

    Например, для услуги в CloudMTS можно заказать тестирование, в рамках которого физически попробовать работу CDN (300 ГБ данных и 14 дней использования) и определить, насколько сеть подходит для реализации задач.

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

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

  • Вопросы конфиденциальности и безопасности данных

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

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

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

Подключение к CDN-сети

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

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

Пример тарификации CDN в случае CloudMTS на август 2023

Далее регистрируется персональный кабинет, в котором проводятся настройки CDN ее параметров.

  1. Авторизация CDN-серверов
  2. При наличии ACL (списки контроля доступа) на источнике можно использовать методы авторизации через http-заголовок или по IP-адресам. Во втором случае лучше использовать скрипт обновления списка IP серверов, поскольку адреса часто обновляются.

  3. Интеграция с CDN
  4. В личном кабинете создается CDN-ресурс для распределения нужной части данных. Чтобы произвести интеграцию, нужно заменить домен в коде сайта на персональный (CNAME) из кабинета.

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

    Если используется CMS, то для интеграции применяются соответствующие плагины.

    Узлы сети CloudMTS поддерживают протокол HTTP/2, поэтому можно дополнительно настроить сервера под передачу данных через этот протокол.

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

    • Северная Америка
    • Латинская Америка
    • Азия
    • Ближний Восток
    • Австралия
    • СНГ
    • Африка
    • Европа
  7. Создание CDN-ресурса для распределения контента
  8. Ресурс объединяет в себе возможности сети для передачи статического контента через CDN-серверы. При первом запросе пользователя данные загружаются из источника в кэш CDN-серверов, при следующих запросах отправляются пользователям напрямую. Размер файлов не ограничен. 

Создание и настройка CDN-ресурса

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

Далее нужно настроить персональный домен (для создания записи CNAME) — можно получить его бесплатно в выделенной зоне или указать свой.

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

  1. Настройка DNS для домена
  2. Чтобы запросы к источнику шли через CDN-серверы провайдера, их нужно переадресовать на домен, выделенный в зоне провайдера. Для этого нужно создать запись CNAME в настройках DNS основного и дополнительного персональных доменов.

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

    В случае успешной настройки в личном кабинете CloudMTS появится указание на то, что данные успешно синхронизированы для передачи через CDN.

  3. Дополнительная настройка CDN под задачи

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

  • Диагностика позволяет устранить все возможные проблемы с выдачей файлов.
  • Шилдинг добавляет промежуточный кэш-сервер, защищающий сеть от высокой нагрузки (услуга может предоставляться за дополнительную плату).
  • Настройка кэширования распределяет ресурсы между источником и кэшем, увеличивая работоспособность сети.
  • Настройки безопасности позволяют запретить выдачу контента по странам и регионам, IP-сетям, доменам, задать токены, разрешенные HTTP-методы и даже ограничить доступ через определенные приложения.
  • Оптимизация доставки больших файлов ускоряет к ним доступ за счет распределения содержимого частями.
  • Сжатие методами Gzip и Brotli добавляет скорости CDN-сети за счет передачи контента в архивированном виде.
  • Сетевые ограничения позволяют ограничить скорость выдачи данных, за счет этого все пользователи будут получать контент равномерно.
  • Настройка правил дает возможность задать более сложные алгоритмы действий, в рамках которых выбранные опции будут применяться при наступлении определенных условий.
  • Статистика о работе CDN подробно покажет взаимодействие пользователей с сетью, распределение контента, нагрузку на узлы и т. п.
Статистика о работе CDN CloudMTS — доступны различные форматы отчетов

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