Универсальный пункт назначения для каждого любителя кино - это, конечно же, Netflix. Но что, если бы вы смотрели свой любимый фильм, и он время от времени буферизуется? Вам просто нужно закрыть приложение и выбрать другой вариант. Но как быстро управлять трафиком миллионов пользователей? Благодаря . В этой статье давайте посмотрим, как Netflix использует Python.
Давайте начнем с беглого взгляда на темы, которыми наполнена эта статья:
Итак, приступим. :)
Введение в Netflix
Netflix - американская компания, предоставляющая услуги видео по запросу (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», и мы свяжемся с вами как можно скорее.