Сайты с большим количеством видео- и фото-контента, как правило, открываются на любых устройствах довольно долго. Однако есть решение: сервис Content Delivery Network (CDN, сеть доставки контента), который ускоряет загрузку.
Content Delivery Network называют сетевую инфраструктуру, которая распределена между несколькими серверами в разных геолокациях.
Изучим основные термины, связанные с технологией:
Кэширование. Под этим термином понимается размещение файлов на серверах системы. Также используется Caching Rule (правило кэширования), которое устанавливает, сколько файлы будут находиться в кэше.
Origin. Так называют исходный сервер. Ориджины хранят исходный контент, который затем передается пограничным узлам.
Edge Node. Это пограничный узел. Отвечает за кэширование файлов с учетом правил.
Purge. Это процедура очистки. Когда контент попадает на пограничный узел, он очищается. Это нужно, чтобы пользователи могли получить обновленную информацию после перезагрузки страницы.
Restriction. Английское слово Restriction переводится как «ограничение». Это одно из правил, которое отвечает за доступ к кэшированному контенту. Например, благодаря этому механизму можно запретить доступ к информации пользователям из конкретного региона.
Time to Live (TTL). Так называют временной отрезок, в течение которого файлы подвергаются кэшированию на пограничном узле (до того момента, пока новые данные не поступили с ориджина).
Толчком к возникновению технологии послужила необходимость распределять статический контент по разным серверам, чтобы ускорить загрузку страниц. В первую очередь такую потребность испытывали крупные порталы с пользователями из разных стран. Однако, вскоре технологией заинтересовались и владельцы других веб-ресурсов: нишу быстро заняли компании, которые оказывали соответствующие услуги. Но первопроходцем в этой области считается компания Akamai, которая и сегодня является одним из самых известных CDN-провайдеров.
Со временем технологию стали использовать не только для быстрой раздачи статического контента, но также для обеспечения стабильной работы порталов в моменты пиковой нагрузки. Сегодня CDN решает и еще одну важную задачу – отвечает за эффективную передачу файлов в процессе стриминга.
С каким контентом работает CDN
Технология актуальна при загрузке контента двух типов – динамического и статического:
Динамическими называют данные, которые меняются под влиянием разных факторов – например, геолокации, времени посещения, типа девайса, с которого пользователь приходит на страницу. Следовательно, для разных пользователей одна и та же страница будет выглядеть по-разному. Благодаря этому страницы персонализируются с учетом потребностей разных посетителей. Примеры динамической информации – новости, ленты в социальных сетях. Особенность контента этого типа в том, что такие данные не подлежат кешированию. C этой информацией способны работать лишь некоторые провайдеры, предлагающие CDN.
Статический контент не изменяется или изменяется, но незначительно (только в момент загрузки). Это видео, фото, файлы HTML, статьи в блогах.
Предположим, есть портал, который работает с несколькими серверами, находящимися в разных местах. Сайт ориентирован на передачу стримингового контента. Пользователю нужно открыть конкретную страницу портала. Его запрос направляется к самому близкому пограничному узлу. Так достигается почти мгновенная загрузка контента. Запросы распределяются между пограничными узлами, поэтому поддерживается стабильная работа ориджина.
Если сайт не подключен к CDN, то скорость обработки запроса определяется расстоянием между пользователем и сервером.
Кроме того, если нагрузка на сайт без CDN очень большая (например, в день выхода новой игры или премьеры фильма), то сервер может вообще не справиться с таким количеством запросов – он попросту «ляжет». Это негативно сказывается на лояльности клиентов.
Чтобы CDN «понимал», где искать пограничный узел, чаще всего применяют два решения:
1. GeoDNS.Эта технология ищет сервер по IP-адресу пользователя. Когда GeoDNS определяет местоположение, ему не составит труда найти самый близкий пограничный узел.
2. Anycast.Anycast использует протокол BGP, который отвечает за передачу данных о ближайших сетях. Как только определен ближайший «сосед», трафик перенаправляется на него.
Пользователю, который запускает нужный контент первым, придется подождать дольше. В первый раз файл скачивается с основного сервера. А уже потом создается его копия – и остальные пользователи в данном регионе будут скачивать копии за считанные секунды. Чтобы сделать процесс более быстрым, CDN предусматривает обмен контентом между всеми пограничными узлами системы.
Количество запросов на разных пограничных узлах отличается. Чтобы узлы, к которым больше всего обращаются пользователи, не были перегружены, используют технологию шилдинга. Это своеобразный буфер между ориджином и узлами, который не только исключает перегрузки, но и повышает производительность системы.
Технология имеет некоторые особенности, которые необходимо учесть:
Время от времени нужно чистить кэш. Это требуется, чтобы пользователи, скачивающие файлы с пограничных узлов, могли получать актуальные версии контента (при его изменении на ориджине).
Можно столкнуться с блокировкой сайта. Например, если веб-ресурс на вашем IP оказался заблокированным, то блокировка может затронуть и вас. Ситуация неприятная, но некритичная: нужно обратиться к CDN-провайдеру – он изменит IP.
Также помните, что CDN можно использовать не постоянно: технологию подключают и отключают с учетом актуальных задач и потребностей. Например, небольшой интернет-магазин нуждается в CDN во время сезонных распродаж и черных пятниц, больших рекламных кампаний.
Миллионы порталов используют технологию CDN не случайно:
1. Ускоряет загрузку контента.
Это достигается за счет того, что пользовательские запросы идут на не основной сервер, а на самые близкие серверы.
2. Гарантирует стабильную работу ресурса.Так как запросы распределяются между узлами, нагрузка на ресурс равномерная. Сайт будет работать, даже если доступ к нему потребуется одновременно многим людям.
3. Делает ресурс доступным в постоянном режиме.Даже в ситуации, если главный сервер выйдет из строя, ваш ресурс останется доступным. Например, клиент маркетплейса сможет изучить карточки товаров или ознакомиться с новостями.
4. Обеспечивает эффективную доставку медиаконтента.CDN помогает быстро грузить «тяжелые» видео и фото в высоком разрешении. Такой медиаконтент активно используется для продвижения ресурсов, поскольку помогает привлечь большую аудиторию.
5. Дает возможность контролировать нагрузку на серверы.Специалисты CDN-провайдера постоянно следят за нагрузкой. Если статистика показывает риски перегрузки одного из узлов, провайдер увеличивает пропускную способность. Следовательно, веб-ресурс продолжит стабильно работать.
6. Исключает риски скачков трафика.Когда на сайте публикуют горячие новости, анонсы премьер, свежие акции и скидки, трафик возрастает в разы. Нагрузка перераспределяется между узлами, поэтому сайт сохраняет стабильность работы.
Однако стоит помнить и о ряде особенностей:
Использование технологии платное, однако, во-первых, вы можете выбрать тариф, оптимальный для вашего ресурса, во-вторых, затраты быстро окупятся благодаря преимуществам.
При выборе провайдера CDN-услуг изучите, где расположены серверы компании. Если в вашем регионе у поставщика услуги серверов нет, то загрузка контента замедлится. Уточните, где компания размещает свое оборудование (эта услуга называется Colocation). Оптимально, если дата-центр имеет сертификат соответствия TIER III, обеспечивает необходимые для работы оборудования условия (температура, влажность, уровень защиты).
Сотрудничайте только с теми провайдерами, которые имеют хорошую репутацию. Вам придется доверить сторонней компании в том числе и конфиденциальные данные. Обратите внимание, какие решение поставщик услуги предлагает для обеспечения безопасности конфиденциального контента.
CDN – это эффективное решение, однако постоянное применение технологии нужно далеко не всем заказчикам. Для кого же оно обязательно?
Стриминговые сервисы, которым важна быстрая и безопасная передача контента.
Порталы, которые предлагают пользователям «тяжелый» статический контент (как правило, это видео и фото). Если пользователям придется долго грузить страницы, они просто уйдут с сайта.
Проекты со значимым для целевой аудитории контентом. Например, сайты банков или школ. Если сервер выйдет из строя, пользователи потеряют доступ к нужным материалам. Для компании это чревато серьезными финансовыми и репутационными рисками.
Маркетплейсы, онлайн-гипермаркеты, интернет-магазины. От того, насколько быстро работает сайт, напрямую зависит удобство заказов, а значит, и количество продаж.
О востребованности решения говорят и цифры: около 65 % сайтов, которые входят в топ-100 по числу посетителей, используют CDN.