Эффект Netflix: как компания устроила революцию в индустрии развлечений
Новый сервис должен был понравиться тем, кто не успевал вовремя дойти до видеопроката и сдать видеокассеты или жил вдали от крупных городов. Посмотреть каталог и заказать фильм можно было на сайте, а получать и возвращать диски — по почте. И конечно, компания не планировала брать штрафы за просрочку. В отличие от крупнейшей на тот момент сети видеопроката Blockbuster их магазин был задуман полностью виртуальным.
Необходимые для проигрывания дисков DVD-плееры тогда были очень дорогими, и мало кто мог их себе позволить. Но Хастингс и Рэндольф решили, что у нового формата отличные перспективы — со временем легкие и компактные DVD-диски смогут полностью заменить большие видеокассеты VHS с низким разрешением. Кроме того, диски намного дешевле отправлять по почте, чем объемные кассеты.
Маленькие красные конверты
DVD-диски только появились на американском рынке, и Netflix первым запустил сайт для их проката и продажи, имея в штате всего 30 сотрудников. В онлайн-каталоге было 925 фильмов, что было почти полным списком всех выпущенных DVD на тот момент. В первый же день запуска в апреле 1998 года интернет-магазин не выдержал нагрузки из-за наплыва посетителей, но компании все равно удалось продать 150 дисков.
Идея оказалась успешной, и вскоре компанией заинтересовались крупные рекламодатели. Сначала Toshiba America предложила бесплатный прокат трех дисков от Netflix для покупателей своих новых DVD-плееров Toshiba. Вскоре аналогичные акции запустили Pioneer, Hewlett Packard, Apple и Sony. Продажи DVD-плееров начали расти, как и число подписчиков сервиса Netflix.
Отказались от миллионов Безоса
Основатели Netflix отклонили предложение. Продавать диски на сайте они также перестали, так как конкурировать с гигантским магазином Amazon было слишком дорого. Все усилия компания направила на развитие проката и создание рекомендательной системы фильмов, основанной на истории поиска, рейтингах и отзывах пользователей. Параллельно с этим сервис пополнял фильмотеку, закупая права у киностудий. А для того чтобы ускорить доставку заказов, Netflix начал строить собственные распределительные центры по всей Америке.
Netflix ушел в интернет и начал снимать фильмы
К 2005 году Netflix каждый день отправлял по почте своим подписчикам 1 млн DVD-дисков. К этому моменту подписчиков было уже 6,5 млн. Развитие интернета и потокового видео позволило компании в 2007-м запустить новый потоковый сервис, который давал возможность пользователям смотреть телешоу и фильмы на компьютерах в любое удобное время. Несколько независимых кинопродюсеров разместили свой контент на сайте Netflix. Модель подписки была похожей — фиксированная плата в месяц за неограниченный просмотр фильмов и телешоу.
К моменту запуска сервиса можно было посмотреть около 1 тыс. фильмов и телешоу. Это был всего 1% по сравнению с более чем 100 тыс. различных DVD-дисков в онлайн-каталоге компании. Но по мере того как популярность услуги росла, количество доступных для потоковой передачи фильмов также увеличивалось.
Как Netflix работает сейчас
Пользователи сервиса могут смотреть сериалы, документальные и художественные фильмы в самых разных жанрах и на разных языках в 190 странах мира. Компания закупает не только чужой контент, но и производит собственный (телепередачи, фильмы и сериалы) и является одним из мировых лидеров среди стриминговых сервисов по количеству пользователей и доходам.
К началу апреля 2020 года число платных подписчиков увеличилось до 183 млн человек. Только за первые три месяца года их стало больше на 16 млн, так как из-за глобальной пандемии все больше людей оставались дома и смотрели Netflix.
Все материалы нашего проекта доступны в Яндекс.Дзене. Подпишитесь, чтобы быть в курсе
Краткое обозначение акций компании, валюты или товара на бирже. Чаще всего состоит из букв, использованных в названии компании. Реже — из цифр (на азиатских биржах). В тикерах облигаций указаны базовые характеристики ценной бумаги — обычно цифрами. Тикеры валют состоят из трех букв. Первые две обозначают страну, а третья — первая буква в названии валюты (например, RUR — это российский рубль, а USD — доллар США).
Как работает Netflix
Успех «Нетфликса» обеспечили высокие технологии, но за ними стоит целая философия, которая сделала эту философию эффективной. Систему, которая заставляет миллионы людей одержимо кликать по красно-белым кнопкам, легко отказываясь от многолетней традиции просмотра фильмов в кино, а сериалов по ТВ.
Привет! С вами Ефим Гугнин! И сегодня мы постараемся разобраться, как работает Netflix. А для этого нам придётся немного отмотать время назад.
1997 год. Интернет только-только набирает популярность и пока связывает жалкие 10 миллионов компьютеров.
Все сериалы и фильмы люди смотрят в кино, по кабельному либо эфирному ТВ, ну или заказывают видео в прокате. В это непростое время 37-летний Рид Хастингс, бывший военный и работник Корпуса мира, а ныне компьютерный инженер и предприниматель, решается на авантюру.
Вместе со своим другом Марком Рэндальфом: он открывает бизнес по аренде DVD-дисков и называет компанию Netflix.
Почему авантюру? Во-первых, рынком видеопроката почти единолично правит «Блокбастер», который явно не спешит оставлять лидирующие позиции; во-вторых, на момент запуска Netflix формат DVD существует всего несколько месяцев, его коммерческий успех неочевиден, и большинство семей до сих пор пользуется VHS-кассетами. Ну и, наконец, вместо того, чтобы дать клиентам по старинке арендовать фильмы в видеопрокате, Хастингс решает работать исключительно через интернет и доставлять диски на дом.
И хотя сейчас это кажется обыденным и по всем параметрам комфортным решением, многие бизнесмены в 1997-м его откровенно не понимали: мол, а зачем клиенту лазить по какой-то сети и заказывать диски домой, если он может просто встать с дивана до ближайшей точки «Блокбастера», которые в тот момент были буквально везде.
Но в отличие от них, Хастингс понимал очень простую, но важную для наступающего цифрового века истину: люди не любят вставать с дивана.
А знаете, что люди любят ещё меньше, чем вставать с дивана? Заполнять бумаги, подписывать договоры, рассчитывать расходы на курьеров и почту, нервно отмечать дни в календаре, чтобы не дай бог не просрочить аренду диска и получить сверх обычной платы несоразмерно большой штраф.
Все эти мелкие, вроде как обязательные неприятности, на которые другие компании попросту не обращали внимания, принимая их как должное, «Нетфликс» хотел минимизировать до простейшего набора действий: кликнул – получил – посмотрел – отправил обратно.
Всю бумажную волокиту «Нетфликс» взял на себя, а в 1999 году ещё и сменил одноразовую аренду на ежемесячные безлимитные подписки. Теперь клиент при всём желании не мог просрочить аренду диска. Разве что украсть его, чем, как ни странно, в девяностые-нулевые преступники активно промышляли.
Идею безлимитной подписки многие встретили, мягко говоря, скептично. Аналитики предвещали, что система окажется убыточной, и не только из-за вероломных «дисковых крадунов». Ведь клиенты при желании могут арендовать столько фильмов, что те попросту превысят стоимость подписки.
Сделать это было не так уж сложно, тем более что доставка у «Нетфликс» работала достаточно быстро. Вместо того, чтобы, как другие компании, отправлять всё из центрального офиса, Хастингс дальновидно расположил отделения по всей Америке, а позже и в Канаде, чтобы человек из любого штата мог получить диски в кратчайшие сроки.
И в этот раз опасения скептиков, кажется, почти оправдались: некоторые клиенты действительно превышали этот неписанный лимит. Против таких отчаянных домашних «синефилов», впрочем, скоро придумали систему защиты, не особо честную, но абсолютно законную – известна она как Throttling.
Суть её в следующем: если на складе «Нетфликса» оставалась одна копия, скажем, «Людей в чёрном», а заказали картину сразу два клиента, то посылку отправляли тому, кто арендует реже. А второму приходилось ждать, пока придёт посылка из другого отделения «Нетфликса».
Но даже эта система не спасла компанию от убытков: к 2000 году «Нетфликс» начал понемногу терять прибыль. В какой-то момент компанию попытались даже купить владельцы «Блокбастера». К соглашению так и не пришли. В «Блокбастер» не согласились с выставленной Хастингсом ценой в 50 миллионов долларов и совершили, конечно, роковую ошибку.
Впрочем, одной быстрой доставки и безлимитной подписки было мало, чтобы занять прочную позицию на переполненном рынке видеопроката, да и с началом 2000-х у «Нетфликса» появились конкуренты, которые осваивали интернет и дистанционное общение с клиентами. Даже консервативная «Блокбастер» в один момент запустила собственную службу доставки.
Так что же выделяло «Нетфликс» на их фоне? В первую очередь, контент. Конкуренты «Нетфликса» не сильно-то задумывались над библиотекой фильмов.
У тех же «Блокбастер» целых 70% каталога состояло из новых релизов.
У «Нетфликс» – всего лишь 30.
Остальное – кино любых годов и жанров, от немой классики до странного «грайндхауса». Компания стремилась охватить любые вкусы, включая самые специфические, и постоянно расширяла библиотеку. Если на момент старта в их каталоге было всего 952 картины, а больше тогда на DVD и не существовало, то к 2005-му число возросло до 35 000.
Но главное, что отличало «Нетфликс» – это алгоритмы. Сложная цепь микросервисов и маленьких независимых программ для подстройки сайта под каждого конкретного пользователя. Они подбирают те фильмы и сериалы, которые с большей степенью вероятности понравятся клиенту, чтобы тот возвращался снова и снова.
По сути это цифровая замена тех самых бедных скучающих работников проката, которые пытались расшифровать путаные желания клиентов.
Первый такой алгоритм, Cinematch, удачно подбирал в 75 % случаев. Удачно в том смысле, что рекомендуемый фильм получал ± пол балла от оценки фильма, на основе которого выпала рекомендация.
Cinematch принимал во внимание сразу несколько факторов: первое – сами фильмы, отсортированные по жанрам, годам выпуска, режиссёрам и актёрам; второе – рейтинги отдельного клиента, список его арендованных фильмов и тех, которые он поставил в очередь; и наконец, третье – общий рейтинг всех пользователей «Нетфликс».
Эта система помогла Cinematch избегать банальностей типа, если вы поставили «Криминальное чтиво» и поставили ему высокий балл, то вам порекомендуют «Бешеных псов». Cinematch выстраивал куда более далёкие параллели на основе оценок других пользователей и часто выдавал совсем не очевидные результаты.
Работает это так: допустим, вы заказали и высоко оценили «Криминальное чтиво»; Cinematch находит других людей, которые тоже поставили высокую оценку «Криминальному чтиву»; дальше Cinematch выясняет, каким ещё фильмам эти люди ставили высокую оценку и, например, внезапно обнаруживает, что сразу несколько людей ставили высокую оценку «Бэйбу четвероногому малышу».
Оно сопоставляет количество этих людей и высчитывает вероятность, с которой вам лично может понравиться «Бэйб». Закончив, продолжает цепочку, связывая воедино всё больше, казалось бы, не очень-то похожих друг на друга фильмов. Cinematch с одинаковым успехом мог посоветовать классику, блокбастеры и независимое кино, не ограничиваясь в рекомендации только популярными фильмами.
Конечно, он основан на сухой математике. Но, в отличие от других подобных систем, которые зациклились на популярных именах и жанровой принадлежности, он скорее имитирует что-то вроде сарафанного радио, цепи совершенно живых рекомендаций от людей с похожими вкусами.
И, согласно статье «Нью-Йорк Таймс», эта система привела к тому, что люди по всей Америке стали уделять гораздо больше внимания независимым релизам, в том числе и тем, что не собрали больших денег в кинотеатрах.
Например, считается, что именно «Нетфликс» спас фильм «Разговор» Фрэнсиса Форда Копполы от забвения. Его невозможно было найти в магазинах видеопроката и по ТВ его не крутили.
Но Рид Хастингсу 75% было мало.
Он вообще не из тех, кто соглашается на «достаточно хорошо», и в 2006 году «Нетфликс» запустила конкурс на создание новой системы рекомендаций с призовым фондом в 1 миллион долларов.
В 2009-м приз выиграла команда BellKor`s Pragmatic Chaos – их алгоритм работал лучше Cinematch на целых 10%.
Сейчас алгоритм «Нетфликс» работает не только с оценками пользователей, людей с похожими вкусами, но и его демографическими данными – полом, расой, местом жительства. Причём подстраивает под клиента «Нетфликс» всё, вплоть до афиш своих фильмов и сериалов.
Так, недавно, портал «Скайньюс» поднял скандал: они заметили, что «Нетфликс» показывает темнокожим пользователям специальные адаптированные постеры, в которых темнокожих героев выводят на первый план, даже если в самом фильме они играют очень второстепенные роли.
Соответственно, чем больше вы пользуетесь «Нетфликсом», тем больше данных о вас собирает сайт и тем персонализированнее выглядит его главная страница. Жутковато? Пожалуй. Но, видимо, работает.
В 2007-м «Нетфликс» анонсировал бета-тест The Watch Now – нового сервиса, предлагающего клиентам просмотр фильмов в формате онлайн-стриминга вместо аренды DVD-дисков. Это прямой предок того «Нетфликса», каким мы его знаем сейчас. В отличие от многих конкурентов, которых популярность интернета поставила в тупик и привела к банкротству, как случилось с теми же «Блокбастер», «Нетфликс» был готов к переменам.
Ради того, чтобы упростить процесс просмотра и создать систему рекомендаций, «Нетфликс» с самого начала использовал возможности цифровой эры. Вставать с дивана теперь не нужно даже для того, чтобы принять доставку.
Пункты выдачи по всей Америке эволюционировали в сети серверов, которые быстро передают фильмы из огромного каталога в любую точку земного шара, и всё это в высочайшем разрешении.
Продвинутые алгоритмы ежесекундно составляют миллионы рекомендаций, чтобы клиенты ну никак не смогли остановиться и смотреть, и смотреть, и смотреть, и смотреть, и смотреть…
С 2013-го «Нетфликс», которые уже имели опыт создания оригинальных фильмов, начали производить для своего сервиса оригинальный контент. Первым сериалом, гордо нёсшим на себе плашку Netflix Original, стал «Карточный домик», адаптация одноимённого сериала BBC 1999 года.
Выбор, кстати, тоже частично основанный на сухой математике: всё дело в том, что оригинальный британский мини-сериал был очень востребован пользователями «Нетфликса». В 2015-м «Нетфликс» начал сотрудничество с «Марвел», которое, правда, уже закончилось. В 2016-м после ребрендинга компания, наконец, вышла за пределы континента и начала работу в 150 странах по всему миру.
В 2017-м «Нетфликс» выкупил издательство Millarworld Марка Миллара, автора комиксов «Пипец» и «Кингсмен». В 2018-м заключил сделку с «Парамаунт» на создание совместных фильмов и в этом же году получил первую номинацию на лучший фильм на «Оскаре» за «Рому» Альфонсо Куарона. В 2019-м, совсем недавно, «Нетфликс» подписал договор с Dark Horse на создание сериалов по мотивам из комиксов.
Очевидно, компания не собирается сбавлять обороты: с 2013 года они выпустили 249 фильмов и более 400 сериалов, не считая тех, права на которые они купили уже после производства. В их планах – в десятки раз больше, в том числе новые фильмы Мартина Скорсезе, Рона Ховарда, Чарли Кауфмана, Зака Снайдера, Ноа Бомбака и, внезапно, Майкла Бэя.
Конечно, у «Нетфликс» всё ещё множество нерешённых проблем: странная региональная политика, при которой клиенты в странах типа России платят столько же, сколько и в США, но получают в десятки раз меньшую библиотеку фильмов и сериалов; большое количество откровенно проходного контента, особенно среди полнометражных фильмов; наконец, не сильно адекватное отношение к кинотеатральному прокату – всё-таки обидно, что ту же «Рому» и «Ирландцы» Скорсезе не посмотреть на большом экране за пределами США.
Но отрицать, что «Нетфликс», как и его стриминговые конкуренты, вроде Amazon Prime и Hulu, навсегда изменили кино- и сериальную индустрию, бессмысленно. Контента стало в десятки раз больше, конкуренция увеличилась, маленькие авторские фильмы, наконец, получили дорогу в обход кинотеатров, которые давно захватили большие блокбастеры. Сериалам теперь необязательно ждать, когда их эфирное и кабельное начальство выдаст им адекватное место в сетке кинопоказа.
Да и их влияние не ограничивается творческой частью кинопроцесса. «Нетфликс», опять же, по причинам сугубо маркетинговым, несколько лет двигает техническую часть киноиндустрии вперёд. Так, в 2018 году компания запретила авторам, снимающим для неё оригинальный контент, использовать камеры «Арри Алекса» (на секундочку, самые популярные в Голливуде).
А всё потому, что максимально она поддерживает разрешение в 3,2К, а «Нетфликсу» по стандарту необходимо все 4К. После долгих препирательств и скандалов ARRI выпустили новую камеру с сенсором в 4,5К.
«Нетфликс» даже обязывает своих авторов использовать технологии HDR и Dolby Atmos, а недавно компания запустила программу по развитию технологий съёмки Netflix Post Technology Alliance. Теперь все инструменты, от камер до софта, которые соответствуют стандартам компании, могут использовать их логотип.
Остаётся лишь наблюдать, куда прогресс заведёт искусство на этот раз. Может, всё авторское кино скоро совсем уйдёт из уютных зало кинотеатров на стриминговые сервисы. Может, стриминги положат конец затянувшейся эре блокбастеров в кино.
А может, случится что-то другое… Но случится точно. В 2019 году количество зрителей «Нетфликса» впервые с нулевых начало падать, и компания явно не собирается просто сидеть и наблюдать.
В конце концов, сидеть и наблюдать – это наша, зрителей работа.
Как Netflix использует Питон
Поскольку многие из нас готовятся к конференции PyCon, мы хотели немного рассказать, как Python используется в Netflix. Мы применяем Python на всём жизненном цикле: от принятия решения, какие сериалы финансировать, и заканчивая работой CDN для отгрузки видео 148 миллионам пользователей. Мы вносим свой вклад во многие пакеты Python с открытым исходным кодом, некоторые из которых упомянуты ниже. Если что-то вас интересует, посмотрите наш сайт вакансий или ищите нас на PyCon.
Open Connect
Open Connect — это сеть доставки контента Netflix (CDN). Простой, хотя и неточный, способ представить инфраструктуру Netflix, такой: всё, что происходит перед нажатием кнопки Play на пульте дистанционного управления (например, вход в систему, определение тарифного плана, система рекомендаций, выбор фильмов) работает в Amazon Web Services (AWS), а всё, что происходит потом (т. е. потоковое видео), работает через Open Connect. Контент размещается на сети серверов Open Connect CDN как можно ближе к конечному пользователю, чтобы улучшить качество просмотра для клиентов и снизить затраты Netflix и наших партнёров, интернет-провайдеров.
Для проектирования, разработки и эксплуатации CDN необходимы различные программные системы, и многие из них написаны на Python. Сетевые устройства в основе CDN, в основном, управляются питоновскими приложениями. Такие приложения отслеживают состояние сетевого оборудования: какие используются устройства, какие модели, с какими аппаратными компонентами, где они расположены. Конфигурация этих устройств контролируется несколькими другими системами, включая «источник истины», приложения для конфигурирования устройств и резервного копирования. Взаимодействие устройств для сбора данных о работоспособности и других операционных данных — это ещё одно питоновское приложение. Python уже давно является популярным языком программирования в сети, потому что это интуитивный язык, который позволяет быстро решать сетевые проблемы. Разработано много полезных библиотек, которые делают язык ещё более подходящим для изучения и использования.
Demand Engineering
Demand Engineering отвечает за отработку региональных сбоев, распределение трафика, операции с пропускной способностью и эффективность серверов в облаке Netflix. Мы с гордостью можем сказать, что наши инструменты построены в основном на Python. Служба по отработке отказов использует numpy и scipy для численного анализа, boto3 для внесения изменений в инфраструктуру AWS, rq для запуска асинхронных рабочих нагрузок, и всё это обёрнуто в тонкий слой Flask API. Возможность уйти при отказе в оболочку bpython и импровизировать не раз спасала положение.
Мы активно используем Jupyter Notebooks и nteract для анализа операционных данных и прототипирования инструментов визуализации, чтобы обнаруживать регрессии ёмкости.
Команда CORE применяет Python для анализа статистики и выдачи предупреждений. Мы опираемся на многие статистические и математические библиотеки (numpy, scipy, ruptures, pandas), чтобы автоматизировать анализ 1000 связанных сигналов, когда системы оповещения указывают на проблемы. Мы разработали систему корреляции временных рядов, используемую как внутри команды, так и за её пределами, а также распределённую рабочую систему для распараллеливания большого объёма аналитической работы для получения быстрых результатов.
Мы также обычно используем Python для задач автоматизации, исследования и фильтрации данных и как удобный инструмент для визуализации.
Мониторинг, оповещение и автоматическое восстановление
Команда Insight Engineering отвечает за разработку и эксплуатацию инструментов оперативного распознавания проблем, оповещения, диагностики и автоматического исправления. С ростом популярности Python команда теперь поддерживает клиенты Python для большинства своих сервисов. Одним из примеров является клиентская библиотека Spectator для кода, который записывает метрики размерных временных серий. Мы создаём библиотеки Python для взаимодействия с другими службами на платформе Netflix. В дополнение к библиотекам, продукты Winston и Bolt построены с использованием питоновских фреймворков (Gunicorn + Flask + Flask-RESTPlus).
Информационная безопасность
Команда информационной безопасности использует Python для ряда важных задач, в том числе автоматизации безопасности, классификации рисков, идентификации и автоматического исправления уязвимостей. Мы публиковали исходники ряда успешных продуктов, включая Security Monkey (наш самый активный проект с открытым исходным кодом). Python применяется для защиты наших SSH-ресурсов с помощью Bless. Команда безопасности инфраструктуры использует Python для настройки разрешений IAM с помощью Repokid. Питоновские скрипты помогают генерировать TLS-сертификаты в Lemur.
Некоторые из наших последних проектов включают Prism: пакетный фреймворк, помогающий инженерам безопасности анализировать состояние инфраструктуры, выявлять факторы риска и уязвимости в исходном коде. В настоящее время мы предоставляем библиотеки Python и Ruby для Prism. Инструмент для форензики (компьютерной экспертизы) Diffy полностью написан на Python. Мы также используем Python для обнаружения конфиденциальных данных с помощью Lanius.
Алгоритмы персонализации
Мы широко применяем Python в инфраструктуре машинного обучения для персонализации. Здесь обучаются некоторые модели, которые обеспечивают ключевые аспекты функциональности Netflix: от алгоритмов рекомендаций до выбора обложек и маркетинговых алгоритмов. Например, некоторые алгоритмы используют TensorFlow, Keras и PyTorch для обучения глубоких нейросетей, XGBoost и LightGBM для обучения деревьев решений с градиентным бустингом или более широкий питоновский научный стек (например, библиотеки numpy, scipy, sklearn, библиотек matplotlib, pandas, cvxpy). Поскольку мы постоянно пробуем новые подходы, то для многих экспериментов используем блокноты Jupyter. Мы также разработали ряд библиотек более высокого уровня для интеграции блокнотов с остальной частью нашей экосистемы (например, доступа к данным, регистрации фактов и извлечения признаков, оценки моделей и публикации).
Инфраструктура машинного обучения
Кроме персонализации, Netflix применяет машинное обучение в сотнях других задач по всей компании. Многие из этих приложений работают на Metaflow, платформе Python, которая позволяет легко выполнять ML-проекты и вести их со стадии прототипа до продакшна.
Metaflow раздвигает границы Python: мы используем хорошо распараллеленный и оптимизированный код Python для извлечения данных на скорости 10 Гбит/с, обработки сотен миллионов точек данных в памяти и организации вычислений на десятках тысяч ядер CPU.
Блокноты
Мы в Netflix заядлые пользователи блокнотов Jupyter, и мы уже писали о причинах и характере этих вложений.
Но Python играет огромную роль в том, как предоставляются эти услуги. Это основной язык для разработки, отладки, исследования и прототипирования различных взаимодействий с экосистемой Jupyter. Мы используем Python для создания пользовательских расширений для сервера Jupyter, что позволяет управлять такими задачами, как ведение журнала, архивирование, публикация и клонирование блокнотов от имени пользователей. Мы предоставляем нашим пользователям множество вариантов на Python через различные ядра Jupyter и управляем развёртыванием этих спецификаций ядра тоже с помощью Python.
Оркестровка
Команда оркестровки больших данных отвечает за предоставление всех услуг и инструментов для планирования и выполнения конвейеров ETL и Adhoc.
Многие компоненты оркестровки написаны на Python. Начиная с планировщика, который использует блокноты Jupyter и papermill для шаблонных типов заданий (Spark, Presto. ). Это даёт пользователям стандартизированный и простой способ выразить работу, которая должна быть выполнена. Здесь вы можете более подробно почитать об этом. Мы использовали блокноты как настоящие списки операций в продакшне («ранбуки») в ситуациях, когда требуется вмешательство человека, например, перезапустить всё, что упало за последний час.
Для внутреннего применения мы построили платформу, управляемую событиями, которая полностью написана на Python. В неё поступают потоки событий из ряда систем, которые объединяются в единый инструмент. Это позволяет определить условия фильтрации событий, реагирования на них или маршрутизации. В результате мы смогли выделить микросервисы и обеспечить прозрачность во всём, что происходит на платформе данных.
Наша команда также разработала клиент pygenie, который взаимодействует с федеративной службой выполнения заданий Genie. Внутри у нас есть дополнительные расширения этой библиотеки, применяющие бизнес-соглашения и интегрированные с платформой Netflix. Эти библиотеки — основной способ программного взаимодействия пользователей с платформой больших данных.
Наконец, наша команда внесла свой вклад в проекты с открытым исходным кодом papermill и scrapbook: мы добавили код как для наших собственных, так и для внешних случаев использования. Наши усилия хорошо приняты в сообществе open source, чему мы очень рады.
Экспериментальная платформа
Команда научных вычислений создаёт платформу для экспериментов: AB-тестов и других. Учёные и инженеры могут экспериментировать с инновациями по трём направлениям: данные, статистика и визуализация.
Наш репозиторий метрик — это платформа Python на основе PyPika, позволяющая писать многоразовые параметризованные SQL-запросы. Это точка входа для любого нового анализа.
Библиотека причинных моделей Causal Models основана на Python и R: здесь учёные получают возможность исследовать новые модели причинных следствий. Она использует PyArrow и RPy2, так что статистика легко рассчитывается на любом языке.
Библиотека визуализаций основана на Plotly. Поскольку Plotly является общепринятой спецификацией для визуализаций, есть множество инструментов для вывода, который направляется в наши платформы.
Партнёрская экосистема
Группа, которая занимается партнёрской экосистемой, применяет Python для тестирования приложений Netflix на устройствах. Python формирует ядро новой инфраструктуры непрерывной интеграции, включая управление нашими серверами оркестровки, управление Spinnaker, запросы тестовых наборов и фильтрацию, а также планирование тестовых запусков на устройствах и контейнерах. Дополнительный анализ после запуска выполняется в Python с помощью TensorFlow, чтобы определить, какие тесты, скорее всего, вызовут проблемы на каких устройствах.
Видеокодирование и разработка медийного облака
Наша команда заботится о кодировании (и перекодировании) каталога Netflix, а также использует машинное обучение для анализа этого каталога.
Мы используем Python примерно в 50 проектах, таких как vmaf и mezzfs, создаём решения для компьютерного зрения, используя платформу map-reduce под названием Archer, и используем Python для многих внутренних проектов.
Мы также открыли несколько инструментов для облегчения разработки/распространения проектов Python, таких как setupmeta и pickley.
Анимация Netflix и NVFX
Python — отраслевой стандарт для всех основных приложений, которые мы используем для создания анимированного и VFX-контента, поэтому само собой разумеется, что мы интенсивно его используем. Все наши интеграции с Maya и Nuke сделаны на Python, и основная часть наших инструментов Shotgun тоже. Мы только начали налаживать инструменты в облаке и собираемся развернуть там многие кастомные Python AMI/контейнеры.



























































