Смотри не зависай
Как CDN-серверы помогают получать видеоконтент
В прошлом году рынок онлайн-кинотеатров в России вырос на 5% до 63,3 млрд руб. по сравнению с 2021 г. По оценкам экспертов, в 2023 г. их выручка увеличится на 10–20%, или до 70–80 млрд руб. Обеспечить работоспособность онлайн-кинотеатров в условиях роста клиентской базы и нагрузки должно развитие промежуточных серверов, которые ускоряют загрузку контента, – так называемые сети доставки контента (CDN, Content Delivery Network). Они делают возможным просмотр HD- и UHD-видео с помощью стриминговых сервисов даже через мобильные сети 4G и LTE.
Что такое CDN
Высокая скорость загрузки контента вне зависимости от местоположения конечного пользователя в CDN достигается благодаря работе кэширующих серверов вблизи от потребителя контента.
Сеть устроена таким образом: существуют серверы, на которых хранятся оригиналы фильма. Они расположены, к примеру, в Москве. У онлайн-кинотеатров аудитория географически распределенная – кто-то смотрит фильмы из Московской области, а кто-то из Владивостока или вообще из другой страны.
У тех, кто находится близко к серверам с контентом, фильм будет загружаться быстро, а вот жителям, скажем, Владивостока без кэширующих серверов приходилось бы ждать довольно долго, пока видео в хорошем качестве передавалось бы через всю страну. «Долго» – это доли секунды, но и они приведут к «дерганию» и зависанию картинки на экране.
Например, если контент видеосервиса размещен на сервере в московском ЦОДе, то запросу из Хабаровска на пути к серверу придется преодолеть множество «хопов» (от англ. hop – «прыжок») – промежуточных переходов и стыков сетей, через которые должны пройти данные. По словам коммерческого директора NGENIX Константина Анохина, на каждом из них возникнет некоторая задержка и то же самое случится на обратном пути. Чем больше этих хопов, тем медленнее доставляется контент и тем медленнее будет грузиться страница веб-сайта.
CDN подразумевает наличие дополнительных серверов вблизи конечного пользователя – при первом запросе на просмотр нового фильма они автоматически скачают его копию с серверов в Москве, после чего начнут раздавать его всем желающим поблизости. Благодаря этому задержка во Владивостоке будет такая же, как и в Московской области.
Если бы у онлайн-кинотеатра не было CDN, то, вероятнее всего, чтобы поддерживать стабильность видеопотока, поставщику контента пришлось бы снижать уровень разрешения видео. Подобные проблемы с сервисом обычно приводят к тому, что пользователи начинают искать более удобные аналоги, уверен директор по развитию инфраструктурных продуктов Selectel Константин Ансимов.
Полезные помощники
Создание и поддержание чрезмерных мощностей для работы в периоды пиковых нагрузок стоит очень дорого. Если же видеохостинги или поставщики другого тяжелого контента, например игровые серверы популярных игр, не будут иметь резервных мощностей для хранения и обработки входящих запросов, то это может вызвать «отказ в обслуживании». Другими словами, возникнет эффект, подобный DDoS-атаке.
При региональной экспансии сервису выгоднее воспользоваться сторонним облачным CDN, предоставляемым по подписной модели, так как инвестиции в построение и содержание собственной распределенной инфраструктуры огромны, считает Константин Анохин.
«Как правило, серверы CDN размещаются с точки зрения топологии – ближе к основным центрам потребления – городам-миллионникам. Их основная функция – кэширование трафика, т. е. сохранение наиболее часто потребляемого контента и приближение его к пользователю», – говорит директор по развитию облачных и инфраструктурных решений «МегаФона» Александр Осипов.
Технология CDN эволюционирует. Сначала CDN представляли собой большие узлы, которые располагались рядом с крупными городами и агрегировали огромные объемы трафика. Однако интересное развитие предложил Google: ставить так называемые кэширующие серверы у операторов. «Это были небольшие узлы, но их было много», – добавил Станислав Журавлев, CPO (chief product officer) онлайн-кинотеатра KION.
Изначально KION также использовал вендорское решение CDN с крупными узлами в городах-миллионниках. Но с зимы 2022 г. развивает собственную сеть микро-CDN серверов, которые расположатся в большом количестве населенных пунктов уровня райцентров.
«Пользовательский опыт взаимодействия пользователя с приложением крайне важен, и CDN – краеугольный аспект комфорта пользователя», – уверен Станислав Журавлев.
Борьба за эффективность
Для повышения эффективности CDN-серверы следует размещать в местах концентрации целевой аудитории, как правило, в точках обмена трафиком, в сетях крупных операторов и в местах межоператорских стыков, полагает Константин Анохин.
«Для улучшения эффективности необходимо наличие короткого маршрута от источника контента до пользователя. «МегаФон» – единственный оператор CDN, который имеет собственную магистральную сеть, настроенную так, что между разными точками контент доставлялся наиболее коротким путем без «хопов», – полагает Александр Осипов.
Быстрый рост всегда влечет существенное увеличение нагрузки на инфраструктуру, поэтому использование внешнего CDN бывает необходимо. Например, видеосервис Wink уже несколько лет использует платформу NGENIX. По словам операционного директора Wink Олега Никитина, поддерживать высокие темпы роста на собственной инфраструктуре экономически неоправданно, поэтому компания выбрала внешнего провайдера CDN-сервиса.
CDN решает и другие задачи, например повышает позиции сайта в поисковой выдаче. Ускоряя загрузку контента сайта, можно повлиять на его ранжирование, пояснил Константин Ансимов. «Поисковые системы показывают на первых позициях те ресурсы, которые не заставляют пользователей ждать. Чем меньше время ожидания после запроса к контенту, тем больше вероятность подняться в выдаче», – добавил он.
Кроме того, используя CDN в работе, компании уменьшают нагрузку на основную инфраструктуру, а значит, не надо поддерживать большое количество своих мощностей собственной IT-инфраструктуры. Большую часть запросов будут обрабатывать кэширующие серверы CDN.