Управляемые аварии и сибирские морозы: как подготовить стриминговую платформу к пиковым нагрузкам
с помощью нейросети
Пандемия. Ни одно из событий начала ХХI века не оказало на мировой бизнес большего влияния, чем этот глобальный феномен. Но если для многих традиционных отраслей эпидемия коронавируса оказалась чёрным лебедем, то для молодой российской индустрии стриминговых сервисов, напротив, стала трамплином в будущее. Галопирующий рост в дни локдауна 2020 года показали все отечественные VoD-сервисы, но особенно стремительным он стал для IVI. Разработчики смогли быстро адаптировать платформу к условиям идеального шторма и абсорбировать нахлынувшую аудиторию, став на определенный период крупнейшим онлайн-кинотеатром в России с долей более 30% на рынке видеостриминга. Как менеджмент управления инцидентами и антиаварийные алгоритмы работы помогли IVI пробиться в лидеры, рассказывает технический директор онлайн-кинотеатра Евгений Россинский.
Начало года — всегда жаркое для нас время. Мы работали в режиме новогодних праздников до самого марта 2020, и карантин только повысил планку нервозности. Когда пришла первая волна пандемии, на ресурс возникла колоссальная нагрузка. В компании существует план выживания для таких случаев, но на этот раз было особенно тяжело. Одно дело, когда у тебя режим максимальной нагрузки случается раз в год, а другое — когда он длится несколько месяцев.
Проблем добавили и постоянно изменяющиеся условия. Прежде всего это касается провайдеров, оказавшихся не готовыми к большому скачку. Запертые дома, люди стали искать себе занятие, возросла популярность тяжёлого контента, такого как полнометражные фильмы, долгие сериалы. А нам — независимо от того, что происходит у провайдера, — нужно обслужить пользователя наилучшим образом. В итоге провайдеры бросились перестраивать свои сети, маршруты, добавлять мощности и усиливать «железо», меняя точки присоединения. Иными словами, известный нам Рунет в одночасье перестал существовать — и тут же начал строиться новый.
Мы пришли к выводу, что минимум раз в квартал, а лучше раз в месяц нужно проводить учения по тестированию отказоустойчивости для разных сегментов нашей платформы — как сети, так и вычислительных мощностей. Это нужно для того, чтобы держать в тонусе команду и проверять, не устарели ли системы защиты от высокой нагрузки. По мотивам сценария пандемии, например, мы написали огромный план и уже реализовали его на 70%.
Теперь мы периодически имитируем разрыв соединения с дата-центром, критически повышенную нагрузку и DDoS-атаки. Несколько минут простоя для нас могут стоить миллионы рублей, поэтому работа в аварийных ситуациях у нас регламентирована и отработана.
Всё серьёзно. Нам помогают боты, например, они информируют команду об инцидентах и оркеструют ситуацию. На территории России у IVI 25 городов присутствия. В Москве три дата-центра, объединенных кольцом с пропускной способностью 250 Гбит. Мы добились того, что выход из строя любого из дата-центров никак не влияет на нашу производительность. Мы реализуем индивидуальные маршруты для каждого пользователя в зависимости от ситуации в его сети.
Вообще наш сервис очень сильно зависит от погоды и температурных режимов. Если, например, светит солнышко и всё хорошо, то люди редко смотрят фильмы и сериалы: они больше времени проводят на улице. А любые катаклизмы, даже дождь и гроза, возвращают высокие нагрузки. К таким нагрузкам приводит и продолжительная низкая температура. Летом же люди едут на дачу, где не всегда есть интернет, — происходит сезонное снижение нагрузки.
Жизнь непредсказуема. Рано или поздно наступает момент, когда нагрузка оказывается в 10 раз больше, чем ты ожидал. Во время пандемии на нас довольно сильно повлияли рекомендации регуляторов снизить битрейт для мобильных сетей для их разгрузки. Мы были вынуждены на неделю отключить качество отдаваемого контента Full HD, 4K. Это знаковое событие для отрасли — когда государственный регулятор напрямую воздействует на работу сервиса. Не берусь судить, хорошо это или плохо, но с инженерной точки зрения добавляет проблем.
Мы можем настроить отличный канал передачи, разместить контент максимально близко к кеширующим серверам, но роутер клиента «висит» на одном канале с роутерами соседних 20 квартир. А кто-то еще и микроволновку включил в этот момент… И всё, потеря пакетов!
Это действительно проблема, которая особенно часто встречается в многоквартирных домах. Люди неправильно настраивают роутеры в части Wi-Fi-соединения, они мешают друг другу, а электромагнитное излучение формирует большие потери.
Поэтому прежде всего при проблемах с воспроизведением медиаконтента мы просим пользователей подключить интернет через провод и проверить, как всё работает. Более чем в 50% случаев после таких процедур проблема решается.
Новый год каждый день: как ivi подготовился к нагрузкам с помощью управляемых аварий
Нас ждет новый виток протоколов стриминга — то, что сейчас развивает Google (QUIC). В настоящий момент стриминговый сервис реализован на протоколах http и https. А скоро с наибольшей долей вероятности они будут использовать какой-нибудь более легковесный протокол, например QUIC, — он находится ниже в семиуровневой модели OSI, чем https, поэтому позволяет эффективнее работать на ненадёжных каналах связи. Конечно, будем наблюдать развитие рекомендательных систем, рост популярности 4К и 8К контента и широкое распространение аудиотехнологий Dolby Vision и Dolby Atmos (сейчас эти технологии применяются редко и только для дорогих телевизоров).
Я не ставлю себе цели стать повелителем мира через пять-десять лет, мои цели — знания и умения. Многое я уже реализовал, но не останавливаюсь. Например, у нас была цель научиться собирать и разбирать команды за два-три дня и переворачивать направление развития компании, гибко отвечая вызовам рынка. Сейчас мы фокусируемся на вопросах безопасности. Поскольку мы становимся всё крупнее, меня очень волнует, как должна быть построена компания с точки зрения безопасности. Какие задачи и интересы будут дальше — никто не знает. Но они меня вдохновляют, причем как процесс, так и результат. Если тебе нравится то, что ты делаешь, ты получаешь удовольствие от того, как ты это делаешь. А когда закончил, остается только радоваться: «Вау! Я это смог!».
Еще я преподаю в МГТУ им. Н. Э. Баумана и курирую магистерскую программу в МАИ. Студенты иногда подкидывают мне сложные задачки: приходится изучать всё новое, чтобы отвечать на очень умные вопросы. Но мне нравится делиться с ними опытом. В этом есть и мой личный интерес, ведь проще выучить специалиста самому, чем на собеседовании сидеть с рукой у лица и думать: «Кто вас всех этому научил?!».