Python и Netflix: что происходит при потоковой передаче фильма?



Узнайте, что такое Netflix и как этот потоковый гигант использует Python в различных сферах деятельности, таких как операции, машинное обучение, информационная безопасность и т. Д.

Универсальный пункт назначения для каждого любителя кино - это, конечно же, Netflix. Но что, если бы вы смотрели свой любимый фильм, и он время от времени буферизуется? Вам просто нужно закрыть приложение и выбрать другой вариант. Но как быстро управлять трафиком миллионов пользователей? Благодаря . В этой статье давайте посмотрим, как Netflix использует Python.

Давайте начнем с беглого взгляда на темы, которыми наполнена эта статья:





Итак, приступим. :)

Введение в Netflix

Логотип Netflix-Как Netflix использует Python-EdurekaNetflix - американская компания, предоставляющая услуги видео по запросу (VOD). Штаб-квартира Netflix находится в Лос-Гатосе, штат Калифорния, у Netflix около 148 миллионов подписчиков по всему миру, и их число, однако, растет с каждым днем. Примерно за два десятилетия Netflix стал «королем клана» крупнейших сериалов и фильмов во всем мире. Быть самым быстрорастущим брендом Америки и иметь доход в 20,5 млрд долларов в 2019 году, этого достаточно для того, чтобы привлекать к себе внимание и, таким образом, интересовать всех в своих технологических сферах.



Основываясь на той же области интересов, Netflix показал, как он использует наиболее популярный язык, Python , за свою инфраструктуру.

Итак, теперь давайте посмотрим, как на самом деле Netflix использует Python?



Как Netflix использует Python?

«Мы используем Python на протяжении всего жизненного цикла контента, от принятия решения о финансировании контента до эксплуатации CDN, которая обслуживает финальное видео, до 148 миллионов участников», - инженеры Netflix.

Диапазон from Административные домены к надежности и Data Science к и т. д. Netflix использует Python почти для всех сфер своего бизнеса.

Теперь давайте посмотрим, как используется в Netflix в различных областях:

Открыть Connect:

CDN (сеть доставки контента), которую использует Netflix, называется Open Connect. Открытое соединение в основном появляется, когда вы нажимаете кнопку «Играть». Этот CDN заботится обо всем контенте, доставляемом конечному пользователю.

Open connect требует различных других программных систем для разработки, создания и эксплуатации, которые, в свою очередь, написаны на Python. Не только это, сетевые устройства, лежащие в основе этой CDN, являются приложениями Python, поскольку Python играет важную роль в решении сетевых проблем.

каковы причины создания экземпляра файлового класса?

Команда разработчиков спроса:

Группа разработки спроса отвечает за обработку региональных отказов облака Netflix, администрирование трафика, управление операциями емкости (отслеживание предела, до которого контент может быть исправлен) и эффективность использования парка. Эта команда использует следующие элементы Python:

NumPy и SciPy:

и SciPy библиотеки, используемые для научных вычислений. Netflix использует эти библиотеки Python для выполнения численного анализа, что позволяет управлять региональными отказами.

Boto3:

Boto3 - это комплект разработчика программного обеспечения (SDK) для Python. Это помогает разработчикам Python интегрировать Python в AWS, тем самым обеспечивая разработку в инфраструктуре.

RQ (очередь Redis):

Это библиотека Python, которая помогает отслеживать задачи, присутствующие в очереди, и позволяет их выполнение, тем самым позволяя управлять асинхронными рабочими нагрузками.

Колба:

Наконец, Netflix использует API Flask (библиотека веб-разработки Python) для связывания всех предыдущих сегментов вместе.

Netflix использует веб-приложение с открытым исходным кодом, используемое для разработки Python вместе с взаимодействовать (расширение для Jupyter) в больших масштабах. Известно, что Jupyter популярен для анализа данных. Он очень хорошо подходит для анализа и визуализации операционных данных, что, в свою очередь, помогает обнаруживать снижение производительности.

Инфраструктура машинного обучения:

