Высоконагруженные системы // Евгений Россинский

Как управляемые аварии подготовили ivi к карантинным нагрузкам

Facebook
Twitter
Google+
Pinterest
Vkontakte
Odnoklassniki
318 0
Как пандемия повлияла на стратегию технологического развития ivi и какие уроки извлекла команда онлайн-кинотеатра в прошлом году, а еще об управляемых тренировочных авариях, релизном менеджменте, системе управления инцидентами и, конечно же, об архитектуре стримингового сервиса.

Меня зовут Евгений Россинский. Я технический директор крупнейшего в России онлайн-кинотеатра — IVI.

Недавно РФПИ, «ВТБ Капитал», Millhouse Романа Абрамовича, Invest AG Александра Абрамова и Александра Фролова, Baring Vostok, Flashpoint и суверенные фонды Ближнего Востока инвестировали в нашу компанию 250 миллионов долларов. Причина таких вложений — увеличение прибыли компании за 2020 год: в этот период, по данным «ТМТ Консалтинг», IVI стал крупнейшим онлайн-кинотеатром в России с долей на рынке видеостриминга более 30%. Пандемия коронавируса и ее следствие — карантин — кажутся очевидными причинами успеха, но для нас это существенной разницы в работе не повлекло.

В своей статье я расскажу, почему карантин для нас был как Новый год, что мы делаем с пиковыми нагрузками и как в IVI реализован CDN. Начнем!

Что происходило с сервисом во время карантина

С конца марта 2020-го мы работали в режиме новогодних праздников, и карантин только повысил планку нервозности. Каждый год в этот период на нашем сервисе случается колоссальная нагрузка. В компании существует план выживания для таких случаев — и каждый Новый год мы его используем. Так мы поступили и в тот момент, когда пришла первая волна пандемии. Но «новогодние праздники» сильно затянулись — отсюда планка нервозности. Одно дело, когда у тебя режим максимальной нагрузки случается раз в год, а другое — когда он длится несколько месяцев.

Проблем добавили и постоянно изменяющиеся условия. Прежде всего это коснулось провайдеров, не готовых к тому уровню нагрузки: оказавшись запертыми дома, люди не могли себя занять, они потребляли тяжелый контент (сериалы, фильмы). А нам — независимо от того, что происходит у провайдера, — нужно обслужить пользователя наилучшим образом. Провайдеры перестраивали свои сети, маршруты, добавляли мощности и «железо», меняли точки присоединения. Известный нам Рунет перестал существовать — и тут же начал строиться новый.

Как мы решали аварийные ситуации

Несколько минут простоя для нас может стоить несколько миллионов рублей, поэтому работа в аварийных ситуациях у нас регламентирована и отработана. Всё серьезно. Нам помогают боты, например, они информируют команду об инцидентах и оркеструют ситуацию.

Наши уроки во время пандемии

Мы пришли к выводу, что минимум раз в квартал, а лучше раз в месяц нужно проводить учения по тестированию отказоустойчивости для разных сегментов нашей платформы — как сети, так и вычислительных мощностей. Это нужно для того, чтобы держать в тонусе команду и проверять, не устарели ли системы защиты от высокой нагрузки. По мотивам сценария пандемии мы написали огромный план и уже реализовали его на 70%. Теперь мы периодически имитируем разрыв соединения с дата-центром, критически повышенную нагрузку и DDoS-атаки.

Что сегодня влияет на развитие стриминговых платформ

Во время пандемии на нас довольно сильно повлияли рекомендации регуляторов снизить bitrate для мобильных сетей для их разгрузки. Мы были вынуждены на неделю отключить качество отдаваемого контента Full HD, 4K. Это знаковое событие для отрасли — когда государственный регулятор напрямую воздействует на работу сервиса. Не берусь судить, хорошо это или плохо, но с инженерной точки зрения добавляет проблем.

