Где хранятся видео и почему мы можем смотреть фильмы онлайн из любой точки Земли

Содержание
Читайте в Telegram
|
Ежедневно мы заходим на любимые видеосервисы, смотрим фильмы, листаем ленту из коротких роликов.
И к тому же делаем это в разных обстоятельствах — пока едем на работу, ложимся спать или ждем свой рейс в аэропорту.
Потребление медиаконтента уже давно стало настолько привычной и неотъемлемой частью нашей жизни, что мы не задумываемся, где все это время находится видео и как оно попадает к нам на устройство.
Однако за рутинными действиями стоят сложные технологии и цифровая инфраструктура. Вместе с RUTUBE и его техническим директором Ростиславом Чернаковым продолжаем разбираться, как устроены видеосервисы и технологии видеостриминга.
Что такое сеть доставки контента
Задача любого видеосервиса — загружать контент быстро и показывать его без сбоев. Например, аудитория видеоплатформы RUTUBE превышает 20 млн зрителей ежедневно.
Эти пользователи живут по всей стране и за границей. Чтобы обеспечить каждого зрителя быстрым и надежным доступом к просмотру вне зависимости от его расположения, необходима сеть доставки контента или Content Delivery Network (CDN).

Это географически распределенная сеть серверов, на которой хранится необходимый контент. Можете представить автомобильные магистрали или железные дороги, покрывающие страну, обеспечивающие транспортную логистику и соединяющие города? У сети доставки контента роль точно такая же.
На каждом таком CDN-сервере хранится контент, он делится на «горячий» и «холодный». «Горячий» контент — это видеоролики, которые наиболее востребованы у пользователей и набирают определенное количество запросов в сутки. Сервис постоянно анализирует, какое видео смотрят чаще всего, и заранее загружает его на необходимый сервер. Например, новый выпуск телешоу или свежий блог популярного автора.
Контент, набирающий меньше определенного количества запросов в сутки, отправляется на сервера с «холодным» контентом. Видео, которое не было востребовано более месяца, хранится в основном хранилище. Таким образом зритель из любой локации получает возможность посмотреть популярный ролик без долгой загрузки, а не ждать его «доставки» из главного хранилища. А видеосервис снимает загрузку с главного сервера, не позволяя ему зависнуть от миллионов запросов одномоментно.
Серверная инфраструктура видеосервиса — это сложная, динамичная и дорогая система. Она должна работать слаженно, быстро и надежно, как единый механизм. В RUTUBE на сегодня она включает более 7000 серверов и 380 CDN в 40 городах России, что позволяет обеспечить быстрым доступом к любимому контенту всех пользователей.
Кстати, в конце этого года RUTUBE планирует начать строительство своего первого собственного ЦОДа, в котором сможет разместиться более двух тысяч серверов. Это значительно расширит вычислительные мощности для хранения и обработки видео, позволит продолжать развивать технологии в сфере искусственного интеллекта, а главное — обеспечит надежную работу видеосервиса и еще большую стабильность.
Резюмируя, можно выделить такие главные задачи CDN в современной инфраструктуре видеосервисов:
- Система гарантирует бесперебойную работу даже в часы максимального трафика из-за премьеры ожидаемого фильма или массового подключение к прямому эфиру;
- Повышение отказоустойчивости. Распределенная архитектура позволяет переживать атаки и сбои отдельных узлов. Трафик автоматически перенаправляется на живые серверы, исключая «точку отказа»;
- Кэширование контента на периферии снижает нагрузку на базовые дата-центры и магистральные каналы, исключая дублирующую передачу одного и того же файла для каждого нового пользователя;
- В условиях высокой конкуренции задержка даже в 1–2 секунды критична. CDN обеспечивает минимальную задержку, сохраняя качество воспроизведения на уровне, ожидаемом современным зрителем.
Где хранятся все видео
Любой современный видеосервис — это миллионы и даже сотни миллионов единиц контента, объем которого уже давно исчисляется не терабайтами, а петабайтами. 1 петабайт равен 1024 терабайтам или же 1 048 576 гигабайтам.
Это огромные значения, и весь этот массив данных нужно где-то хранить. И одна из главных функций видеохостинга — обеспечить надежное хранение контента, который загружают пользователи, а также быстрый и бесперебойный доступ к нему. Для этого и нужно файловое хранилище, которое состоит, по сути, из нескольких частей: само хранилище, распределенное по ЦОДам, балансировщика и CDN-серверов.
Хранилище видеосервиса — это серверные стойки в центрах обработки данных (ЦОД) с высокой плотностью жестких дисков с большим объемом. Например, одна серверная стойка может вмещать 10 серверов, а один сервер — 36 жестких дисков по 18 терабайт. При этом на одной серверной стойке можно расположить 10 таких серверов, по итогу емкость одной стойки будет равна 6,5 петабайтам.
Надежность хранения контента входит в число приоритетов любого видеостриминга. Чтобы минимизировать риски потери пользовательского видео, используются технологии резервного копирования.
Сегодня емкость хранилища RUTUBE составляет более 400 Пбайт, и мы постоянно его расширяем, чтобы хранить весь контент, загружаемый пользователями. А так как хранится он в разном качестве, то количество объектов превышает 2 миллиарда.
Теперь, когда мы примерно разобрались, где и как хранятся видео, можем наконец ответить на вопрос:
«Как же видео попадает к нам на устройство?»
Когда пользователь запускает видео в плеере, специальный запрос отправляется в балансировщик — это в некотором роде навигатор и маяк в куче серверов, который по определенным метрикам рассчитывает «расстояние» до ближайших CDN-серверов. Затем получает из хранилища адрес CDN, на котором есть видео, и адрес самого видео. Потом отдает плееру сообщение c указанием основного и запасного CDN-узла и адрес исходного видео.
Плеер «идет» за видео сначала на CDN с «горячим» контентом. Если контент не популярный и его нет в горячем кэше, то плеер запрашивает с CDN с «холодным» видео, если и там не оказалось — то «идет» в основное хранилище.
Так выглядит непростой путь контента под капотом видеостримингов, занимающий всего лишь мгновения для зрителей.