варьируется от создания алгоритмов персонализации до выяснения вариантов использования. Алгоритмы персонализации помогают обучать модели машинного обучения в соответствии со стандартами Netflix. Он предоставляет персональные рекомендации, ежедневные схемы, генерацию этикеток и т. Д.

Библиотеки, необходимые для изучения Глубокие нейронные сети находятся TensorFlow , Жесткий , и Pytorch в то время как XGBoost и LightGBM для деревьев решений с градиентным усилением.Они также разработали довольно много библиотек более высокого уровня, которые помогают в сочетании с такими рабочими областями, как регистрация фактов, извлечение функций, публикация и т. Д. Помимо всего этого, Netflix также использует MetaFlow для создания проектов машинного обучения.

«Metaflow раздвигает границы Python: мы используем хорошо распараллеленный и оптимизированный код Python для извлечения данных со скоростью 10 Гбит / с, обработки сотен миллионов точек данных в памяти и организации вычислений на десятках тысяч ядер ЦП» - Netflix

Большое количество данных:

В команда отвечает за выполнение конвейеров ETL (извлечение, преобразование, загрузка) и Adhoc. Большая часть этой оркестровки написана на Python. Эта команда использует планировщик, который работает на Jupyter Notebooks с бумажной фабрикой для создания типов заданий с шаблонами, например, , Скоро и т. Д.

В дополнение к этому, команда также создала платформу, управляемую событиями, которая полностью построена на Python. Они создали несколько событий и объединили их в одно, что позволяет Netflix фильтровать, реагировать и маршрутизировать события. Pygenie также является частью этой инфраструктуры, которая взаимодействует с Genie (специализированная служба выполнения заданий).

Научные эксперименты:

Это платформа, созданная группой научных экспериментов, чтобы позволить A / B тестирование наряду с некоторыми другими экспериментами. Здесь ученые и инженеры могут представить новые инновации в области данных, статистики и визуализации.

Питон что реализовано здесь Репо по метрикам который основан на PyPika и позволяет писать повторно используемые параметризованные запросы. Для сектора статистики PyArrow и RPy2 используются для расчета статистики в Python или R. Сюжетно помогает в визуализациях.

Кодирование видео / Разработка медиаоблака:

Эта команда отвечает за задачи кодирования и перекодирования для каталога Netflix. Python используется примерно для 50 проектов, таких как VMAF (Объединение видео с несколькими методами) и MezzFS (Мезонинная файловая система), Решения для компьютерного зрения (имеет дело с изображениями) с использованием Лучник , так далее.

Netflix Animation и NVFX:

Python является основой для всей анимации и визуальных эффектов (VFX) в Netflix. Все союзы Maya и Nuke созданы на Python.

во власти Java

ИС (Информационная безопасность):

Netflix использует IS-системы на основе Python для автоматического исправления, автоматизации безопасности, классификации рисков и т. Д. Наиболее активным проектом Python с открытым исходным кодом этой команды является Обезьяна безопасности . Netflix также использует БЛАГОСЛОВЕНИЕ (Лямбда-эфемерный SSH-сервис Bastion) защищать SSH (Secure Shell) ресурсы. RepoKid используется для предоставления УЖЕ разрешения и сертификаты TLS предоставляются через Lemur. Обе эти задачи в основном полагаются на Python.

Мониторинг и автоматическое исправление:

Эта команда известна как команда Insight Engineering. Они создают и используют инструментыдля оперативного анализа, диагностики, автоматического исправления и изменения. Для большинства своих услуг эта команда использует Python, например клиентскую библиотеку Spectator Python. Эта библиотека используется для записи размерных временных рядов. Наряду с этими библиотеками такие продукты, как Winston и Bolt, также построены на фреймворках Python, которые , Gunicorn и Flask-RestPlus.

Подводя итог, можно легко утверждать, что Python является движущей силой Netflix. На этом мы подошли к концу блога «Как Netflix использует Python?». Надеюсь, вам понятно все, что обсуждалось.

Чтобы получить более глубокие знания о Python и его различных приложениях, вы можете зарегистрироваться в режиме реального времени. с круглосуточной поддержкой и пожизненным доступом.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога «Как Python использует Netflix», и мы свяжемся с вами как можно скорее.