“Utilizamos Python en todo el ciclo de vida del contenido, desde la decisión del contenido que se financiará hasta el funcionamiento del CDN que sirve el video final a 148 millones de miembros. Usamos y contribuimos con muchos paquetes de código abierto de Python.” – Comenta el equipo de Pythonistas en Netflix, dentro de su blog.
Resolver problemas de red usando Python en Netflix.
Open Connect es la red de entrega de contenido de Netflix (CDN). Una manera fácil, aunque imprecisa, de pensar en la infraestructura de Netflix es que todo lo que sucede antes de presionar Play en tu control remoto (por ejemplo, ¿está conectado? ¿Qué plan tiene? ¿Qué has visto para poder recomendarte nuevos títulos? ¿Qué deseas ver?) se realiza en los servicios web de Amazon (AWS), mientras que todo lo que sucede después (es decir, la transmisión de video) se realiza en la red Open Connect. El contenido se coloca en la red de servidores de Open Connect CDN lo más cerca posible del usuario final, mejorando la experiencia de transmisión para sus clientes y reduciendo los costos tanto para Netflix como para nuestros proveedores de servicios de Internet (ISP).
Se necesitan varios sistemas de software para diseñar, construir y operar esta infraestructura CDN, y una cantidad significativa de ellos están escritos en Python. Los dispositivos de red que subyacen en una gran parte de la CDN son administrados en su mayoría por aplicaciones Python. Estas aplicaciones rastrean el inventario de sus equipos de red: qué dispositivos, qué modelos, con qué componentes de hardware, se ubican en qué sitios. La configuración de estos dispositivos está controlada por varios otros sistemas. La interacción de dispositivos para la recopilación de datos es otra aplicación de Python. Python ha sido durante mucho tiempo un lenguaje de programación popular en el espacio de redes porque es un lenguaje intuitivo que permite a los ingenieros resolver rápidamente los problemas de redes.
Otras soluciones de Netflix con Python.
No solamente utilizan el lenguaje de programación de Python para resolver sus problemas de red, si no también para dar otras soluciones:
Su área de Demand Engineering, responsable de las conmutaciones por error regionales, la distribución del tráfico, las operaciones de capacidad y la eficiencia de la flota de la nube de Netflix. Utiliza herramientas principalmente en Python. El servicio que organiza la conmutación por error utiliza numpy y scipy para realizar análisis numéricos, boto3 para realizar cambios en nuestra infraestructura de AWS, rq para ejecutar cargas de trabajo asíncronas y todo en conjunto con una capa delgada de API de Flask. La capacidad de caer en un shell bpython e improvisar les ha salvado el día más de una vez.
Su equipo de Insight Engineering, responsable de construir y operar las herramientas para la información operativa, alertas, diagnósticos y remediación automática. Con la creciente popularidad de Python, el equipo ahora admite clientes de Python para la mayoría de sus servicios. Un ejemplo es la biblioteca cliente de Spectator Python, una biblioteca para instrumentar código para registrar métricas dimensionales de series de tiempo. Construyeron bibliotecas de Python para interactuar con otros servicios de nivel de plataforma de Netflix. Además de las bibliotecas, los productos Winston y Bolt también se construyen utilizando marcos Python (Gunicorn + Flask + Flask-RESTPlus).
Su equipo de seguridad de la información utiliza Python para cumplir una serie de objetivos de alto apalancamiento para Netflix: automatización de la seguridad, clasificación de riesgos, remediación automática e identificación de vulnerabilidades, por nombrar algunos. Han tenido varias fuentes abiertas de Python exitosas, incluyendo Security Monkey (el proyecto de fuente abierta más activo de nuestro equipo). Aprovechamos Python para proteger nuestros recursos SSH usando Bless. Su equipo de seguridad de infraestructura aprovecha Python para ayudar con la sintonización de permisos IAM mediante Repokid. Usan Python para ayudar a generar certificados TLS usando Lemur.
Es muy interesante leer toda la tecnología que está detrás de una de las empresas de Streaming más grandes y populares que existen actualmente. ¿Imaginabas que trabajaban con Python?
Fuente: azulnet.web