Вообще, наш сервис стабильно очень сильно зависит от погоды и температурных режимов. Если, например, в центральной России отличная погода, светит солнышко и всё хорошо, то люди редко смотрят фильмы и сериалы: они больше времени проводят на улице. А любые катаклизмы, даже дождь и гроза, возвращают высокие нагрузки. К таким нагрузкам приводит и продолжительная низкая температура: пару недель –20…–30 в центральной России. Летом же люди едут на дачу, где не всегда есть интернет, — происходит сезонное снижение нагрузки. Но если сравнивать показатели нагрузки прошлого года с нынешними, они не сильно упали, потому что общее число абонентов выросло из-за рекламных кампаний и популярности сервиса.

Перегрузка CDN — это данность, а не главная проблема сервисов

Рано или поздно наступает момент, когда нагрузка оказывается в 10 раз больше, чем ты ожидал. Всё в этом мире конечно и непредсказуемо. С одной стороны, ты должен наращивать вычислительные мощности и улучшать работу по отдаче контента, с другой стороны, клиент и его провайдер должны быть готовы принять твой контент. Существует проблема так называемого «последнего метра» — взаимодействия с роутером пользователя: часто в многоквартирных домах люди неправильно настраивают роутеры в части вайфай-соединения, они мешают друг другу, а электромагнитное излучение формирует большие потери. Мы можем настроить отличный канал передачи, разместить контент максимально близко к кеширующим серверам, но роутер клиента «висит» на одном канале с роутерами соседних 20 квартир. А кто-то еще и микроволновку включил в этот момент… И всё, потеря пакетов! Поэтому прежде всего при проблемах с воспроизведением медиаконтента мы просим пользователей подключить интернет через провод и проверить, как всё работает. Более чем в 50% случаев после таких процедур проблема решается.

Как в IVI работает CDN

На территории России у IVI 25 городов присутствия. В Москве три дата-центра, объединенных кольцом с пропускной способностью 250 Гбит. Выход из строя любого из дата-центров никак не влияет на нашу производительность. А дальше мы реализуем индивидуальные маршруты для каждого пользователя в зависимости от ситуации в его сети. Подробнее об этом на лекции, которая размещена в материалах выше.

Что ждет стриминг-платформы в будущем

Кто-то говорит про дополненную реальность и интерактивные сериалы, но мне кажется, что то, каким будет контент, — не так важно. Нас ждет новый виток протоколов стриминга — то, что сейчас развивает Google (QUIC). В настоящий момент стриминговый сервис реализован на протоколах http и https. А скоро с наибольшей долей вероятности они будут использовать какой-нибудь более легковесный протокол, например QUIC, — он находится ниже в семиуровневой модели OSI, чем http, поэтому позволяет эффективнее работать на ненадежных каналах связи. Конечно, будем наблюдать развитие рекомендательных систем, рост популярности 4К и 8К контента и широкое распространение аудиотехнологий Dolby Vision и Dolby Atmos (сейчас эти технологии применяются редко и только для дорогих телевизоров).

Что ждет в будущем компанию IVI и меня

Я не ставлю себе цели стать повелителем мира через пять-десять лет, мои цели — знания и умения. Довольно многое я уже реализовал, но не останавливаюсь. Например, у нас была цель научиться собирать и разбирать команды за два-три дня и переворачивать направление развития компании, гибко отвечая вызовам рынка. Сейчас мы фокусируемся на вопросах безопасности. Поскольку мы становимся всё крупнее, меня очень волнует, как должна быть построена компания с точки зрения безопасности. Какие задачи и интересы будут дальше — никто не знает.

Новые задачи меня вдохновляют, причем как процесс, так и результат. Если тебе нравится то, что ты делаешь, ты получаешь удовольствие от того, как ты это делаешь. А когда закончил, остается только радоваться: «Вау! Я это смог!»

Еще я преподаю в МГТУ им. Н. Э. Баумана и курирую магистерскую программу в МАИ. Студенты иногда подкидывают мне сложные задачки: приходится изучать всё новое, чтобы отвечать на очень умные вопросы. Но мне нравится делиться с ними опытом. В этом есть и мой личный интерес, ведь проще выучить специалиста самому, чем на собеседовании сидеть с рукой у лица и думать: «Кто вас всех этому научил?!»

Где узнать больше про стриминг-платформы

    ПОДПИШИСЬ НА НАШУ ТЕХНО-РАССЫЛКУ
    ПОДПИШИСЬ
    НА НАШУ ТЕХНО-РАССЫЛКУ