С начала 90-х веб-сайты проделали длинный путь. Размер первых из них редко превышал 4 Кбайт. С тех пор эта цифра значительно увеличилась. По данным HTTP Archive, в 2012 году средний размер страницы для десктопа составлял 803 Кбайта, а спустя десять лет — уже 2284 Кбайта. Все это, несомненно, отразилось на скорости загрузки и доставки контента до аудитории.
Есть мнение, что современные интернет-ресурсы стали слишком неповоротливыми. На фоне этой концепции возникли проекты 512 или 250 Кбайт, участники которых уменьшают веб-ресурсы до соответствующих размеров. Отдельные энтузиасты выжимают из оптимизации все соки. Они разрабатывают сайты весом до 14 Кбайт, и такой размер выбран неслучайно.
Сайты, контент и технология Content Delivery Network
Разница в скорости загрузки таких страниц, по сравнению с ресурсами весом в 15 Кбайт, может превышать полсекунды. На первый взгляд это совсем немного, однако опросы показывают — 47% интернет-пользователей ожидают, что сайт загрузится в течение двух секунд. Само по себе ускорение связано с особенностями работы TCP-протокола и процедурой выбора числа пересылаемых пакетов.
Но подобные эксперименты лишь нишевое направление, которое не годится для мейнстрима. Очевидно, что большинство медиа и сайтов невозможно уместить в столь малый объем памяти. Поэтому существуют менее радикальные подходы к повышению скорости загрузки контента — например, технология Content Delivery Network (CDN).
Компании могут самостоятельно создавать распределенные сети доставки контента. Однако стоимость настройки и обслуживания инфраструктуры будет высокой. Чтобы ускорить доставку контента и снизить нагрузку на собственные серверы, бизнес выбирает Cloud CDN. Подключив услугу облачного провайдера, клиент платит только за трафик.
Сегодня обсудим, как устроен сервис Cloud CDN, что привело к его появлению, и как начать работу.
Что было до CDN
Одноточечная дистрибуция (слева) и раздача контента через CDN (справа)
CDN представляет собой географически-распределенную сетевую инфраструктуру. Она оптимизирует доставку контента до пользователей и параллельно сокращает задержки подключения. Но корни технологии уходят глубоко в начало 90-х. Тогда зародилась концепция
паутины, и интернет перестал быть инструментом для исследовательских институтов и госкомпаний. Он стал площадкой для обмена сообщениями, файлами, изображениями и видеозаписями, а бизнес увидел в нем коммерческие перспективы. В этот момент потребовалось решение для пересылки больших объемов данных между пользователями.
Одним из первых таких механизмов стали так называемые серверные фермы. В этом случае группы профильных серверов отвечали за распределенную обработку данных и запуск приложений. Разработчики также применяли иерархическое кэширование и кэширующие прокси, когда прокси-серверы сохраняли востребованный контент у себя, чтобы делиться им с большим количеством пользователей.
Двумя другими технологиями для ускорения обмена данными были зеркалирование и множественная адресация. В первом случае происходит дублирование пакетов с одного порта сетевого коммутатора на другой. Во втором — сервер передает одни и те же данные сразу нескольким клиентам, что снижает нагрузку на отправителя (по сравнению с индивидуальной пересылкой). Все эти технологии проложили дорогу первым CDN-сетям, по которым сегодня проходит порядка 15–30% всего интернет-трафика.
CDN простыми словами
На скорость загрузки контента, конечно же, влияет не только его вес, но и расстояние, на котором находится пользователь ресурса от сервера или ЦОДа. Отличия в скорости загрузки заметны не только, когда клиент и сервер находятся на разных континентах. Они могут располагаться в разных городах такой большой страны, как Россия. Если инфраструктура условного маркетплейса развернута в питерском дата-центре, то скорость загрузки страниц будет отличаться для клиентов из Москвы и Владивостока.
Технология CDN кэширует контент на группе рассредоточенных серверов. В результате уменьшается сетевой путь передачи данных. Дополнительно возрастает безопасность сетевой инфраструктуры. В случае DDoS или неожиданного роста легитимного трафика запросы обрабатывает распределенная инфраструктура. Такой подход защищает основные корпоративные серверы от перегрузки.
В то же время Content Delivery Network включает аналитические инструменты и системы автоматизации, детектирующие проблемы в политиках файрволов и атаки типа man-in-the-middle.
Кому нужна технология CDN
Сети доставки контента часто используют крупные социальные сети и ecommerce-платформы. Провайдеры финансовых сервисов применяют CDN для кэширования API, чтобы обрабатывать быстроменяющийся контент — например, стоимость акций.
Очевидно, что CDN идеально подходит для видеохостингов и стриминговых сервисов, клиенты которых ожидают качественное подключение и отсутствие буферизации.
С технологией работают не только крупные компании, но и начинающие стартапы (причем в самых разных сферах). Так, Content Delivery Network может оптимизировать доступ к хостинг-платформе для подкастов, каталогу товаров нишевого ретейлера.
CDN: что под капотом
Основу CDN составляют так называемые точки обмена. Когда пользователь впервые запрашивает интересующий его контент, тот подгружается с основного сервера. Но затем он кэшируется на промежуточном узле и сохраняется для других запросов. В то же время промежуточные узлы обмениваются данными друг с другом, кэшируя контент ближайших соседей.
Дополнительно CDN реализует механизмы, ускоряющие передачу данных. Например, уменьшает размеры файлов с помощью сжатия и минификации. Последний подход часто применяют в контексте программного кода — из него удаляют ненужные символы. Очевидно, что файлы меньшего размера означают более быструю загрузку.
Еще CDN применяет механизм TLS false start. Он позволяет сократить процедуру рукопожатия при установке соединения с сайтом и переиспользовать данные прошлых сессий.
Современные CDN-системы могут кэшировать как статический, так и динамический контент. Если содержимое страницы генерируется скриптами, то их запускают не на удаленном корпоративном сервере, а прямо в кэше CDN. Так, его не приходится загружать с исходного узла, что ускоряет работу динамических страниц.
Если говорить о потенциальном будущем Content Delivery Network, то есть мнение, что технология перестанет быть простым каналом для поставок контента. Их ждет трансформация в более интерактивные модели. Так, инфраструктура стриминговых сервисов вместо того, чтобы служить «глупым» транспортом для видеопотока, позволит зрителям взаимодействовать со стримом — публиковать комментарии, влиять на его содержание. Также интерес представляет работа с AR и VR составляющими, которые обеспечат более глубокое погружение для пользователей.
Как начать работать с CDN
В теории построить CDN можно самостоятельно. Для этих целей существуют специальные инструменты (в том числе бесплатные и открытые). Но в компании должны быть специалисты, которые будут заниматься настройкой и поддержанием такой инфраструктуры. Кроме того, создать масштабную и геораспределенную сеть в таком формате проблематично. Это под силу только крупным компаниям с большими финансовыми ресурсами.
Малому, среднему бизнесу и стартапам имеет смысл обратиться к CDN-провайдерам. Например, существуют специализированные сервисы для разработчиков сайтов, которые помогают оптимизировать загрузку программных библиотек. Хотя многие из них подходят только для решения каких-то конкретных задач и не годятся для работы с тяжелым контентом.
Здесь на помощь придут облачные провайдеры с услугой CDN. Такой сервис предлагаем мы в #CloudMTS. Здесь на помощь придут облачные провайдеры с услугой CDN. Такой сервис предлагаем мы в #CloudMTS. Гибкое управление сервисом доступно через Консоль управления (личный кабинет):
Актуальная статистика о потреблении трафика доступна в реальном времени:
Подробнее о возможностях рассказываем в Базе знаний.
В нашу сеть доставки контента входит более 800 кэширующих серверов на пяти континентах. Они обеспечивают резервирование, и при аварии трафик принимают другие узлы сети. Бизнесу не приходится тратить время и ресурсы на построение и поддержание собственной распределенной инфраструктуры.
Чтобы протестировать сервис, можно воспользоваться приветственным грантом на 5 000 руб. Зайдите в Консоль управления и нажмите «Получить грант». Применить его можно в течение двух месяцев после предоставления кода.
Комментарии (10)
Suvitruf
08.06.2023 13:21Что по настройке правил? Какие возможности?
Домен свой прикрутить можно?
Пурджить по каким условиям можно?
Игнорировать query можно?
Защита от DDoS?
Как ориджин что угодно можно выбрать?
Фаервол настроить можно?
Цена?
CloudMTS Автор
08.06.2023 13:21Спасибо за вопросы. Подготовим ответы и вернемся. Вы можете оставить заявку через сайт, тогда коллеги быстрее ответят по почте\телефону.
Suvitruf
08.06.2023 13:21+3Да тут дело не в заявке. Вы же постом пытается привлечь пользователей, но, при этом, вообще ничего конкретно про ваш CDN не пишете.
CloudMTS Автор
08.06.2023 13:211. Если речь идет о правилах кеширования трафика, то они есть и достаточно гибкие. Можно самостоятельно устанавливать срок хранения кеша (если никаких изменений на сайте нет, переплачивать за трафик не нужно будет). Есть настройка правил по вытеснению старого кеша новым.
2. Создается домен второго уровня.
3. Уточните, что имеется ввиду?
4. Да.
5. Защита от DDoS – вопрос комплексный. Сам CDN может выступать защитой. Кроме того, у МТС есть свои AntiDDoS сервисы для инфраструктуры, размещенной в #CloudMTS.
6. Да.
7. Есть (как отдельный сервис). Можно разместить сайт в облаке #CloudMTS, настроить там фаервол и подключить CDN.
8. Базовая цена – 60 копеек за гигабайт (без НДС). В зависимости от размера проекта предоставляем скидку – до 60%.
Suvitruf
08.06.2023 13:21+13.Инвалидировать кеш можно целиком? По директориям? По регуляркам?
8.Дороховато на фоне той же Клаудфлари выходит =/
aixx
Вы написали совершенно банальные вещи из учебника. Но чем вы лучше конкурентов, в т.ч. бесплатных?
M_AJ
Первая картинка к статье похоже сгенерирована нейросетью, возможно, что и вся статья тоже.
GooG2e
Вообще согласен - чем вы лучше того же CloudFlare на бесплатном тарифе? на минимальном платном?
CloudMTS Автор
Хороший вопрос и для прямого сравнения нужно писать отдельную статью. А лучше, если кто-нибудь со стороны сделает объективный обзор. Но вообще мы исходим из задач клиента – можем ли мы это сделать (и кто может лучше решить проблему клиента), что нужно для решения.
CloudMTS Автор
Добрый день. Спасибо за вопрос – дополним статью.
«Чем лучше» зависит от того, какую задачу решает клиент. Все бесплатные решения ограничены по функциональности. Это не значит, что ими нельзя пользоваться. Их возможностей вполне хватает для решения простых задач. Другой вопрос, что будет, если сеть внезапно «отвалится». Или понадобятся другие функции.
У МТС транспортная сеть 75 Тбит/сек. Бесплатные поставщики (и многие платные) такую сеть предоставить клиентам не в состоянии. Мы даем защиту от перегрузок, присутствуем во многих регионах (вся Россия, СНГ и еще 200 точек по всему миру).
Плюс к этому техническая поддержка на нашей стороне и гарантированный уровень качества (SLA).