CDN (Content Delivery Network) — это сеть доставки контента. Система, разработанная для ускорения загрузки контента на устройство конечного пользователя. Использование CDN позволяет увеличить скорость загрузки статического контента, улучшить SEO-характеристики сайта и обеспечить комфортные условия для пользователей. Разбираемся, как работает сервис CDN и зачем он нужен.
Почему возникла необходимость в CDN
Представьте, что вы одновременно открыли два сайта по одной теме. Один загрузился быстро, а на другом изображения или другой контент ещё не загрузился. Каким сайтом вы предпочтёте пользоваться? Скорее всего, первым. А второй будет терять значительную часть новых посетителей и вызывать неудовольствие постоянных пользователей. Это объясняется тем, что 75% пользователей принимают решение о том, оставаться ли им на сайте, в течение 5 секунд. И это те, кто заходит на сайт с компьютера. Пользователи мобильных устройств закрывают «тормознутые» сайты ещё быстрее.
Для человека это не является проблемой, ведь он сможет найти информацию на другом сайта. А вот для владельца медленного веб-ресурса уход посетителей — это катастрофа. Теряются потенциальные клиенты, поисковики снижают рейтинг сайта, а рекламные бюджеты спускаются на ветер.
Поскольку сайты открываются одновременно, проблема явно не в скорости интернета, браузере или компьютере. Значит, что-то не так работает на сервере. Можно ли решить эту проблему и ускорить загрузку? Да, с помощью CDN. Объединённые в одну сеть сервера, расположенные по всему миру, позволяют быстро загружать контент на устройство пользователя вне зависимости от того, сколь велико расстояние от источника до устройства конечного пользователя.
Преимущества CDN
- Увеличение скорости загрузки. Сеть доставки контента укорачивает до минимума сетевой маршрут между источником контента и пользователем. Благодаря этой технологии время отклика сервера-источника редко превышает 10 мс. Контент одинаково быстро открывается везде.
- Уменьшение нагрузки на сервер-источник. Благодаря сети доставки контента пользовательская нагрузка «размазывается» между всеми серверами, состоящими в сети. Источник же задействуется только для раздачи в сеть обновлённых данных и настроек. Если на нём нет динамического контента, а обновления выходят редко, то стоимость хостинга будет невелика, а требования к производительности — минимальны.
- Повышение доступности сайта. CDN-сервера резервируют друг друга. Если один из них засбоит, трафик пойдёт через другие. Отказоустойчивость обеспечивается даже при DDoS-атаках, так как стоимость такой атаки на приложение или сайт с работающим CDN очень высока.
- Возможность размещения «тяжёлого» контента. Если на сайте находится ресурсоёмкое ПО или интерактивные медиафайлы, сервер-источник может быть перегружен «тяжелыми» запросами, обработка которых занимает минуты, а порой и часы. Благодаря CDN становится возможным одновременное обслуживание нужного количества «медленных» запросов.
- Улучшение SEO-параметров. Сайт грузится быстрее и пользователи чаще остаются на нём. Количество отказов уменьшается, в результате чего поисковые системы присваивают ресурсу более высокий приоритет в выдаче.
Технологии CDN
Передача данных в условиях обычного хостинга выглядит так:
- Пользователь открывает сайта или веб-приложение.
- Браузер отправляет запрос серверу-источнику.
- Сервер получает запрос, обрабатывает его возвращает ответ.
- Страница загружается.
CDN привносит в эту схему дополнительные точки хранения и передачи данных. Ускорение загрузки обеспечивается благодаря технологии кэширования и шилдинга.
Кэширование — это передача контента от сервера-источника в систему CDN, откуда впоследствии будут раздаваться данные. Поскольку сервера в сети доставки контента находятся в разных городах и странах, то пользователи получают контент с того устройства, которое находится ближе к ним. Например, если на вологодский сайт заходит пользователь из Сахалина, то контент будет загружаться не с вологодского сервера, а, например, с владивостоксого. Это напрямую влияет на скорость загрузки.
Контент может быть любым: картинки, видео, JS-скрипты и многое другое. Стриминговые сервисы и тот же Netflix не могли бы существовать без CDN — задержки были бы слишком большими.
Важно понимать, что контент кэшируется не мгновенно. И тогда возможна ситуация, что на сервере-источнике контент изменился, а на кэширующих — нет. Для этого администратору нужно предусмотреть несколько алгоритмов работы. Например, настроить приоретизацию, чтобы важный контент загружался быстрее. Или принудительно размещать контент в кэше сразу после обновления.
Есть ещё одна полезная технология, защищающая сервер-источник от повышенной нагрузки. Называется она «шилдинг» (shield — щит). Принцип очень простой: между источником и CDN устанавливается промежуточный сервер, который первый кэширует контент и раздаёт его другим серверам в сети доставки контента.
Кому нужен CDN
Технология необходима большим проектам, чья аудитория находится в разных городах и странах. Например, это может быть девелоперский сайт, сайт объявлений и т. д. Как правило, CDN используют:
- Интернет-магазины, посетители которых могут находится на всей территории страны или мира.
- Стриминговые сервисы (Netflix,Spotify).
- Игровые порталы, предлагающих услугу облачного гейминга.
- Дистрибьюторы ПО.
- Проекты, для работы мобильных приложений которых необходима высокая скорость загрузки данных.
Чек-лист по выбору провайдера CDN
Узнайте количество точек присутствия (мест расположения кэширующих серверов), размер зоны покрытия. Чем больше мест присутствия, чем шире зона покрытия — тем лучше.
Узнайте, как организовано взаимодействие с провайдерами связи. Наличие точек присутствия в большом количестве городов не всегда гарантирует высокую скорость загрузки. На это влияет и количество стыков с провайдером связи. У CDN-провайдера могут быть точки присутствия в 15 огородах, но благодаря большому количеству стыков с провайдером связи он сможет обеспечивать более высокую скорость загрузки по сравнению с другим провайдером, у которого точек присутствия больше, а стыков — меньше.
Оцените панель управления, её функционал. Наличие удобной панели управления, хороший набор инструментов — важный маркер качества предлагаемого сервиса. Гибкость и настраиваемость означают, что специалисты CDN-провайдера развивают сервис, улучшают его.
Убедитесь в безопасности. Сайт и кэширующие CDN-сервера обязательно должны иметь защиту. Обычно используется криптографический SSL-сертификат, протоколы HTTP/2 и IPv6.
Сравните стоимость. Услуги CDN-провайдера должны быть доступными, поскольку у них уже настроены технические процессы, налажено взаимодействие с провайдерами связи. Они «обкатали» процессы и знают, как сделать качественно и недорого.