О CDN простыми словами

207

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

Oldschool сайт

В статье мы расскажем о том, что такое CDN, как он работает, на какие параметры стоит обратить внимание при выборе CDN-провайдера.

CDN и его преимущества

CDN (Content Delivery Network) — сеть доставки контента. Если выразиться просто, то CDN — это объединённые по всему миру в одну сеть сервера, которые ускоряют доставку контента от сервера-источника до конечного пользователя.

Какие преимущества дает CDN:

  1. Улучшение SEO — сайт загружается быстрее и получает более высокий приоритет в поисковой выдаче;
  2. Снижение расходов на инфраструктуру — не надо докупать дополнительного оборудования или увеличивать мощность сервера-источника. Основную нагрузку забирает на себя CDN;
  3. Повышение доступности сайта — CDN-сервера резервируют друг друга, и в случае аварий, трафик автоматически направляется на другие сервера сети;
  4. Подробная статистика — вы получаете актуальную статистику о трафике в реальном времени;
  5. Глобальное покрытие — ваш сайт одинаково быстро открывается из любой точки мира;
  6. Снижение нагрузки на сервер-источник — контент подгружается не напрямую, а с серверов CDN.

Может показаться, что CDN — это сложно, а сама услуга должна стоить недешево. Но это не так! В работе CDN нет ничего сложного, а стоимость услуги невелика. К примеру, у 1cloud одна из самых низких цен на рынке CDN-услуг.

С преимуществами и ценами всё понятно, настало время разобраться в устройстве CDN.

Как работает CDN: кэширование и шилдинг

Кэширование — это загрузка контента с сервера-источника на CDN-сервера, с которых он раздаётся посетителям сайта в зависимости от их географического местоположения. То есть, когда на московский сайт заходит посетитель из Сахалина или Хабаровска, то контент будет загружаться не из Москвы, а из Владивостока. Естественно, это положительно скажется на скорости загрузки сайта.

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

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

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

Ещё одна распространённая проблема при загрузке контента в кэш CDN-серверов: задержка отображения контента при первом обращении к CDN. Для решения этой проблемы администратор может заранее «прогреть» сеть, принудительно разместив контент в кэше серверов.

Поскольку кэширование — это цикличный процесс, который создаёт нагрузку на сервер. Суммарная нагрузка от запросов пользователей и CDN может вывести сервер-источник из строя. Для защиты сервера-источника используют шилдинг (от английского “shield” — щит).

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

Shielding

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

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

С кешированием контента разобрались. Рассмотрим теперь технологии, которые использует CDN.

Технологии DNS: GeoDNS и AnyCast

Обычно CDN имеет глобальное покрытие, а на сайтах провайдеров размещены карты с точками присутствия. К примеру, у 1cloud есть 650 кэш-серверов по всему миру.

Map

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

С помощью GeoDNS можно привязать к одному доменному имени несколько IP-адресов. В зависимости от географического положения (определяется по IP-адресу, с которого пришел запрос) пользователь перенаправляется на ближайший к нему сервер.

При технологии anycast нескольким географически распределенным серверам назначается один и тот же IP-адрес (IPv4 или IPv6), называемый anycast-адресом. Идея такого подхода состоит в том, чтобы не выбирать из списка наиболее подходящий сервер вручную, а положиться на выбор системы маршрутизации.

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

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

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

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

В Панели управления CDN 1cloud, в разделе анализа статистики есть сведения по уникальным посетителям, запросам и трафику. Данные представлены графиками с возможностью фильтрации по географии запросов, устройствам, браузерам, операционным системам. Благодаря такой визуализации администратор может гибко настраивать CDN и управлять трафиком.

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

Вывод

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

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

На основе технических свойств и особенностей CDN можно составить список параметров надёжного CDN-провайдера.

Топ-5 параметров надёжного CDN-провайдера

При выборе CDN-провайдера стоит обратить внимание на следующие параметры:

  1. Количество точек присутствия и зона покрытия.
    Обычно крупные CDN-провайдеры сразу указывают количество стран и город присутствия, а также дают карту покрытия.
  2. Взаимодействие с операторами связи.
    От взаимодействия CDN-провайдера с операторами связи зависит скорость и эффективность работы CDN. Например, у CDN-провайдера с точками присутствия в 100 городах, но небольшим количеством стыков с оператором связи задержка может быть больше, чем у провайдера, у которого точки присутствия расположены в 5 городах, но стыков с операторами связи гораздо больше.
  3. Панель и инструменты управления услугами.
    Удобная панель управления с богатым инструментарием управления услугами — это показатель того, что у CDN-провайдера есть штат технических специалистов, которые не просто занимаются техническим обслуживанием сервисов, а ещё развивают инструменты и сервисы панели.
  4. Безопасность.
    Сайт, ровно так же как и кэширующие CDN-сервера должны быть защищены криптографическим сертификатом SSL и работать по протоколам HTTP/2 и IPv6.
  5. Цена.
    Благодаря налаженным техническим процессам, профессиональному оборудованию, тесному взаимодействию с провайдерами связи, крупные CDN-провайдеры устанавливают небольшие расценки на услуги.

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

Иван Катков

Статью подготовил @Katkov_I_M — технический писатель 1cloud. Мнение о статье и пожелания можно оставить в форме обратной связи, а технические вопросы можно задать здесь.