Сеть доставки контента (Content Delivery Network, CDN)
Сеть доставки контента (Content Delivery Network, CDN) — это сервис передачи данных (изображений, видеозаписей, веб-страниц, дистрибутивов приложений, патчей к программам и т. п.) неограниченному количеству пользователей по всему миру с максимальной скоростью загрузки независимо от расположения как источника контента, так и его потребителя.
Основное преимущество CDN в том, что организациям не нужно нести затраты на развертывание и эксплуатацию собственной инфраструктуры, программного обеспечения и высокопроизводительных каналов связи для хранения и быстрого одновременного предоставления больших объемов контента большому количеству пользователей, тем более что стоимость технической поддержки таких инфраструктур неуклонно растет по мере их старения.
Оглавление:
Как работает CDN
Большинство пользователей просто уходят с сайта, если его открытие занимает больше пяти секунд, а в случае с мобильными устройствами приемлемое время ожидания еще меньше. Администрации любого сайта очень важно не только привлечь, но и удержать аудиторию, ведь это вопрос репутации, рейтингов, доходов от рекламы. Для интернет-магазинов, где каждый посетитель — потенциальный покупатель, вопрос удержания и привлечения аудитории является и вовсе критическим. Однако большинство таких веб-ресурсов открываются достаточно быстро, и мы практически не замечаем какой-либо разницы в ожидании отклика от зарубежных сайтов по сравнению с «местными», физически развернутыми на хостинг-площадке нашего собственного города.
На помощь приходит CDN — географически распределенная сеть контента. В классической модели пользователь обращается к веб-серверу — и тот отдает ему запрашиваемый контент: тексты, изображения, музыку, видео и т. д. При использовании сети CDN такой сервер тоже, разумеется, присутствует — он носит название Origin. Именно на нем хранятся исходные данные. Помимо него, в CDN имеется сеть кэширующих серверов, которые называются точками присутствия (Point of Presence, PoP) или пограничными серверами (Edge). На них не дублируются данные с Origin, но кэшируется статический контент, ведь, как правило, он самый «тяжелый» и с его доставкой возникает больше всего проблем.
Когда пользователь отправляет запрос к серверу, рассчитывая получить нужную HTML-страницу с контентом, тот идентифицирует по исходным данным местоположение пользователя и автоматически переправляет его на наиболее близкий по географическому расположению сервер (эта операция занимает не больше нескольких секунд). С сервера Origin при этом обычно поступает только динамический контент, который генерируется в зависимости от конкретного запроса пользователя, а статические данные высылаются с ближайшего Edge-сервера. Например, когда пользователь отправляет запрос на сайт турагентства, тот делает запрос к базе данных и она отвечает на него, передавая информацию о релевантных предложениях. Если пользователь хочет подробнее ознакомиться с информацией о каждом туре и отеле, посмотреть фотографии, почитать отзывы, его перенаправляют на ближайший Edge-сервер, где все эти данные содержатся в кэшированном виде. Кэш при этом периодически обновляется, чтобы пользователи всегда получали актуальный контент.
Кэшируем только нужное
Как происходит кэширование? В ответ на запрос первого пользователя из данного региона контент поступает к нему с Origin-сервера, а затем уже в виде кэша размещается на региональном Edge-сервере. После этого все пользователи из указанного региона будут получать кэшированный контент с ближайшего сервера. Также возможен обмен контентом между кэширующими серверами, находящимися в одном регионе, например между городами Дальнего Востока.
Принципы настройки
Услугу CDN предоставляют хостинг-провайдеры, поставщики облачных услуг, телеком-операторы, а также CDN-провайдеры. Есть услуга CDN и в портфеле компании StormWall.
Для заказа услуги необходимо выбрать соответствующий тарифный план. У многих провайдеров имеются и бесплатные варианты, которые вполне подойдут небольшим веб-проектам. Для настройки CDN нужно в первую очередь перенести статический контент сайта на отдельный домен типа cdn.mydomain.ru и настроить его, затем подключить услугу у провайдера, а у своего регистратора DNS перенастроить CNAME-запись на домен CDN-провайдера, который он выделяет для подключения.
Преимущества CDN
Как мы уже говорили, разветвленная сеть CDN значительно ускоряет доставку контента, то есть загрузку содержимого сайта. Чтобы почувствовать разницу, достаточно протестировать этот параметр с использованием и без использования CDN, сравнить с обычным виртуальным хостингом или виртуальным сервером. Как правило, выигрыш даже в несколько секунд при загрузке контента — это уже ощутимое преимущество, повышающее лояльность аудитории сайта.
Применение CDN также помогает снизить нагрузку на основной веб-сервер, выступающий в роли Origin, что снижает требования к его ресурсоемкости и позволяет развернуть его в более доступной по деньгам физической или виртуальной конфигурации.
Еще одно существенное преимущество: CDN-сеть способна выдержать очень высокие нагрузки при резком увеличении пользовательских запросов. Это особенно актуально для торговых сетей, крупных интернет-магазинов и других ресурсов, подверженных сильным сезонным или иным пиковым нагрузкам, например в периоды крупных акций и распродаж. Это же преимущество позволяет распределенной сети контента неплохо противостоять целенаправленным DDoS-атакам.
Выбор провайдера
При выборе поставщика услуги CDN нужно принять во внимание несколько моментов.
Во-первых, важно соотнести точки присутствия CDN-провайдера с географией аудитории вашего сайта. К примеру, если значительная доля ваших пользователей проживает в Сибири, а у провайдера нет PoP в этом регионе, лучше поискать другого.
Не менее важны пропускная способность CDN-сети, а также наличие стыков с операторами связи у провайдера. Как правило, у крупных компаний с охватом федерального уровня таких стыков больше, чем у сравнительно небольших игроков.
Следует также обратить внимание на возможности провайдера кэшировать не только статический, но и динамический контент. Возможно, сегодня вам это не требуется, но в дальнейшем такая услуга может оказаться очень полезной.
Разумеется, полезно изучить отзывы клиентов о том или ином провайдере CDN. Лучше всего искать их не на официальных сайтах, а на сторонних площадках — в СМИ, на специализированных форумах и на страницах независимых обзоров.