Netflix es la plataforma de contenidos multimedia más conocida en todo el mundo que pretende posicionarse como una alternativa a la preocupante piratería de series y películas ofreciendo por un precio muy competitivo una tarifa plana de acceso a todos sus contenidos sin límite. Desde hace 3 semanas, esta plataforma ya está disponible en España donde podemos acceder a su completa biblioteca de series y películas por menos de 10 euros al mes, sin embargo, ¿sabemos cómo funciona esta plataforma de cara a los servidores?
Netflix no es una plataforma nueva, sino que lleva en el mercado desde 1997. Desde no hace mucho tiempo los responsables de la misma empezaron a abrirse a más servicios con los que poder ofrecer sus contenidos a los diferentes países del mundo (cada país con un catálogo propio), llegando actualmente a dar servicio a más de 50 países en todo el mundo. Nuestra recomendación es que uses Plex para ver series de Netflix gratis.
La compañía, desde sus inicios, ha sido siempre muy transparente en cuanto a su funcionamiento. Aunque no se ha publicado una completa guía-resumen con todos los aspectos técnicos de su funcionamiento, sí que ha ido facilitando cada poco tiempo información, siempre que surgía la oportunidad, sobre cómo estaba construida la plataforma. El portal Scalescale ha decidido recopilar toda esta información para poder conocer, en un único vistazo, la mayor parte de los aspectos de su funcionamiento.
Lo primero que nos llama la atención es que prácticamente todo el software que utiliza la plataforma es software libre. Entre otras, las aplicaciones más utilizadas en el backend son Java, MySQL, Gluster, Apache Tomcat, Hive, Chukwa, Cassandra y Hadoop.
En cuanto a los codecs que utiliza para el vídeo, Netflix no utiliza un único formato, sino que tiene que codificar cada vídeo en función del dispositivo que lo vaya a reproducir. Por ello, los principales codecs que utiliza la plataforma son:
- Video – VC-1, H.264 (AVC), VC-1, H.263 y H.265 (HEVC)
- Audio – WMA, Dolby Digital, Dolby Digital Plus, AAC y Ogg Vorbis
Amazon, el corazón de Netflix
Todos los servidores de Netflix se encuentran en el centro de datos de Amazon. Allí la compañía tiene servidores EC2 que utiliza para todo lo relacionado con la computación, por ejemplo, para compilar datos, gestionar las bases de datos y, sobre todo, codificar los vídeos originales con diferentes codecs de audio y vídeo.
Aunque toda la computación se realiza desde los servidores dedicados de Amazon EC2, los archivos de vídeo originales (facilitados directamente por las productoras y estudios de cine) se almacenan de forma segura en los servidores de almacenamiento Amazon S3. Cada una de las películas originales de codifica más de 50 veces con el fin de poder enviar el formato que mejor se adapte al dispositivo y a la conexión a Internet del usuario. A día de hoy, el almacenamiento de Netflix supera 1 petabyte, y sigue en aumento día a día, título a título.
En cuanto al CDN, Netflix cuenta con el apoyo de los grandes ISPs con más de 100.000 suscriptores, a quienes facilitan un servidor caché que les garanticen un gran ancho de banda a sus clientes, necesario para poder ofrecer sus servicios sin problemas, a la vez que reduce el tráfico generado, evitando así saturar las líneas con el elevado tráfico que genera Netflix en todo el mundo. Dentro de este apartado, la plataforma utilizada es un sistema operativo FreeBSD, el servidor web libre Nginx y Bird como demonio de enrutado para salir a Internet.
Las redes neuronales, un punto clave de Netflix
Una de las mejores cualidades de Netflix es su sistema de recomendaciones. Este sistema se compone a la vez de muchos algoritmos, aunque los dos más importantes son Restricted Boltzman Machines (RBM) y una variante de Matrix Factorization, también conocido como SVD++. Estos dos algoritmos, bastante complejos de comprender debido a que funcionan como redes neuronales, funcionan en paralelo para poder ofrecer a los usuarios el mejor sistema de recomendaciones visto hasta ahora.
Netflix también cuenta con una página web en Github donde explica el uso y la colaboración en todo tipo de proyectos libres.
¿Qué opinas sobre el funcionamiento de Netflix? ¿Qué es lo que más y lo que menos te gusta de esta plataforma?