Оригинал и копии
Хостинг — место, где хранится сам сайт и работает его серверная часть: файлы, база данных, логика. CDN, сеть доставки контента, не заменяет хостинг, а стоит перед ним: она раскладывает копии статических файлов по множеству узлов в разных регионах и отдаёт их посетителям с ближайшего узла.
Поэтому вопрос «CDN или хостинг» на деле звучит как «достаточно ли мне одного хостинга или полезно добавить слой кэширования».
Скорость и задержка
Когда все посетители обращаются к одному серверу, удалённые пользователи получают ответ с большей задержкой, ведь данные проходят большее расстояние. CDN сокращает путь для картинок, скриптов и стилей, и страницы часто загружаются быстрее.
Эффект наиболее заметен для сайтов с международной аудиторией и большим количеством статики. Для небольшого проекта с посетителями из одного региона и лёгкими страницами выигрыш может быть малозаметным, а узким местом чаще оказываются сама страница и запросы к базе данных.
Нагрузка и устойчивость
CDN снимает с хостинга значительную часть запросов: статические файлы отдаются с узлов сети, и исходный сервер получает меньше обращений. Это помогает справляться со всплесками посещаемости и снижает расход трафика на хостинге.
При этом динамические страницы, личные кабинеты и данные, которые нельзя кэшировать, по-прежнему обрабатываются на хостинге. Слабый хостинг остаётся слабым звеном, и CDN не исправит медленную базу данных или неоптимальный код.
Безопасность и ограничения
Многие сети доставки предоставляют защиту от массовых запросов, фильтрацию вредоносного трафика и шифрование соединения на границе. Но это добавляет ещё одну сторону, которая видит трафик, и ещё один слой настройки: неправильные правила кэширования могут показать пользователю чужие данные или устаревшую страницу.
При использовании CDN нужно следить за политикой кэширования, сбросом кэша после обновлений и корректной настройкой защищённого соединения между CDN и хостингом. Зависимость от внешней сети также означает, что её сбой может повлиять на ваш сайт.
Когда что нужно
Небольшому сайту с региональной аудиторией достаточно качественного хостинга с включёнными кэшем и сжатием. Если аудитория географически распределена, много изображений и видео, а нагрузка растёт или бывает пиковой, CDN становится разумным дополнением.
Начинайте с измерений: посмотрите, где находятся посетители, какие ресурсы занимают больше всего времени загрузки и насколько нагружен сервер. Тогда станет ясно, поможет ли CDN или проблема в самом хостинге и коде сайта.
С чего начать проверку эффекта
Прежде чем подключать сеть доставки, измерьте текущее состояние. Откройте средства разработчика в браузере и посмотрите, сколько времени занимает загрузка страницы и какие ресурсы самые тяжёлые. Если основное время уходит на ответ самого сервера, CDN не поможет: проблема в коде, запросах к базе данных или слабом хостинге.
Если же большую часть занимают изображения, скрипты и стили, кэширование даст ощутимую пользу. Оцените географию посетителей по статистике: чем дальше они от вашего сервера, тем больше выигрыш.
После подключения сравните показатели до и после, проверьте, что заголовки кэширования выставлены разумно: статические файлы можно хранить долго, но менять их адрес при обновлении, а страницы с личными данными кэшировать нельзя. Проверьте, что шифрованное соединение работает на обеих сторонах и что настоящий адрес сервера не раскрыт лишний раз. Держите под рукой способ быстро отключить CDN на случай проблем. Так вы получите измеримый результат, а не формальное усиление схемы, которое лишь добавляет ещё одну точку отказа.
Наконец, помните о простых улучшениях, которые стоит сделать до подключения CDN: сжать изображения, включить сжатие текстовых файлов, объединить и уменьшить скрипты, настроить кэширование в браузере. Они дают ощутимый выигрыш при минимуме риска и сами по себе часто снимают проблему медленной загрузки. А сеть доставки после этого станет логичным следующим шагом для проекта, чьи посетители действительно разбросаны по разным регионам.