Netflix explica dónde y cómo utiliza Python: desde aprendizaje automático hasta automatización, pasando por seguridad

02/05/2019
Artículo original

Netflix explica dónde y cómo utiliza Python: desde aprendizaje automático hasta automatización, pasando por seguridad

En lo que a lenguajes de programación se refiere, Python es una de las estrellas del momento. Dependiendo del índice que consultemos, es el más usado o está cerca, pero en cualquier caso, su relevancia en el desarrollo ya no puede infravalorarse. Es un lenguaje fenomenal para Devops, desarrollo web, aprendizaje automático o Data Science, y las proyecciones apuntan a que si sus competidores se van a permanecer estables en cuánto a búsquedas relacionadas, las de Python van a crecer exponencialmente.

Netflix ha sido la última gran compañía en abrirse para explicar cómo gestiona a nivel de desarrollo todos los procesos, y según cuentan, a lo largo de todos los apartados del servicio, desde los implicados en garantizar la seguridad hasta los algoritmos de recomendación, pasando por su red de distribución de contenido Open Connect. El artículo ha sido publicado en el blog de tecnología de Netflix en Medium, de cara a la Pycon, la conferencia de Python que tiene lugar desde ayer hasta el 9 de mayo en Cleveland.

Ser intuitivo para resolver problemas de red, la clave del uso de Python en Netflix

Python Que se usen estas carátulas y no otras depende de herramientas escritas en Python.

Según el artículo, coordinado por Amjith Ramanujam, una forma sencilla aunque imprecisa de pensar cómo funciona Netflix es pensar que todo lo que ocurre antes de que pulsemos Play ocurre en los servidores de Amazon en Amazon Web Services, mientras que todo lo que pasa después, como la propia reproducción del vídeo, pasa en la red Open Connect Network, estando el contenido situado lo más cerca posible del usuario, para reducir los costes de operación de Netflix y de los ISP y mejorar la experiencia final.

El funcionamiento de Netflix suele ser ejemplar independientemente del momento en que se utilice

Para diseñar, construir y operar esta compleja infraestructura, Python juega un gran papel, pues mucho del software está escrito con el lenguaje. Que sea tan intuitivo lo hace ideal en el área de las redes, porque permite solucionar los problemas rápidamente. Otro departamento de la compañía cuyas herramientas están escritas en Python es el de Ingeniería de demanda, que se encarga de asignar y distribuir recursos en función del tráfico y las conmutación por error regional. El servicio que lidia con ello está escrito en Python, y utiliza numpy, scipy, boto3 o rq para ejecutar análisis numéricos, para hacer cambios en ARS o para ejecutar cargas de trabajo asíncronas.

Algunas de estas librerías matemáticas, junto a otras como ruptures o pandas se utilizan para alertas y en trabajo de análisis estadístico de manos del equipo CORE, que también utiliza Python para automatizar tareas, para explorar datos y limpieza, junto a otros usos de visualización. Otro gran uso de Python es en entrenamiento para aprendizaje automático, en algoritmos de recomendación, algoritmos para la elección del arte que muestra o algoritmos de marketing.

Además de ahí, también emplea aprendizaje automático en cientos de casos a lo largo de toda la compañía, con muchas de las aplicaciones potenciadas por Metaflow, un framework de Python que facilita la labor de ejecutar proyectos de aprendizaje automático desde la etapa de prototipado hasta la de producción, y que "lleva Python a sus límites".