Как мы перестали бояться и полюбили Agile: работа в онлайн-кинотеатре ivi глазами сотрудников

Дизайн-завод «Флакон», креативное пространство «Хлебозавод», выставочный Люмьер-Холл — в таком окружении с виду обыкновенное офисное здание совершенно теряется. Так и не скажешь, что внутри расположился кинотеатр, который ежемесячно посещают 40 миллионов зрителей. Заглянем туда, чтобы выслушать рассказы четырех реальных киногероев, людей, благодаря которым легальный кинематограф в Рунете становится доступнее и популярнее.

Длинный коридор, по стенам которого будто тянется кинопленка, ведет вглубь здания. Вокруг не переставая снуют люди. Здесь работают более 300 специалистов: от JavaScript-, Python- и Go-разработчиков, Dev-Ops-инженеров, тестеров и аналитиков до дизайнеров и киноэкспертов.
Неформальная атмосфера
Из-за двери слева вылетают яркие воздушные шарики, которые остались после какого-то праздника и периодически попадаются в офисе то тут, то там. Следом показывается Иван Бурцев — инженер-исследователь R&D из Хабаровска, который переехал в Москву по программе релокации чуть больше месяца назад.
Его история не так уж проста и прямолинейна. На вопрос о том, как он оказался в компании, Иван увлеченно рассказывает о своем профессиональном пути.
Иван Бурцев
инженер-исследователь R&D
— До работы в ivi я полгода прожил в Малайзии. А еще раньше занимался разработкой тренажерных классов для летчиков-испытателей: симуляторов, которые должны научить управлять самолетом.
— Казалось бы, что общего между авиасимуляторами и онлайн-кинотеатрами?
— Не так уж много, но еще раньше у меня был стартап, связанный со стримингом и распространением контента. Именно это, как мне кажется, и привлекло моего нынешнего работодателя. Мне сразу предложили четыре вакансии, одна из них была подходящей.
Я прошел собеседование по Skype, объяснил, что умею, ответил на несколько теоретических вопросов и выполнил тестовое задание.
— Что это было за задание?
— Я должен был организовать медиастрим из файла. Звучит несложно, но это была целая цепочка задач: перевести видео из одного формата в другой, перекодировать звук в пятиканальный, изучить метрики, выделить ключевые участки видео, наложить маску. Кое-что из этого я еще не умел, и пришлось учиться на ходу, но я все сделал, всех это устроило, и через неделю я приступил к работе.
— То есть вы сразу приехали в Москву?
— На самом деле я на это не рассчитывал, но сейчас в ivi действует программа релокации. Мне оплатили перелет и три недели проживания в гостинице неподалеку от офиса. А еще я мог взять с собой членов семьи. Как по мне, это отличная возможность для человека, который хочет работать ближе к центру индустрии в нашей стране и сохранить семью.
— Вы быстро освоились?
— Да. В IT-компаниях, где я работал, всегда чего-то не хватало. Будь то хорошее начальство, организация рабочего процесса, дружеская атмосфера или перспективы роста. Спустя месяц работы я дико удивлен, что в ivi все очень легко.
Я могу без проблем поговорить со своим начальником, получить совет, выяснить какие-нибудь технические детали не в Google, а у коллеги, сидящего за соседним столом. Тут минимум бюрократии. Взять, скажем, получение телевизора: в ином месте мне пришлось бы написать заявку и ждать несколько недель. Тут на все ушло несколько минут.
— Погодите, телевизор?
— Смотреть кино — часть моей работы. Давайте я расскажу об одной из моих первых задач в ivi. Мы распространяем 4К HDR-контент на самые разные платформы, и нужно быть уверенным, что он будет воспроизводиться везде. Скажем, на телевизоре Sony.
Мне необходимо было выбрать из модельного ряда компании подходящий телевизор. Развернуть в виртуальной машине или на отдельном сервере тестовую среду на Android Studio, написать на основе ExoPlayer решение, которое бы работало с телевизором, и смоделировать пользователя, взаимодействующего с интерфейсом и получающего контент. Когда все это заработало, было круто.
В море задач
За встречей c Александром Дружковым с плаката пристально наблюдает Дарт Вейдер. Впрочем, лорд ситхов не мешает удобно расположиться на красных креслах-мешках с логотипом компании.
Александр сменил в ivi много должностей и сейчас работает заместителем технического директора. Профессиональную карьеру он начал после обучения в МГТУ им. Н. Э. Баумана, где познакомился с будущим директором по технологиям ivi Евгением Россинским, преподававшим на одной из кафедр. Тот пригласил Александра на работу в компанию, разрабатывавшую интернет-портал, с которого начиналось развитие ivi. В декабре 2012 года эта компания вошла в состав онлайн-кинотеатра и стала ядром его технического отдела.
Александр Дружков
заместитель технического директора
— Вы давно работаете в ivi и наверняка можете рассказать о том, что сейчас скрывается за фасадом, за вашим сайтом.
— Сервис ни в коей мере не ограничивается сайтом. Когда-то так было, но не сейчас. Сегодня мы представлены на всех популярных платформах на рынке.
В первую очередь речь идет о Smart TV. Это самая интересная платформа с точки зрения просмотра кино и сериалов. Кроме того, у нас есть приложения для планшетов и телефонов на базе iOS и Android. А также сайт ivi, который, несмотря на развитие других платформ, все еще пользуется популярностью. К тому же несколько лет назад наш сайт обзавелся мобильной версией. Более того, стоит отметить, что в прошлом году мы запустили ivi для Xbox. Не стоит забывать и приложения для Windows 10.
— Насколько сложно вести одновременную разработку по всем этим направлениям?
— Я слукавлю, если скажу, что легко. У каждой платформы свои нюансы, кроме того, существуют гайдлайны от разных вендоров. Например, некоторые Smart TV оказываются не очень-то производительными устройствами. Вести под них разработку значит постоянно бороться за оптимизацию ПО, ведь перед нами стоит не только задача доставки контента до пользователя, но и его защита. Наш ivi — легальный онлайн-кинотеатр, а это значит, что мы обязаны использовать DRM. При том что реализация даже стандартного шифрования на слабом железе представляет определенные трудности.
Плюс некоторые детали разработки и запуска приложений можно выяснить только в прямой коммуникации с производителем. На все это, конечно, уходит время, но благодаря сильному техническому менеджменту и гибким методологиям разработки мы не отстаем от рынка.
— Гибкая методология? Ваша команда использует какие-то нестандартные приемы?
— Это как раз основная часть моих профессиональных обязанностей. Примерно год назад мы осознали, что движемся с недостаточной скоростью. Самой большой проблемой стала асинхронность разработки на различных платформах. Мы стараемся делать так, чтобы сервис был похож на всех платформах, где это возможно, не только визуально, с точки зрения UI, но и с точки зрения UX.
Существовавшая раньше модель разработки, тестирования и выпуска обновлений не позволяла делать синхронные релизы. Одна и та же «фича» выходила на различных платформах в разное время. Это доставляло неудобство пользователям, которые при замене устройств не находили привычных функций.
— Что же вы сделали, чтобы синхронизировать релизы?
— Мы провели так называемую Agile-трансформацию, организовали внешний аудит, переделали наши внутренние процессы, поделились на value-стримы — небольшие команды, не более девяти человек, которые работают над конкретными бизнес-задачами. Несколько лет назад подобное сделал Spotify, о чем рассказывал в презентациях.
Раньше мы вели разработку по платформам, отдельными командами из программистов, тестировщиков, менеджеров, которые при необходимости взаимодействовали друг с другом. Теперь мы посадили рядом фронтенд- и бэкенд-разработчиков всех платформ и по мере необходимости подключаем к ним других специалистов. Это не совсем кросс-функциональная команда, но такая синергия, возможность прямой коммуникации между разными специалистами дала хорошие результаты и позволила приблизиться к двухнедельному релизному циклу.
Мы научились выпускать кроссплатформенные «фичи» практически синхронно, с минимальной задержкой. И, что самое главное, теперь на всех платформах они идентичны. Если говорить о так называемом time-to-market - времени вывода на рынок - то мы сократили его в три раза.
— Это и называют гибкой методологией разработки?
— Не совсем. Я хочу отдельно подчеркнуть, что внедрение гибкой методологии разработки означало не просто то, что мы раздали каждому Agile-манифест и сказали: «Делайте как там написано!» Мы поменяли культуру взаимодействия внутри команды. Если раньше разработчик не всегда понимал, зачем он пишет тот или иной код, то сейчас он может спросить у коллеги, следящего за метриками, и тот объяснит, что таким образом мы хотим поднять конкретный показатель, что он повлияет, например, на лояльность пользователей. Когда это произошло, мотивация разработчиков выросла очень сильно. Они поняли, что напрямую влияют на показатели сервиса и делают его более успешным.
Комната с видом на телебашню
Типовая офис-комната, за окнами — обычная московская пробка на Дмитровском шоссе. Именно отсюда идет управление сетевым трафиком, который, по утверждению Максима Раевского, входит в топ-4 России.
Максим — ведущий менеджер технического отдела, проработал в ivi уже шесть лет. В его ведении находятся узлы CDN, разбросанные по 29 городам России, не считая Москвы.
Максим Раевский
ведущий менеджер технического отдела
— Моя основная область деятельности — дата-центры и сети. Скорее сети, чем ЦОДы. Если бы мне 10 лет назад кто-то сказал, что я стану сетевиком, ни за что бы не поверил этому человеку. Тем не менее вот я здесь, в ivi, занимаюсь сетями с момента своего прихода. Не могу сказать, что наша инфраструктура — на пике современной сетевой моды. Скорее, мы консерваторы. Но зачастую используем очень креативные решения и технологии. О них я уже чуть-чуть писал на Хабре. В конце концов, мы частная компания, тут лишних денег нет. Приходится использовать оборудование «на все деньги».
— Сколько трафика сейчас генерит ivi?
— Мы не раскрываем цифры, но вот недавно на конференции Transport Networks нас включили в четверку самых мощных «генераторов». Думаю, что эта оценка достаточно точна.
— Часто в командировки приходится ездить?
— Приходится. Но не сказать, что часто. В прошлом году вот вообще ни разу не ездил. Большую часть работ вполне реально делать либо удаленно, либо руками сотрудников ЦОД, в которых мы стоим. Командировка — это когда мы запускаем что-то новое, от чего может прилететь сюрприз. Ну и в случае какой-либо тяжелой аварии тоже пришлось бы ехать, но пока такого не было.
— С вашими коллегами мы поговорили о разработке. А какие решения поддерживают функционирование сервиса?
— У нас много точек присутствия. В Москве их три: три независимых дата-центра, соединенные кольцом. Между этими ЦОДами на оптоволоконных линиях подняты каналы связи. Обслуживаемая в Москве нагрузка распределяется между нашими тремя точками присутствия. А в случае отказа одного ЦОДа (мало ли — электричество выключится или еще что) обслуживание продолжится на оставшихся.
В регионах узлы значительно проще: несколько серверов и сетевая «железка», которая обеспечивает связь между этими серверами и пользователями. Задача региональных узлов — держать контент как можно ближе к клиенту, чтобы добиться лучшего пользовательского опыта.
— Наверняка все на «цисках»?
— У нас нет каких-либо предпочтений по производителям сетевого оборудования: у нас есть Cisco и Extreme, Huawei и D-Link, Mikrotik и Ubiquity. Когда мы выбираем, мы смотрим на соответствие нашим требованиям и стоимость эксплуатации (с прицелом на несколько лет). По сути, образовалась целая методика. Если какой-либо производитель чем-то нас особенно замучил, в будущем это грозит ему штрафными баллами. Крайне неприятно потерять кусок сети во время простейших работ по настройке, которые ну никак не должны были повлиять на сеть. Сетевики — вообще такие ребята, которые легким движением руки могут уронить весь сервис. Естественный отбор в нашей среде особенно суров. Поэтому у нас любая более-менее значимая работа включает планирование, а также подготовку «А что мы будем делать, если что-то пойдет не так». Все технические решения мы сейчас проектируем с учетом того, чтобы иметь возможность отключить произвольный элемент сети без потери сервиса. А в идеале и без деградации.
— Вы планируете экспансию за рубеж?
— Не то чтобы планируем, мы уже расширились. У нас есть права на вещание по всему миру, кроме пары стран. Пока зарубежных пользователей мы обслуживаем с ресурсов внешнего поставщика CDN — на данном этапе это наиболее эффективно экономически. Но совсем не факт, что так будет всегда.
— А что вы собираетесь делать с новой версией IP?
— Это, пожалуй, одна из самых интересных задач. IPv6 вводит в заблуждение тем, что очень сильно походит на IPv4, но на самом деле это совершенно иной протокол.
Этап изучения технологии почти пройден, и на многих наших узлах IPv6 уже настроен и работает, но знают об этом лишь несколько человек. Полезной нагрузки по этому протоколу нет. В этом году мы хотим сделать следующий шаг и реализовать использование IPv6 для технических целей: связи площадок, межсерверного общения. Затем можно будет задуматься об IPv6 для конечных пользователей. Хотя этот последний и самый важный шаг — скорее уже не сетевая задача, а задача для наших разработчиков.
Непрерывное обучение
От штаб-квартиры онлайн-кинотеатра ожидаешь множества постеров с киногероями, телеэкранов и тематических сувениров, но никак не стоящей посреди офиса ударной установки с гитарой. Однако именно в таком окружении мы застаем директора по технологии Евгения Россинского. «Это вотчина дизайнеров», — объясняет он, но кто из них настолько любит музыку, что привез на работу музыкальные инструменты, не поясняет.
В разговоре типичный день в компании он сравнивает с жонглированием горящими шариками. Чем больше становится компания, тем меньше времени он уделяет инженерной практике и больше общается с сотрудниками и управляет бизнесом. «Нет роста без кризисов», — слышим мы, и это касается не только его работы, но и компании в целом.
Евгений Россинский
директор по технологии
— Да, каждый год мы растем и ежегодно сталкиваемся с очередным кризисом роста. Об этом можно не говорить, но необходимо иметь в виду и непрерывно адаптироваться.
— Что же такое ivi с технической точки зрения?
— Это единый API, с помощью которого работают клиентские приложения. На базе наших программно-аппаратных разработок могут быть построены и уже сейчас работают десятки, если не сотни различных вариаций ivi. Своя в России, своя в Казахстане, своя во Франции. Вариативность очень большая и связана она не только с географией, но и с разрешениями на показ контента, возможностями клиентского оборудования.
— Ivi конкурирует с традиционными кинотеатрами или только с другими онлайн-сервисами?
— Это очень формальный подход. Линейное телевидение, кинематограф, театры, социальные сети и так далее — все мы конкурируем за внимание, все стараемся развлечь аудиторию.
— Что для вас является индикатором успешности ivi? Удовлетворенность аудитории?
— В том числе. У нас огромное количество различных показателей. Есть бизнес-показатели, такие как количество уникальных пользователей, подписчиков. Если говорить о чисто технических метриках, то это, например, ширина канала или количество запросов в секунду.
Для меня важно все. Изменения показателей необходимо свести воедино и помочь аналитикам найти корреляции между каким-нибудь незначительным, на первый взгляд, релизом и увеличением конверсии.
Мы раньше очень удивлялись, откуда такие колебания трафика, но теперь у нас достаточно данных, чтобы объяснить все изменения.
Некоторые изменения — чистая удача, но и их необходимо отследить и объяснить. Для нас прекрасная пора, когда на телевизионных каналах начинается профилактика. Сильно влияет на статистику сервиса погода. Холод, снег, дождь — все, что заставляет людей сидеть дома, — увеличивает показатели ivi.
Неожиданные результаты порой приносит growth hacking. Например, изменение карточки контента увеличивает конверсию на 20%. В такие моменты думаешь: почему мы раньше до этого не додумались?
— Раз речь зашла о статистике, расскажите, что вы делаете с собранными данными?
— Big data... Начнем с того, что мы их храним, а дальше используем для различных корыстных и некорыстных нужд.
С одной стороны, мы делимся этими данными для проведения хакатонов, с другой — без данных мы как слепые котята. С их помощью мы составляем портреты и кластеризуем наших пользователей. Эту информацию использует наша рекомендательная система, это данные, по которым мы отчитываемся перед рекламодателями и правообладателями, прозрачно аудируем сервис, рассчитываем роялти. Большие данные — бесконечный источник гипотез по улучшению сервиса.
— Вы используете для анализа технологию машинного обучения?
— У нас есть два подразделения, которые занимаются этой технологией. Первое работает над улучшением рекомендательной системы, а второе ориентировано на решение бизнес-задач: прогнозирование маржинальности сделок, построение модели оттока аудитории. Отдельная проблема — прогнозирование популярности будущих релизов. Это нетривиальная задача: число факторов, которые необходимо учесть, постоянно меняется и их очень много. На прогноз влияет и окружение, в котором выходит фильм. Проблема каннибализации одним крупным релизом нескольких мелких стоит перед нами не столь остро, как перед офлайн-кинотеатрами, но и сбрасывать этот фактор со счетов нельзя.
— Эта работа уже начала приносить плоды?
— Улучшение конверсии рекомендательной системы — наглядное тому подтверждение. Кроме того, мы стали лучше понимать, почему отдельные фильмы более или менее популярны, но мне кажется, что мы еще в самом начале этого долгого пути. Пока мы собрали самые близкие яблочки и теперь строим лестницу, чтобы срывать новые с более высоких веток.
— Вы экспериментируете с другими новыми технологиями?
— У нас интересное направление разработки, связанное с «тяжелым» контентом, оно подразумевает постоянные исследования. Мы ежегодно изучаем все новое, что появляется, — как это вписывается в нашу концепцию пользовательского опыта и как это можно использовать в продукте. В результате наше подразделение R&D постоянно занимается всякими странными вещами, но одна из 20 идей обязательно выстреливает.
— Например?
— Ребята придумали, как конвертировать из одного контейнера в другой «на лету» прямо на файловом сервере, который по своей природе обладает низкой вычислительной мощностью. По сути, увеличили функциональность оборудования за счет оригинального программного обеспечения. Да, можно было купить проприетарное оборудование, но мы дали талантливым людям несколько месяцев интересной работы и уникального опыта и в результате вместо того, чтобы купить дорогой универсальный комбайн, получили именно то, что было нужно.
В атмосфере непрерывной деятельности, царящей в офисе ivi, легко затеряться надолго, но время, отведенное на интервью, подходит к концу.
Александр Дружков сравнил типичный рабочий день в компании с ярким динамичным боевиком, обязательно заканчивающимся красивым добрым финалом. А со стороны кажется, что работа в ivi больше похожа на сериал, который обязательно ждет продление на новый сезон.
Комментарии 13
  • 0
    Offtop: Почему в 2к18 видео только в стерео?
    • +1
      Мрачный коридор — можно в лоб дверью получить. И особо радует обилие цветов и прочих растений в офисе. Вид очень обжитой… Прямо домашняя обстановка.
      • +4
        Че все так впаривают этот Agile?
        • +3
          Чтобы галерщики кнуты и плети видели не как пытку, а как садомазо фетиш, окно Овертона, все дела
        • 0
          Постоянный сервис на котором смотрю сериалы упал. Вспоминаю! А! На плеере есть же ivi. Включаю ваше приложение, чтобы посмотреть сериал. Тормозит.
          Думаю, ну ладно, наверное не хватает ширины канала для FHD. Смотрю в настройки — стоит 720. 0_о? Ставлю «среднее», тормозит. Оооооок, лагает раз в секунду, но смотреть вроде можно. Каждые 5 минут, сцена падает, секунды две-три звук идеи, а кина нема, потом бац, вроде дальше пошло, лааадно. Досматриваю серию, пошла реклама, закончилась, дальше черный экран, минуту смотрю в черный экран, ничего. Ооок. Наживаю на просмотр, реклама, черный экран, ничего. Наживаю на просмотр, реклама, черный экран, ничего. Наживаю на просмотр, реклама, черный экран, ничего.
          Спасибо, посмотрел зато рекламу.
          Вчера было.
          Эджайл это конечно круто, только если выхлоп в качестве, а не бабле.
          P.S. на других сервисах так проигрывание видео не тормозит, и 1080 и 720. Если что, Rombica smart box v003. Тырнет — оптика до квартиры, честные 100мбит.
          • +1

            Была такая же хрень вчера. Проверил скорость до их серверов — 350 кб/с, хотя общий спидтест на том же телеке показывал 2,5 мб/с. Возможно дело в Ростелекоме (провайдер), может еще в чём-то, но сегодня отлегло.

            • 0
              Удивляюсь таким людям, как вы, которые мастерски что-то нелюбимое ими приплетут там, где оно вообще никакого отношения не имеет. Как связан agile и баги? Багов не бывает никогда? В водопаде багов вообще нет? Кто-то жаловался, кроме как комментарием на хабре? Напишите в саппорт, заведут баг, приоритизируют, посмотрят.
            • +1
              В 2018-м году гордиться что вы внедрили Agile? Seriously?
              • +1
                Чувство такое что ИТ в стагнации. Даже спорить скучно, с 2014 как будто ничего нового.
              • 0
                Юзаю IVI уже 4 -ый месяц. Полет нормальный. Цена и качество лучше, чем на Megogo, хотя на последнем есть онлайн ТВ трансляции. Смс для подтверждения не прилетает в Казахстан на Билайн. Не могу авторизоваться на смартфоне, так как подвязал акаунт к телефону, девиз смотри на любом устройстве не работает из-за смс. В твитере техподержка не отвечает. По IVi+ мало новинок, большинство контента платное. Но из меньших зол выбираю IVI. AGILE по барабану.
                • +1

                  А мне нравится сервис, пользуюсь уже много лет, почти исключительно на LG SmartTV. При довольно скромных аппаратных возможностях SmartTV, приложение очень отзывчивое. Тормозов видео вообще никогда не видел. Есть конечно мелкие замечания к юзабилити, но даже если 60+ летние родственники освоили, это о чем-то говорит. На пульте последнего телевизора даже кнопка IVI выделенная есть.


                  PS: Одна штука немного мешает жить: не понимаю, как попасть из просмотра серии в карточку сериала? Придумайте что-нибудь пожалуйста.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.