Содержание
Что такое CDN — как работает сеть доставки контента и как выбрать провайдера
Почему «тяжелые» многостраничные порталы с массой графического и видеоконтента порой открываются быстрее, чем сайты с несколькими картинками на страницу? Высокая скорость загрузки ресурса часто говорит о том, что сайт задействует CDN (Content Delivery Network), или сеть доставки контента.
В статье подробно расскажем о том, что это и как работает CDN-сеть, в чем ее плюсы и минусы. Также дадим рекомендации по выбору провайдера и поделимся статистикой.
Что такое CDN (Content Delivery Network)
Говоря простыми словами, CDN — это сетевая инфраструктура с распределенной серверной базой, которая предназначена для уменьшения времени доставки контента.
То есть это группа особым образом настроенных серверов, расположенных в разных геоточках. Серверы выступают в качестве узлов, которые позволяют быстро загружать контент ближайшим пользователям. Таким образом, разветвленная сеть CDN с расположенными неподалеку серверами позволяет значительно сократить время загрузки удаленных сайтов.
Основные термины CDN
Чтобы лучше понять, как работает технология CDN, введем несколько терминов:
- Caching Rule (правило кэширования). Правило определяет, как долго ваш контент остается в кэше на пограничном уровне, то есть определяет TTL, время жизни объекта.
- Edge Node (пограничный узел). Локальные серверы распределены по всему миру, они доставляют кэшированный контент пользователям, сокращая время передачи. Пограничные узлы также можно называть «точками присутствия» (англ. Points of Presence, или PoPs) — разницы между этими терминами нет. Точки присутствия кэшируют контент в течение установленного времени, которое определяется правилами кэширования.
- Origin (исходный сервер, сервер-источник или «ориджин»). Это сервер, где хранятся исходные данные и откуда пограничные узлы извлекают нужную информацию. В качестве ориджина могут выступать, например, облачное хранилище или выделенный сервер. CDN может иметь и несколько серверов-источников.
- Purge (очистка). Под термином Purge понимается механизм и процесс очистки контента на пограничных узлах для последующего обновления из ориджинов. Регулярная очистка и кэширование необходимы для того, чтобы конечные пользователи быстро получали актуальные данные после обновлений на сайте.
- Restriction (ограничение). Пограничное правило, регулирующее, кто может, а кто не может получать доступ к содержимому из кэша. Примером такого ограничения является разрешение запросов только из определенных доменных зон, регионов или групп IP-адресов.
- Time to Live, TTL (время жизни). Период времени, в течение которого ресурс кэшируется на пограничном узле (Edge Node, PoP), до того, как будет выполнено новое извлечение данных из источника, Origin.
О типах контента
Что касается данных, они делятся на два типа — статический и динамический.
Динамический контент
Динамический контент — содержимое страницы, которое изменяется в зависимости от ряда факторов:
- время посещения,
- местоположение пользователя,
- устройство, с которого просматривается страница,
- и других.
Динамика генерируется скриптами, которые изменяют содержимое страницы. В итоге она не будет выглядеть одинаково для всех. Это делает веб-страницы более персонализированными, добавляет возможности для интерактивного взаимодействия.
Примеры динамических данных:
- новостные сайты с информацией, которая зависит от местоположения посетителя сайта или статуса входа в систему,
- ленты социальных сетей; например, лента «Вконтакте» будет выглядеть совершенно по-разному для каждого пользователя и он может взаимодействовать с контентом — поставить лайк, поделиться, прокомментировать пост.
Динамические веб-страницы не хранятся в виде статических HTML-файлов. Вместо этого в ответ на такие события, как взаимодействие с пользователем или вход пользователя в систему, генерируется новый HTML-файл, который и отправляется в веб-браузер.
Так как динамический контент уникален для каждого пользователя, его нельзя кэшировать. Однако развитие технологий CDN позволяет ускорять даже динамический контент. Делать это, правда, могут далеко не все провайдеры, так как за ускорением динамического контента стоит целый список отдельно настраиваемых функций и условий.
Статический контент
Статический контент — это любые файлы на сервере, которые остаются неизменными или меняются минимально каждый раз, когда загружаются.
Примеры статического контента:
- HTML-файлы,
- изображений,
- видео.
Так, статьи в блоге Selectel – это статический контент. После публикации текст и картинки практически не меняются. Статический (постоянный) контент во многом похож на печатный материал: чаще всего на определенной странице будут один и тот же текст и фотографии, независимо от условий взаимодействия с контентом и личности читающего.
Стандартный процесс кэширования постоянного контента заключается в том, что в кэше сохраняется копия статического файла — например, изображения. Это необходимо, чтобы файл был ближе к пользователю и быстрее загружался при повторном обращении.
Браузеры и CDN могут кэшировать статику в течение указанного периода времени (TTL) и предоставлять ее до тех пор, пока она запрашивается. Организовать это несложно, потому что статическое содержимое, в отличие от динамического, не меняется или меняется незначительно – может измениться одна иллюстрация или добавится запятая в текст.
Принцип работы CDN
Теперь опишем, как организованы сети Content Delivery Network. Обычная схема передачи данных в интернете (без использования CDN) реализована так, что все пользователи получают информацию напрямую с определенного сервера, который может находиться как угодно далеко.
CDN же позволяет загружать контент сразу, буквально в течение нескольких секунд. При этом неважно, находится ли исходный сервер (ориджин — вспоминаем термины) в Петербурге, Каире или Буэнос-Айресе.
Схема работы CDN следующая:
- У CDN-провайдера, к которому подключен сайт, есть группа уже настроенных серверов, размещенных на определенной территории (к примеру, в Европе, Азии или в обоих регионах). Эти серверы предназначены для раздачи прежде всего «тяжелого» статического, а также стримингового контента (видео), потому что динамика почти всегда грузится быстро.
- Теперь пользователь, который запрашивает страницу, переадресуется уже не к ориджину, а к ближайшему пограничному узлу. То есть для передачи контента задействуется высокопроизводительная сеть CDN-провайдера.
- При передаче стриминговых видео, которые записываются в режиме Live, ориджины после получения очередного пакета видеоданных сразу же ретранслируют его на пограничные узлы, с которых видеоконтент загружают ближайшие пользователи. Это и обеспечивает практически мгновенную загрузку тяжелых файлов.
Как организовать раздачу контента
Посмотрим, как это сделать, на примере услуги CDN в Selectel
- Переходим в раздел CDN в панели управления.
2. Нажимаем Создать CDN-ресурс.
3. Вводим имя ресурса, выбираем провайдера (Selectel также предлагает CDN от Akamai).
4. Указываем источник контента — домен вашего сайта (например, ****.com), откуда CDN будет брать статические файлы.
5. Нажимаем Создать CDN-ресурс. CDN-провайдер создаст домен по умолчанию, с которого будет происходить раздача контента. Далее клиент может поменять домен по умолчанию на персональный домен.
Подробнее о том, как работать с Content Delivery Network в Selectel, читайте в базе знаний.
Вот и все: теперь при загрузке страницы вся статика (прежде всего изображения, анимация, видео) будет подгружаться распределенную инфраструктуру CDN-провайдера.
При этом для загрузки статического контента вовсе не обязательно использовать серверную базу владельца сайта. Куда удобнее настроить раздачу прямо из облачного хранилища (в Selectel также есть такая опция), обеспечивающих более быструю и стабильную загрузку тяжелых файлов.
Попробуйте CDN от Selectel
От 0,35 ₽/ГБ.
Подключить
Как CDN понимает, где находится ближайший кэширующий сервер
Чтобы перенаправлять пользователей к ближайшим точкам присутствия, существуют два решения — GeoDNS и AnyCast.
Как работает GeoDNS
Когда пользователь запрашивает ваш DNS-сервер, тот ищет местоположение пользователя на основе его общедоступного IP-адреса в пакете запроса и находит ближайшую к этому местоположению точку присутствия.
Технология основана на алгоритме преобразования IP-адреса в географические координаты. Он известен как geo-IP.
Как работает Anycast
Anycast работает немного иначе, но дает аналогичные результаты. Решение связано с протоколом BGP, по которому передается информация о соседних сетях и о топографическом расстоянии до этих сетей.
Принцип Anycast-рассылки заключается в том, что диапазон IP-адресов объявляется в сообщениях BGP сразу нескольких маршрутизаторов. По мере того, как эта информация распространяется по сети, маршрутизаторы узнают, какой из их соседей обеспечивает кратчайший топографический путь к объявленному IP-адресу и перенаправляют сетевой трафик к этому узлу.
Как кэшируется контент
Часто процесс кэширования запускается при первом обращении к контенту. В этом случае пользователь, первым загружающий какой-нибудь статический файл, затрачивает на его загрузку больше времени. Зато у всех остальных пользователей, которые находятся в одном регионе с «первопроходцем», время загрузки значительно сокращается, поскольку файл уже будет кэширован.
Контент будет кэшироваться только в той точке присутствия, к которой обратился пользователь. Людям из других регионов придется ждать, пока тот же процесс завершится на ближайшем к нему Edge Node.
Чтобы решить эту проблему, узлы CDN настраивают таким образом, чтобы они выполняли обмен кэшированным контентом непосредственно между собой, без обращения к ориджину. При этом такой обмен пограничные узлы выполняют по запросам пользователей.
Вернемся к примеру с городами: пользователь из Владивостока решил заглянуть на петербургский интернет-портал, однако на ближайшей к нему точке присутствия статика с этого портала еще не кэширована. Этот пограничный узел не будет обращаться к ориджину в Санкт-Петербург, а просто запросит кэшированную версию этого контента у соседей — например, в Чите или Хабаровске. В результате время загрузки для пользователя из Владивостока существенно сократится.
Каким веб-сайтам лучше использовать технологию CDN
Целевыми клиентами CDN-провайдеров являются прежде всего порталы с обилием тяжелого статического контента и стриминговые сервисы. Скорость загрузки ресурсов в этом случае серьезно влияет на опыт пользователей, которые, при серьезном замедлении работы, просто уйдут с «тормозящего» сайта или сервиса. Ускорение работы веб-ресурсов с тяжелым контентом очень важно не только для привлечения аудитории, но и для сохранения лояльности пользователей.
Однако есть еще две целевые группы ресурсов, которые нуждаются в технологии. В первую очередь, это проекты с критически важным для клиентов контентом — например, банки, онлайн-школы и подобные компании. В случае неполадок на сервере пользователи могут лишиться доступа к нужным материалам, а компания понесет не только финансовые, но и серьезные репутационные потери. CDN в этом случае станет «палочкой-выручалочкой» и позволит поддерживать доступ к важным файлам настолько долго, насколько это потребуется техподдержке сайта для восстановления основных серверов.
Кроме того, сети доставки контента ощутимо ускоряют загрузку мобильного трафика. Сегодня это очень важно, ведь по статистике со смартфонов в сеть выходят чаще, чем с компьютеров. Таким образом, разработчикам приложений, рассчитывающих на продвижение своих мобильных продуктов, важно задумываться о том, как будет доходить контент до их пользователей.
Для каких проектов и задач необходим CDN
Подробный разбор технологии для бизнеса.
Читать
Теперь мы плавно подошли к рассмотрению плюсов и минусов CDN.
Преимущества использования серверов CDN
Более быстрая доставка контента
Поскольку узлы сетей CDN чаще всего расположены ближе к пользователю, чем основные серверы, можно ускорить загрузку, ведь расстояние для передачи контента сокращается.
Например, если ваш веб-сайт находится в России, но вы также получаете трафик из Казахстана, вполне возможно, что у вашего провайдера CDN есть серверы в обеих странах. И провайдер будет использовать эти серверы для подгрузки статики вашего сайта пользователям из Казахстана и соседних стран.
Большее количество одновременных посетителей
Хороший CDN-провайдер гарантирует, что большое количество пользователей из разных регионов и стран сможет получать доступ к сети одновременно и без задержек.
Постоянная доступность
Серверы CDN работают всегда, и ваш сайт будет хотя бы частично доступен, даже если на главном сервере случился сбой. Например, основной сервер какого-то СМИ или маркетплейса «прилег» под нагрузкой. Благодаря CDN пользователям будет доступен статический контент из кэша — они смогут почитать часть новостей или полистать «сохранившиеся» карточки продуктов.
Стабильная доставка контента
Это, в частности, касается медиаконтента высокого качества, такого как видео и изображения в высоком разрешении. CDN обеспечивает доставку контента без потери качества и положительно влияет на производительность вашего веб-сайта. Сегодня уже 83% маркетологов заявляют, что видеоконтент помогает им генерировать лидов. Поэтому для бизнеса крайне важно, чтобы можно было предоставлять пользователям такие материалы в высоком разрешении.
Контроль нагрузки на серверы
Операторы CDN отслеживают нагрузку на сеть и на основе статистики в реальном времени могут определить, где требуется дополнительная мощность. Поэтому, если пограничный узел в определенном регионе страдает от перегрузки, оператор может увеличить пропускную способность узла за счет резервных мощностей, чтобы обеспечить бесперебойную и быструю загрузку контента.
Защита от скачков трафика
Если ваш веб-сайт внезапно испытывает большой приток трафика (например, при публикации «горячих» новостей), это еще один повод воспользоваться услугами CDN. Большая сеть серверов обеспечивает их доступность и масштабируемость в режиме онлайн практически в любых случаях. Многие компании не готовы к значительному росту трафика. Порой не только их сайт, но и хостинг-провайдер не могут с этим справиться из-за отсутствия распределенной сети серверов, между которыми можно «разделить» нагрузку.
Преимуществ использования CDN достаточно много, давайте теперь рассмотрим недостатки подхода.
Минусы и возможные альтернативы CDN
Дополнительные расходы
За услуги CDN нужно будет платить. Однако с увеличением доступности CDN и повышением предложения цены на услуги провайдеров стабилизировались. Операторы, как правило, предлагают разные тарифы — в зависимости от планируемой нагрузки и необходимых дополнительных опций.
В итоге польза CDN может вполне покрывать затраты на него. Например, закэшировав статику на серверах CDN можно вполне избежать аренды дополнительного сервера, если инфраструктура перестала справляться с наплывом пользователей.
Расположение точек сети
Вполне возможно, значительная часть вашей аудитории находится в стране, где у CDN, к которой вы подключены или планируете подключиться, нет или слишком мало серверов. В таком случае контенту вашего веб-сайта придется «путешествовать» дальше, и скорость загрузки сайта у жителей этой страны увеличится. Поэтому рекомендуем сначала провести мониторинг сети провайдера, чтобы узнать, где расположены его серверы CDN.
Региональные ограничения
Некоторые организации и даже страны блокируют домены и IP-адреса популярных CDN. В этом случае определенный процент аудитории не сможет получить доступ к вашему сайту, и вы потеряете часть трафика. Поэтому следует поинтересоваться, какие решения провайдер может предложить на этот счет. Выясните, например, есть ли у провайдера пул резервных IP-адресов, через которые можно прогонять трафик без потерь.
Чтобы CDN работал на пользу сайта или сервиса, необходимо соблюдать три условия:
- Пользователи должны загружать один и тот же контент.
- Часто и массово заходить на ресурсы; если ресурс не очень популярный кэширования данных сайта не произойдет.
- Находиться в разных локациях; если весь трафик вы получаете из одной географической точки, CDN будет лишней строчкой в бюджете.
Потеря конфиденциальности
Передавая файлы со своего веб-сайта через инфраструктуру другой компании, нужно быть готовым к тому, что конфиденциальность передаваемых данных может быть под угрозой. Поэтому важно, чтобы провайдер CDN брал на себя ответственность за обеспечение безопасности контента, который не предназначен для всех пользователей.
На что обратить внимание: чек-лист по выбору CDN-провайдера
Перечисленные риски означают, что нужно тщательно выбирать провайдера.
Примерный список характеристик хорошего провайдера:
- Располагает разветвленной структурой пограничных узлов в регионах, приносящих сайту наибольший трафик.
- Имеет резервные схемы обхода блокировок по домену или IP-адресу.
- Гарантирует полную безопасность передачи ценной информации клиента.
- Имеет безупречный «послужной список», то есть работает долго и без нареканий. У такого веб-сервиса отзывчивая служба поддержки, а клиент уверен, что его сайт будет доступен пользователям 24/7.
- Предлагает услуги по разумным ценам.
Самостоятельная настройка CDN
Конечно, можно настроить и подключить собственную CDN-сеть. Однако стоимость создания и обслуживания такой инфраструктуры будет значительно выше, если вы хотите обеспечить приемлемую скорость передачи данных через свой CDN-сервис.
Поэтому создать собственные эффективные сети доставки и распределения контента по силам только крупным компаниям. Среди них WordPress и конструктор Wix.com, использующие собственные CDN для поддержки сайтов своих клиентов. Разумеется, CDN-сети есть и у таких IT-гигантов, как Google, Microsoft, крупных облачных сервисов и большинства ведущих корпораций в других отраслях (Amazon, Alibaba).
Понимаем, что статистика — вещь довольно скучная, однако это самый наглядный способ продемонстрировать преимущества продукта или технологии.
В заключение добавим несколько говорящих цифр по CDN:
- По итогам 2021 года среднее количество запросов через CDN составило 42,3% от общего числа. При этом в сегменте данных Third party (информация, получаемая из сторонних источников) процент CDN-запросов составил значительно больше половины — 62,8%.
- Число сайтов из топ-1000 (по количеству посетителей), так или иначе использующих сервисы CDN, в прошлом году достигло 62,3% от общего количества в десктопных версиях и 61,1% — в мобильных.
- Сайты, входящие в первый миллион рейтинга популярности, тоже активно задействовали технологию Content Delivery Network — по данным 2021 года сетями доставки контента пользовались 32,8% таких сайтов в десктопных версиях и 33,7% — в мобильных.
- Общий процент запросов через CDN для всех сайтов составил для десктопных версий 27,1%, а для мобильных — 26,9%. Таким образом, более четверти всех ресурсов интернета уже используют CDN для ускорения трафика.
Итак, мы разобрались с определением сети доставки контента и принципами работы CDN. Оценили преимущества и недостатки технологии, рассмотрели, есть ли альтернативы CDN.
Автор: Роман Андреев
что это за технология и как она работает
Разберемся, как контент попадает на промежуточный узел. Это происходит, когда на сайт заходит первый человек из данного региона. Например, сайт открыл первый пользователь из Новосибирска. Сразу после его запроса контент кэшируется на промежуточном узле — то есть сохраняется для других пользователей.
Поскольку для первого пользователя содержимое сайта запрашивается с основного сервера в Москве, для него загрузка занимает больше времени. Но в дальнейшем промежуточному узлу не потребуется обращаться к основному серверу. Для остальных пользователей из Новосибирска контент подгрузится с промежуточного узла, а скорость загрузки будет выше.
Более того, промежуточные узлы умеют обмениваться данными друг с другом и кэшировать контент не с основного сервера, а с ближайшего другого узла. Например, когда на сайт заходит первый пользователь из Сеула, на местный промежуточный узел контент подгружается не с основного сервера в Москве, а с узла в Новосибирске.
Помимо быстрой доставки контента, CDN решает еще одну задачу: обеспечивает дополнительную защиту от DDoS-атак — атак с помощью большого количества одновременных запросов на сайт, которые приводят к отключению сервера. Случится атака — запросы обрабатывает распределенная инфраструктура, основной сервер не пострадает.
Компании чаще получают CDN в виде услуги
Как следует из принципа работы технологии, CDN включает в себя большое количество серверов, находящихся в ЦОДах, и соединяющие их каналы — желательно, чтобы они были зарезервированы, то есть сдублированы. Если ваши клиенты живут в разных точках земного шара, то серверы и каналы должны располагаться по всему миру. Немногие компании могут позволить себе содержать такую инфраструктуру.
Поэтому логично, что технологию также предоставляют в виде услуги, и можно CDN подключить у российского провайдера. Воспользовавшись его услугами, вы получаете:
- Высокую скорость загрузки контента и его гарантированную доставку при перегрузках.
- Разгрузку сервера-источника без закупок оборудования и капитальных вложений в инфраструктуру.
- Защиту от простых сетевых атак за счет большей емкости сети.
- 100% доступность контента даже в период пиковых нагрузок.
- Возможное снижение объема трафика, когда данные на промежуточных узлах сжимаются до передачи.
- Доставку на любую платформу: компьютеры, смартфоны, планшеты, игровые консоли, Smart TV и STB.
- SEO-эффект: из-за ускорения сайта CDN улучшаются позиции в поиске.
В каких случаях нужно подключать CDN
CDN подходит любой компании, чьи клиенты разбросаны по всей России или находятся в других странах. Посмотрим, какие преимущества от технологии могут получить интернет-магазины, банки, онлайн-кинотеатры, телеканалы, дистрибьюторы ПО и игр.
Интернет-магазины. Скорость загрузки страниц влияет на продажи. Есть очевидное прямое влияние: если сайт долго грузится, клиенты его закрывают. По рекомендациям Google, в 2020 году оптимальное время загрузки сайта — до 3 секунд. При этом 40% покупателей, зашедших в интернет-магазин с мобильного, не готовы ждать более 6 секунд.
Что такое сеть доставки контента (CDN)
Содержание
Сеть доставки контента, или CDN, как ее обычно называют, является неотъемлемой частью любого современного веб-сайта и приложения. Контент, который вы сегодня просматриваете на своих телефонах, на любом веб-сайте или в приложении, видео или изображения или любой другой вид контента, скорее всего, будет доставлен с использованием сети доставки контента.
CDN также является важной частью нашего предложения CDN для изображений в ImageKit. А учитывая отсутствие в Интернете ресурсов с примерами CDN для начинающих, мы решили написать это краткое руководство, чтобы помочь понять, что такое CDN и как она работает, используя некоторые распространенные сценарии, с которыми вы могли бы столкнуться.
Хотите узнать больше о CDN для изображений?
Прочитайте наше подробное руководство о том, что такое CDN изображений, как он работает и его основные функции
Читать сейчас
Что такое CDN — теоретическое определение
Сеть доставки контента или CDN — это глобально распределенная сеть серверов, которая помогает обеспечить высокую доступность, более высокую производительность и безопасность веб-сайтов, распространяющих через нее свой контент.
Понимание CDN на примере
Одним из наиболее распространенных вариантов использования CDN является сокращение времени загрузки страницы. Давайте используем магазин электронной коммерции в качестве примера, чтобы понять, как CDN помогает сократить время загрузки страницы.
Видео, объясняющее, как CDN работает для сокращения времени загрузки страницы на веб-сайтеПредставьте, что вы управляете интернет-магазином в США. Вы разработали фантастический веб-сайт и разместили его на сервере, расположенном в городе на восточном побережье США, скажем, в Северной Вирджинии. Все файлы, необходимые для вашего сайта, хранятся на этом сервере. Таким образом, когда пользователь заходит на ваш веб-сайт, все, что загружается на этом веб-сайте, поступает с этого сервера в Северной Вирджинии.
Теперь пользователь из Калифорнии, на западном побережье, пытается получить доступ к веб-сайту. Для каждого загружаемого на веб-сайте ресурса — текстового контента, файлов javascript, таблиц стилей и изображений — с устройства пользователя отправляется запрос на ваши серверы, где хранятся файлы. Эти два местоположения, пользователь в Калифорнии и сервер в Северной Вирджинии, находятся на расстоянии более 2000 миль друг от друга.
При отрицании всех остальных факторов это расстояние между клиентом и сервером приводит к увеличению времени загрузки ресурса на несколько сотен миллисекунд. Представьте, что эти дополнительные миллисекунды добавляются к сотням ресурсов, которые загружаются на ваш сайт, и в итоге вы получаете медленную загрузку страницы.
Чем больше географическое расстояние, тем выше задержка
И никто не любит медленный сайт. Это расстраивает ваших пользователей, снижает ваши продажи и даже влияет на ваш рейтинг в поисковых системах.
Как CDN улучшает время загрузки страницы?
Как упоминалось ранее, это глобальная распределенная сеть серверов, которые хранят (обычно называемые «кешем») и доставляют часть или все содержимое вашего веб-сайта. Каждый из этих серверов в сети CDN называется точкой присутствия (PoP) или пограничным сервером.
Вместо того, чтобы доставлять ресурсы вашего веб-сайта непосредственно с сервера вашего веб-сайта, вы доставляете их через точки присутствия или ребра CDN.
CDN сокращают географическое расстояние между пользователем и контентом, тем самым сокращая время загрузки
На изображении выше мы используем CDN вместе с нашим сервером в Северной Вирджинии. Эта CDN имеет точки присутствия в нескольких местах по всей территории США, включая западное побережье.
Теперь, когда пользователь заходит на ваш сайт, вместо того, чтобы получать ресурсы с сервера вашего сайта на восточном побережье, пользователь получает их с сервера CDN, расположенного ближе к нему на западном побережье. Географически пользователь и сервер CDN, отвечающий на запрос пользователя, теперь находятся всего в нескольких милях друг от друга, что значительно сокращает время загрузки ресурса.
Страница загружается быстрее, пользователи довольны, а продажи растут.
Каковы другие функции CDN?
Как упоминалось ранее, сокращение времени загрузки за счет доставки вашего контента через сеть доставки контента является наиболее распространенным вариантом использования любой CDN.
Но есть и другие варианты использования, некоторые из которых неявно связаны с использованием CDN, а некоторые используются чуть более крупными и технологически продвинутыми организациями.
1. Повышение доступности
Это автоматический результат использования любого CDN.
Для простоты доступность можно рассматривать как простую меру того, как долго ваш веб-сайт и его функции остаются доступными в течение определенного периода времени.
Обычно, когда вы обслуживаете контент со своих серверов, вам нужно добавить больше серверов по мере увеличения трафика. Если возникнет непредвиденная проблема с вашим сервером или базой данных, это может привести к остановке приложения.
CDN делает две вещи. Во-первых, большая часть трафика даже не приходит на ваши серверы. Пограничный сервер CDN обслуживает большое количество контента из своего кеша. Таким образом, вам нужно немного меньшее количество серверов.
Во-вторых, пока контент доступен в кэше CDN, даже если ваши фактические серверы не работают, CDN будет продолжать обслуживать контент. Это дает вам некоторое буферное время для устранения проблем на ваших серверах, в то время как CDN обслуживает любой контент, который он может, из своего кеша.
CDN доставляет содержимое из собственного кэша, когда исходный сервер не работает.
2. Безопасность веб-сайта
Это более продвинутое использование CDN, которое обычно используется крупными компаниями.
Поскольку PoP или пограничный сервер CDN теперь является первым уровнем в системе, который принимает входящий трафик, он также становится первой линией защиты от атак на ваш сайт.
Теперь, если CDN может изолировать плохой трафик от хорошего трафика, она может предотвратить попадание всего плохого трафика на ваши серверы. Ваши серверы отвечают только на «хорошие» запросы, поступающие от реальных пользователей.
CDN блокирует запрос от злонамеренного пользователя, в то же время обслуживая хорошие запросы, как обычно
Безопасность веб-сайта — это очень обширная тема сама по себе и выходит за рамки этого блога. Но есть определенные функции, такие как блокировка доступа к не-HTTP-портам, которые являются стандартной функцией во всех CDN и помогают обеспечить базовую безопасность. Такие возможности доступны каждому.
Кроме того, есть более продвинутые функции, такие как защита от ботов, брандмауэр веб-приложений (WAF), защита от DDoS и т. д., которые доступны в качестве надстроек в некоторых CDN. Такие надстройки обычно дороги, и их настройка тоже требует времени и усилий. Поэтому их используют немногие избранные компании, которые сталкиваются с такими проблемами и могут позволить себе развертывание более дорогих специализированных решений.
Какой контент можно доставлять через CDN?
Теоретически вы можете использовать CDN для кэширования и доставки всего вашего веб-сайта. Как долго вы можете кешировать его в CDN, или можете ли вы вообще кешировать его, зависит от типа контента.
Краткое примечание: Если вы хотите разместить на своем веб-сайте оптимизированные видео высокого качества, вам следует прочитать о новом Video API ImageKit.
Давайте рассмотрим пример.
Если вы продаете обувь Nike на своем веб-сайте, и страницу этого продукта просматривают два пользователя: первый мужчина из Калифорнии, а второй — женщина из Нью-Йорка.
Это черные кроссовки, и оба видят одно и то же изображение продукта.
Все пользователи видят одно и то же изображение продукта на веб-сайте.
Такой контент, который не меняется для каждого пользователя, является отличным кандидатом для обслуживания из кэша CDN. Если бы вы использовали свой сервер напрямую, этот сервер также отправил бы то же самое изображение. Контент, подобный этому изображению, который не меняется или остается «статичным» для пользователей, называется статическим контентом. Javascript, который влияет на взаимодействие на вашем веб-сайте, и CSS, который влияет на внешний вид вашего веб-сайта, также остаются одинаковыми для всех пользователей и также классифицируются как статический контент.
Но на вашем сайте могут быть разные скидки или тарифы на доставку для разных регионов страны. Возможно, вы захотите настроить рекомендации по продуктам по-разному для мужской и женской аудитории. Или у вас может быть предложение, действительное только в течение следующего часа в Нью-Йорке. Таким образом, фактический контент веб-сайта, текст, предложения и API-интерфейсы, которые получают рекомендации по продукту, могут различаться для двух пользователей.
Изображение остается прежним, но каждому пользователю предоставляются разные предложения
Такой контент называется динамическим контентом. Он может меняться для каждого пользователя (например, рекомендации), в зависимости от местоположения (скидки и доставка) или в зависимости от времени (например, скидка, доступная до полуночи). Становится трудно, если вообще возможно, хранить такой контент в кэше CDN в течение длительного времени. Представьте себе предложение, которое должно было истечь в 13:00, но продолжает храниться и доставляться с сервера CDN до 15:00. Это приведет только к путанице для ваших пользователей и падению продаж.
Может быть, вы можете сохранить тарифы на доставку в кэше на несколько часов в CDN, потому что они не меняются очень часто. Однако такой контент, как рекомендации для пользователя, скорее всего, будет часто меняться по мере того, как пользователь перемещается по другим продуктам, что делает его некэшируемым. И если вы не можете хранить его в CDN, то должны ли вы вообще использовать CDN для такого контента.
Примечание. Это простой пример. В некоторых случаях, таких как экстренная новость на новостном веб-сайте с высокой посещаемостью, даже короткое время кэширования в 1 или 2 минуты может быть полезно для снижения нагрузки на серверы при ускорении доставки контента. Многие веб-сайты делают это на практике. Кроме того, CDN по-прежнему могут выступать в качестве первого уровня безопасности, и поэтому имеет смысл использовать их, даже если вы не кэшируете на них какой-либо контент.
Как обновляется кэш CDN?
Наиболее распространенным вариантом использования CDN является кэширование контента и его доставка конечному пользователю, что сокращает время загрузки страницы. Это означает, что контент должен кэшироваться на границе CDN как можно дольше. Чем дольше он остается, тем дольше вы получаете преимущество быстрой загрузки. Например, Google PageSpeed наказывает вас за то, что вы не используете длительное время кеша для своего статического контента.
PageSpeed выдает предупреждение, связанное с политикой кэширования
Однако вы должны иметь возможность контролировать, как долго контент остается в CDN и как вы принудительно обновляете его, если контент на вашем сервере изменился.
Например, ваша CDN хранит на своих пограничных серверах копию черных кроссовок Nike, о которых мы говорили ранее. Даже если вы измените изображение на исходном сервере, файл, кэшированный в CDN, не изменится автоматически.
Для одного и того же образа продукта версия кэша CDN отличается от версии исходного сервера. Пользователь продолжает получать изображение из кеша CDN.
Существуют некоторые стандартные заголовки управления кешем и рекомендации по обновлению ваших ресурсов (и их URL-адресов), которые в сочетании обеспечивают актуальность контента в CDN и синхронизацию с обновлениями на ваших серверах. Эти методы подробно обсуждались в этом руководстве — The Ultimate Guide To Caching Static Assets и требуют некоторых технических знаний о HTTP-запросах.
Подведение итогов
Это руководство предназначено для того, чтобы дать вам краткое представление о том, что такое CDN и как она работает. Он был специально создан для легкого чтения, максимально избегая технического жаргона, связанного с сетями доставки контента.
Мы сами разработаем более подробное техническое руководство по работе CDN. Теперь вы готовы выйти в Интернет и глубже погрузиться в работу CDN.
Что такое CDN | Быстро
CDN или сеть доставки контента — это сеть или совокупность серверов, расположенных по всему миру. CDN, также известная как сеть распространения контента, может относиться ко многим типам служб доставки контента, таким как балансировка нагрузки и потоковое видео.
Сеть серверов CDN позволяет компаниям быстрее и эффективнее доставлять контент со своих веб-сайтов и мобильных приложений людям в зависимости от их географического положения. Короче говоря, CDN перемещает данные и приложения ближе к конечному пользователю, увеличивая скорость, повышая безопасность и улучшая взаимодействие с пользователем.
Каковы преимущества CDN?
Сеть доставки контента имеет множество преимуществ: от улучшения взаимодействия с пользователем до повышения безопасности и снижения затрат.
Сокращение времени загрузки страницы CDN устраняют необходимость в передаче данных на большие расстояния, поскольку они доставляют контент с серверов, расположенных рядом с конечным пользователем. В результате CDN значительно сокращают время, необходимое для загрузки веб-страницы, в том числе с мультимедийным контентом с высокой пропускной способностью. Для многих предприятий такое улучшение пользовательского опыта означает улучшение репутации бренда и повышение эффективности продаж.
Повышенная доступность Больше никаких раздражающих сообщений об ошибках; CDN позволяют веб-сайтам и приложениям быть «всегда включенными» для конечного пользователя. Если исходный сервер выходит из строя, CDN может продолжать обслуживать любой контент, который был последним в кеше, пользователям из POP, точек присутствия, которые географически и стратегически распределены для максимальной производительности.
Повышенная масштабируемость CDN позволяют компаниям масштабироваться по требованию. В то время как веб-трафик обычно остается постоянным большую часть года, такие события, как распродажи в Черную пятницу или экстренные новости, могут вызвать скачок трафика, иногда неожиданно. Стремясь сохранить пользовательский опыт, компаниям традиционно приходилось покупать или арендовать достаточное количество серверов, чтобы учитывать часы пик. Это означает, что до конца года они могут платить за потраченное впустую хранилище.
CDN, напротив, позволяют компаниям нормализовать расходы на серверы и покупать более разумное количество места. Когда происходит всплеск трафика, компании могут отправить его для обслуживания из распределенной точки присутствия, а не из источника. Эта масштабируемость происходит по требованию; как только компании нужны дополнительные мощности, они их получают. Кроме того, балансировка нагрузки позволяет серверам распределять запросы по сети для принятия более оптимальных решений о маршрутизации и большей отказоустойчивости.
Повышенная безопасность Сети доставки контента обеспечивают дополнительные уровни безопасности. Во-первых, CDN более устойчивы к определенным типам угроз кибербезопасности, поскольку трафик маршрутизируется через POP. Например, CDN защищают ваш веб-сайт от распределенных атак типа «отказ в обслуживании» (DDoS), которые перегружают исходные серверы фальшивым трафиком, что замедляет работу или даже приводит к сбою веб-сайтов. Большая, широкополосная, глобально распределенная сеть CDN способна поглощать этот трафик и предотвращать его попадание на исходный сервер клиента.
Во-вторых, CDN помогают шифровать данные. Поскольку данные, перемещаемые через Интернет, уязвимы, они должны быть зашифрованы с использованием таких протоколов, как Transport Layer Security (TLS) и Secure Socket Layer (SSL), чтобы только предполагаемый получатель мог декодировать и читать информацию. CDN могут помочь защитить сайт, предоставляя сертификаты TLS и/или SSL, которые обеспечивают высокий стандарт аутентификации и шифрования.
Кроме того, CDN могут помочь защитить ваши веб-сайты и приложения через брандмауэр веб-приложений (WAF). WAF, предлагаемые CDN, будут анализировать и направлять трафик на веб-сайт и с веб-сайта, блокируя угрозы прикладного уровня (уровень 7). Они проверяют каждый HTTP-запрос и действуют как щит для блокировки подозрительного трафика, пропуская только безопасный трафик. Это удобно для пользователя и предотвращает такие угрозы, как межсайтовый скриптинг (XSS) и атаки с внедрением SQL. CDN также могут помочь защититься от ботов, которые представляют собой программы, которые выполняют автоматизированные задачи и могут использоваться для злонамеренных атак. CDN могут использовать технологию обнаружения для быстрого выявления и нейтрализации бот-угроз.
Снижение затрат на пропускную способность Наконец, CDN могут помочь компаниям сэкономить деньги на пропускной способности. Перенаправляя трафик с исходного сервера на серверы CDN, CDN сокращают расходы на исходную инфраструктуру и затраты на исходящий трафик. Если контент хранится в кеше CDN, причин для возврата к источнику меньше.
Кому нужна CDN?
Предприятия, присутствующие в Интернете, могут извлечь выгоду из сети доставки контента, включая платформы электронной коммерции, цифровых издателей, сайты социальных сетей и развлекательные веб-сайты:
- CDN может принести пользу крупным платформам электронной коммерции, обрабатывая большой трафик, регулируя сезонные и неожиданные всплески трафика и повышая безопасность транзакций. Эти платформы охватывают целый ряд отраслей, включая розничную торговлю и гостиничный бизнес.
- Точно так же цифровые издатели с большой глобальной читательской аудиторией могут использовать CDN для обработки трафика, загрузки страниц, транзакций и других требований.
- CDN также идеально подходит для развлекательных веб-сайтов (например, потоковых сайтов, предоставляющих контент высокой четкости в режиме реального времени), где пользователи ожидают предсказуемого и высококачественного взаимодействия.
- Поставщики финансовых услуг расширяют возможности своих пользователей, используя CDN для кэширования API, чтобы они могли предоставлять высокодинамичный контент, например курсы акций. —
- Сайты социальных сетей, которые имеют большие объемы трафика и содержат богатый мультимедийный контент, могут использовать CDN для улучшения и регулирования взаимодействия с пользователем.
- Компании, работающие в сфере высоких технологий, используют сети CDN для предоставления сведений и анализа, на основе которых они могут постоянно улучшать взаимодействие с пользователем. Сеть CDN, предоставляющая аналитику в режиме реального времени и потоковую передачу журналов, предоставляет полезную информацию, которую они могут использовать, чтобы выделиться.
Это лишь несколько примеров предприятий, которые получают выгоду от CDN. Вашему бизнесу может понадобиться CDN, если ваш сайт имеет большой трафик или использует большую пропускную способность — или и то, и другое.
Пример использования: CDN в действии
Давайте рассмотрим пример использования, чтобы понять, как CDN обеспечивает более быстрый и эффективный способ доставки контента пользователям.
Предположим, конечный пользователь посещает любимый новостной веб-сайт. После ввода URL-адреса для инициирования связи между браузером и сервером новостного сайта, на котором размещена веб-страница (источник), обратная связь между браузером пользователя и источником проходит ряд этапов: первая ретрансляция поиск DNS, затем маршрутизация, затем рукопожатие TCP и TLS и, наконец, передача HTML вместе с различными файлами, такими как CSS, JavaScript, а также видео или изображения на новостном сайте.
Теперь предположим, что пользователь находится в Сан-Франциско, а сервер новостного сайта — в Нью-Йорке. Помните, что вся связь между браузером пользователя и сервером новостного сайта происходит по настоящим проводам и кабелям. Таким образом, физическое расстояние между Сан-Франциско и Нью-Йорком увеличивает время или «задержку» просмотра. Представьте, если бы наш пользователь находился в Австралии, и связь должна была бы путешествовать туда и обратно между Австралией и Нью-Йорком! Как вы могли догадаться, такое расстояние резко увеличило бы задержку, ухудшив взаимодействие с пользователем.
Для сравнения, давайте снова представим этот сценарий — на этот раз с использованием CDN.
Мы знаем, что чем ближе пользователь находится к серверу новостного сайта, тем быстрее будет работа. CDN размещают серверы физически ближе к конечным пользователям, тем самым ускоряя время загрузки.
Зная это, новостной сайт решил «кэшировать» — то есть временно хранить — свой контент на CDN.