Что такое 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 перекрывают недостатки. Владельцам крупных проектов или тех ресурсов, впереди у которых грандиозные планы на масштабирование, необходимо задуматься над использованием технологии.