Что такое CDN
«Вес» страниц сайтов постоянно увеличивается. Однако пользователи не снижают своих требований к скорости загрузки ресурса: если он не открывается в течение 3 секунд, то более 50% посетителей его покинут.
Для быстрой загрузки сайтов используют CDN-сервис. В статье мы расскажем, что такое сервис CDN и как работает эта технология.
Что такое CDN (Content Delivery Network)
CDN называют сеть серверов, которые расположены в разных географических точках и обеспечивают быструю доставку контента пользователям. Простыми словами, это дополнительные узлы, на которых хранится и передается информация.
Их функционирование можно описать следующим образом:
-
От пользователя, который находится на значительном расстоянии от центра обработки данных главного сервера, поступает запрос на загрузку информации с сайта.
-
Часть запроса выполняется ближайшим CDN-сервером. Он предоставляет неизменяемый контент, тем самым снижая нагрузку на основной сервер.
-
Уменьшается путь трафика, значительно увеличивается скорость соединения между устройствами, минимизируется риск перегрузки сервера.
Таким образом, клиент не тратит время на длительное ожидание загрузки, а получает доступ к информации сразу же.
Основные термины CDN
Для лучшего понимания принципа работы технологии CDN необходимо разобраться с рядом терминов:
-
Edge Node. Переводится как «пограничный узел». Серверы находятся по всему миру. Предоставляя кэшированную информацию, они значительно уменьшают время ожидания. Пограничные узлы также называются точками присутствия и кэшируют контент на протяжении установленного временного промежутка.
-
Caching Rule. Это правило кэширования. Оно определяет длительность нахождения информации в кэше на пограничном узле.
-
Origin. Это сервер-источник, на котором изначально хранятся данные. От этого сервера пограничные узлы получают нужную информацию. Роль Origin может выполнять выделенный сервер или облачное хранилище. Один CDN может быть связан с несколькими источниками.
-
Time to Live. Сокращенно TTL, а переводится дословно как «время жизни». Проще говоря, это временной период, в течение которого данные кэшируются на пограничном узле.
-
Purge. Данным термином обозначается очистка пограничного узла от устаревшего контента. На ориджинах время от времени появляется новая информация — ее нужно доставить пользователям. Постоянная очистка и кэширование позволяют посетителям сайта сразу видеть выполненные обновления.
-
Shielding. В ряде случаев во время обновления информации в точках присутствия может возникнуть повышенная нагрузка. Шилдинг предназначен для защиты работоспособности проекта даже при перегрузках. Между ориджином и пограничным узлом появляется дополнительный сервер, первым выполняющий кэширование.
-
Restriction. Это ограничивающее правило, при помощи которого регулируется доступ к информации из кэша. Например, могут быть разрешены запросы только из некоторых регионов, доменных зон или IP-адресов.
Перечисленные выше термины являются примером функционирования CDN.
О типах контента
Типов контента в CDN два: статический и динамический. Расскажем о каждом из них подробнее.
Динамический контент
Динамическим контентом называется информация, которая изменяется в зависимости от нескольких факторов:
-
местоположение пользователя;
-
время посещения;
-
устройство, с которого запрашивается доступ к странице.
Динамичность данных обеспечивается использованием скриптов, благодаря чему страница не выглядит одинаково для всех. Это обеспечивает лучшую персонализацию, создает условия для качественного пользовательского опыта и успешного взаимодействия.
Динамические веб-страницы — это не статические HTML-файлы. После каждого взаимодействия создается новый HTML-файл, который и направляется в браузер.
Динамический контент нельзя кэшировать, поскольку он уникален для каждого пользователя. Развитие технологий CDN позволяет значительно ускорить получение посетителем ресурса динамического контента.
В качестве примеров динамических данных можно привести новостные сайты, информация на которых напрямую зависит от местоположения пользователя или статуса, который он получает после входа в систему. Динамическим контентом также является лента любой социальной сети, которая изменяется в зависимости от различных факторов.
Статический контент
Это неизменяемые данные, хранящиеся на сервере. К ним относятся видео, изображения, HTML-файлы.
Хорошим примером статического контента являются публикации на сайтах: текст и изображения после публикации никак не изменяются. Информация не изменяется: на ее отображение не влияют условия взаимодействия с данными или уровень доступа читающего.
В процессе кэширования контента сохраняется копия статического файла: например, наиболее «тяжелые» элементы для загрузки — картинки. В итоге файл быстрее загружается, а пользователь не ждет долго.
Браузеры и CDN кэшируют статическую информацию в течение определенного времени. Она предоставляется пользователю, пока запрашивается. Организация кэширования не задействует значительных ресурсов, поскольку статические данные не изменяются или меняются совсем немного: добавляются некоторые знаки в текст или заменяется изображение.
Принцип работы CDN
Стандартная схема передачи информации в интернете без задействования CDN выглядит таким образом, что все пользователи получают данные напрямую с сервера. CDN позволяет загружать информацию незамедлительно, вне зависимости от того, насколько далеко находится исходный сервер.
CDN работает по следующей схеме:
-
Существует сеть настроенных серверов, которые используются для поставки статического и стримингового контента. Она принадлежит CDN-провайдеру.
-
Пользователь, запрашивающий страницу, попадает на пограничный узел. То есть он пользуется данными не из ориджина, а из CDN-сети провайдера.
-
Если идет стрим, то ориджин сразу же передает видеоданные на пограничные узлы. С них видеоконтент попадает к ближайшим пользователям. Подобная схема обеспечивает оперативную загрузку тяжелых файлов.
Это позволяет жителю Юго-Восточной Азии быстро получать доступ к данным, расположенным в московском ЦОДе. Он не будет ждать результата в течение долгого времени.
Распределение контента
Для того чтобы грамотно распределить контент между пользователями из разных регионов, используются две мощные технологии: AnyCast и GeoDNS:
-
AnyCast. Данная технология применяет протокол BGP, который предоставляет информацию о расстоянии до соседних сетей. С его помощью выбирается тот маршрутизатор, который может обеспечить кратчайший путь к нужному IP-адресу.
-
GeoDNS. Технология, при помощи которой выбирается ближайшая к клиенту точка присутствия (пограничный узел). В основе технологии geoIP — конвертация IP в географические координаты.
Кэширование
С течением времени становится неактуальным даже статический контент. Для того чтобы на сайте отображалась правильная информация, устанавливаются правила кэширования, в которых определяется параметр Time to Live — время жизни данных. Он задает конкретную продолжительность хранения информации в кэше. Перед новым кэшированием CDN-сервер очищает данные и готовится к загрузке новой информации.
Шилдинг
Это термин, которым обозначается установка дополнительного сервера между ориджином и точкой присутствия. Он первым выполняет кэширование и предоставляет данные CDN-серверам. Этот промежуточный сервер выполняет функцию своеобразного щита, который защищает сеть от перегрузки.
Каким веб-сайтам лучше использовать технологию CDN
CDN используется в тех проектах, где важна оперативная загрузка информации. Данная технология хорошо подойдет для следующих сценариев использования:
-
Веб-сайты с большой аудиторией. Это новостные порталы, интернет-магазины, социальные сети. CDN значительно ускоряет загрузку веб-страниц, вне зависимости от того, где располагается ориджин. Так, интернет-магазину CDN пригодится для того, чтобы покупатели из разных регионов мира получали оперативный доступ к его продукции.
-
Многопользовательские онлайн-игры. Геймерам важен быстрый отклик сервера и минимальная задержка. CDN обеспечивает плавность игрового процесса, а обновления, патчи и контент доставляются практически без задержек.
-
Видеостриминг. Платформам важна быстрая передача больших объемов данных с минимальной задержкой и в отличном качестве. Это важно для потокового видео в режиме реального времени. Так, задержка в трансляции может испортить качество просмотра любого матча.
-
Банки и кредитные организации. Контент, размещенный на ресурсе, критически важен. Если на сервере будут неполадки, то у пользователей пропадет доступ к нужным материалам. Компания понесет не только репутационные, но и финансовые потери.
Для каких проектов и задач необходим CDN
CDN помогает в решении различных задач проектов: от экономии на аренде виртуального сервера до сохранения репутации. Приведем примеры проектов и задач, для которых нужен CDN:
-
быстро развивающийся ресурс с большим масштабированием;
-
веб-проект, нуждающийся в стабильной работе;
-
уменьшение затрат на хостинг;
-
потребность в нормальной работе веб-проекта;
-
наличие на ресурсе интерактивного медиаконтента и ресурсоемких программ;
-
минимизация риска DDoS-атак (для того, чтобы вывести из строя сеть серверов, нужны большие затраты ресурсов);
-
улучшение пользовательского опыта и индексации поисковыми роботами.
В целом подключение к CDN значительно улучшает репутацию проекта в интернете.
Преимущества использования серверов CDN
Использование CDN-серверов обладает целым рядом очевидных преимуществ. Перечисляем их для вас: возможно, один из них сподвигнет вас на использование такого решения.
Более быстрая доставка контента
Узлы CDN-сетей находятся ближе к пользователю, чем основные серверы. Это позволяет ускорить загрузку — расстояние для передачи информации сокращается. Веб-сайт может находиться в ЦОДе Санкт-Петербурга, но посетители из Китая смогут быстро получать доступ к страницам ресурса — и все это благодаря CDN-сети.
Большее количество одновременных посетителей
Использование CDN позволяет проекту выдерживать значительные нагрузки, связанные с увеличением посещаемости. Это решение позволяет гарантировать, что большое количество пользователей из разных регионов и стран смогут пользоваться сайтом без задержек.
Постоянная доступность
Серверы CDN функционируют на постоянной основе. Поэтому проект точно будет доступен даже в том случае, если на главном сервере произойдет сбой.
В качестве примера можно привести следующую ситуацию. Основной сервер интернет-сайта или СМИ не выдержал нагрузки. CDN-сеть хранит статический кэшированный контент. Благодаря этому пользователи получат доступ к сохранившимся карточкам продуктов.
Стабильная доставка контента
Это в первую очередь касается высококачественных данных: например, изображений и видео в высоком разрешении. Использование CDN-серверов позволяет доставлять контент без потери качества, что положительно влияет на репутацию сайта и его производительность.
Большинство маркетологов уверены, что именно видеоконтент является идеальным источником для генерации лидов. Поэтому для бизнеса очень важно, чтобы подобные материалы предоставлялись пользователям в высоком разрешении.
Контроль нагрузки на серверы
Операторы CDN-сетей в режиме реального времени отслеживают интенсивность нагрузки на проекты. Они быстро определяют, где нужна дополнительная мощность. Если какой-либо пограничный узел страдает от перегрузки, то оператору достаточно увеличить пропускную способность узла за счет резервных мощностей. Это обеспечит быструю и бесперебойную загрузку контента.
Защита от скачков трафика
Во время акций или после публикации сенсационных новостей сайт может столкнуться с увеличением посещаемости. Это самое подходящее время для того, чтобы воспользоваться услугами CDN.
Лучше всего подготовить свою компанию к росту трафика и обратиться за услугами распределенной сети серверов.
Минусы и возможные альтернативы CDN
У CDN есть ряд недостатков. Необходимо их учитывать перед принятием решения об использовании этой технологии.
Дополнительные расходы
За использование CDN-сети нужно платить. Однако стоимость предложения невелика: провайдеры предлагают различные тарифы, среди которых всегда можно выбрать подходящий. Польза применения технологии может полностью окупить и даже перекрыть затраты на нее. Так, использование CDN позволяет избежать аренды дополнительного сервера, если инфраструктура уже не справляется с наплывом пользователей.
Расположение точек сети
Может возникнуть такая ситуация, когда у CDN нет или мало серверов в определенной стране. Это значит, скорость загрузки вашего ресурса для пользователей из этой страны возрастет. Избежать подобных проблем можно: для этого нужно промониторить сеть провайдера и узнать, где расположены его серверы.
Региональные ограничения
Некоторые страны могут блокировать домены известных CDN. Из-за этого некоторые пользователи не получат доступ к вашему ресурсу, и вы потеряете часть потенциальных клиентов.
Есть хорошая возможность избежать подобных проблем: уточните у провайдера информацию о наличии резервных IP-адресов. Они позволят обходить установленные ограничения.
Потеря конфиденциальности
Нельзя говорить о полной конфиденциальности в случае, если файлы с веб-сайта передаются через инфраструктуру другой компании. Убедитесь в том, что провайдер берет на себя ответственность за обеспечение безопасности важной информации.
Параметры для выбора провайдера
Без CDN-сервера не обойтись крупному и международному проекту, а также ресурсам, которые в будущем планируют расти и масштабироваться. Поэтому нужно внимательно отнестись к выбору провайдера и уточнить следующие параметры:
-
Размеры зоны покрытия и количество точек присутствия. Не у всех провайдеров есть представительство в разных регионах планеты. Для выбора подходящего поставщика услуг проанализируйте трафик проекта и точно для себя определите, в каких странах нужно обеспечить наличие CDN-серверов.
-
Обеспечение безопасности информации. Очень важно, чтобы кэшируемые данные надежно защищались сертификатом SSL и современными протоколами шифрования. В противном случае, контент находится под угрозой.
-
Качество взаимодействия с операторами. У некоторых сетей большое количество точек присутствия, но малое количество операторов связи. Это существенно замедляет передачу данных.
-
Особенности управления. Хорошо, если провайдер предоставит доступ к панели управления и различным инструментам управления. Это позволит всегда обладать качественной статистикой и устанавливать нужные настройки.
-
Стоимость. Как правило, стоимость услуги CDN невелика, поскольку решение не требует значительных вложений, а технические процессы полностью отлажены.
Преимущества CDN перекрывают недостатки. Владельцам крупных проектов или тех ресурсов, впереди у которых грандиозные планы на масштабирование, необходимо задуматься над использованием технологии.