viernes, 16 de febrero de 2018

Así de sencillo funciona Netflix - Parte III

¿Por qué es necesaria una red de distribución de contenidos?

La idea detrás de una red de distribución de contenidos es simple: el vídeo tiene que estar lo más cerca posible del usuario y para ello se utilizan computadoras por todo el mundo. Cuando un usuario quiere ver un vídeo, la red busca el equipo más cercano que tenga el vídeo y el streaming se produce desde ese servidor.
La principales ventajas de usar una red de distribución de contenidos son la velocidad y la eficacia. Imagínate que estás viendo un vídeo en Londres y que el vídeo procede de un servidor en Portland, Estados Unidos. El streaming del vídeo tiene que pasar por muchas redes, incluyendo un cable submarino, por lo que la conexión será lenta y poco fiable.
Si el contenido del vídeo está lo más cerca posible del usuario final, la experiencia de visualización será lo más rápida y eficaz posible.
Cada localización en la que un equipo almacena un vídeo se llama punto de presencia (PoP, Point of Presence). Estos puntos son localizaciones físicas que proporcionan acceso a Internet y que albergan servidores, routers y otros equipos de telecomunicación. Hablaremos en más profundidad sobre los PoPs más adelante.

La primera red de distribución de contenidos era demasiado pequeña

En 2007, cuando Netflix lanzó su servicio de reproducción en streaming, tenía 36 millones de usuarios en 50 países que veían más de mil millones de horas de vídeo cada mes, utilizando varios terabits de contenido cada segundo. Para poder cargar con todo el servicio de streaming, creó su propia red de distribución de contenidos simple en cinco localizaciones diferentes dentro de los Estados Unidos.
El catálogo de vídeos de Netflix era lo suficientemente pequeño por aquel entonces como para que cada localización pudiera almacenar todo el contenido.

Las segundas redes de distribución de contenidos eran demasiado grandes

En 2009, decidió usar redes de distribución de contenidos de terceros. Por aquel entonces, los precios de los servicios de redes de distribución de terceros estaban a la baja.
Era algo que tenía todo el sentido del mundo: ¿Por qué gastar tanto tiempo y esfuerzo en crear una red de distribución de contenidos si puedes llegar a todo el mundo usando otros servicios de redes de distribución de contenidos?
Netflix llegó a acuerdos con compañías como Akamai, Limelight y Level 3 para proporcionar servicios de red de distribución de contenidos. No hay nada malo en usar redes de distribución de contenidos de terceros, de hecho, es algo que hacen casi todas las compañías. Por ejemplo, la liga de fútbol americano ha utilizado Akamai para retransmitir partidos en directo.
Al no crear su propia red de distribución de contenidos, Netflix tenía más tiempo para dedicarse a otros proyectos más prioritarios.
Netflix puso mucho tiempo y trabajo en desarrollar clientes más inteligentes, creando algoritmos que se adaptaran a las circunstancias variables de las redes. Incluso cuando había errores o saturación en las redes, quería que los usuarios siempre obtuvieran la mejor resolución de imagen posible. Una técnica desarrollada fue el cambio a una fuente de vídeo diferente (otra red de distribución o un servidor diferente) para obtener un mejor resultado.
Al mismo tiempo, también dedicó muchos esfuerzos en todos los servicios de AWS de lo que habíamos hablado anteriormente y a los que llama su plano de control. El plano de control es un término de telecomunicaciones para identificar la parte del sistema que controla todo el resto. En tu cuerpo, el cerebro es el plano de control porque controla todo lo demás.
Pero después pensó que sería mejor si desarrollaba su propia red de distribución de contenidos.

Open Connect era la opción correcta

En 2011, se dio cuenta de que, debido a su tamaño, necesitaba una solución personalizada para tener una red de distribución de contenidos más eficaz. La distribución de vídeo es una de las competencias básicas de Netflix y por aquel entonces podía suponer una enorme ventaja respecto a sus competidores.
Así que comenzó a desarrollar Open Connect, la red de distribución de contenidos diseñada específicamente para Netflix. Open Connect se lanzó en 2012.
Open Connect supone muchas ventajas para Netflix:
·         Más barata. Las redes de distribución de contenidos de terceros son caras y de esta forma se ahorran mucho dinero.
·         Mejor calidad. Al controlar todo el proceso (trans-codificación, red de distribución, clientes en dispositivos) se dio cuenta de que podría ofrecer una experiencia de visualización de vídeo superior.
·         Más escalable. Netflix tiene el objetivo de proporcionar sus servicios en todo el mundo. La posibilidad de reaccionar rápidamente a todos los problemas mientras proporciona una experiencia de visualización de vídeo de calidad requiere establecer su propio sistema.
Las redes de distribución de contenidos de terceros tienen que admitir que los usuarios accedan a cualquier tipo de contenido desde cualquier lugar del mundo. Para Netflix es algo mucho más sencillo.
Netflix sabe exactamente quiénes son sus usuarios porque necesitan una suscripción y por eso sabe exactamente qué vídeos tiene que tener disponibles. El simple hecho de saber que solo tiene que usarlo para grandes transmisiones de vídeo le permite tomar muchas decisiones de optimización inteligente que otras redes de distribución de contenidos no pueden tomar. También sabe muchas cosas sobre sus usuarios (qué vídeos les gustan y cuándo les gusta verlos).
Sabiendo todo esto, creó una red de distribución con una eficacia muy alta. Veamos más en detalle cómo funciona Open Connect.

Open Connect Appliances

¿Recuerdas cuando decíamos que una red de distribución de contenidos tiene servidores distribuidos por todo el mundo? Netflix desarrolló su propio sistema de ordenadores para el almacenamiento de vídeo al que llama Open Connect Appliances o OCAs.
Aquí un ejemplo de cómo era un OCA al principio:
En la foto se ven varios OCAs porque están agrupados en varios servidores.
Cada OCA es un servidor rápido que ha sido optimizado para suministrar archivos grandes y contiene muchos discos duros o unidades flash para almacenar vídeo.



Existen diferentes tipos de OCAs según su propósito. Hay OCAs grandes que pueden almacenar todo el catálogo de Netflix y los hay más pequeños que solamente guardan una parte del catálogo de vídeo. Los OCAs más pequeños están llenos de vídeos todos los días, durante las horas de menos actividad, utilizando un proceso al que Netflix llama caché proactiva, Más adelante hablaremos de cómo funciona esta caché.

Desde el punto de vista del hardware, no hay nada de especial sobre los OCAs. Se basan en la comodidad de los componentes de un PC y vienen montados en carcasas a medida de diferentes fabricantes. Si quisieras podrías comprarte uno de estos ordenadores.

¿Has visto que todos los ordenadores de Netflix son rojos? Netflix encargó especialmente que fueran rojos para fueran a juego con su logotipo.

Desde el punto de vista del software, los OCAs usan el sistema operativo FreeBSD y NGINX para el servidor web. Así es, cada OCA tiene un servidor web y el vídeo se transmite en streaming usando NGINX. Si no te suena ninguno de estos nombres, no te preocupes. Los pongo a modo de referencia.
El número de OCAs en una localización depende de la eficacia que Netflix quiera para ese sitio en cuestión, la cantidad de tráfico de Netflix (ancho de banda) que vaya a ser transmitido desde esa localización y el porcentaje de tráfico que el sitio permita transmitir.
Cuando le das al play, estás viendo el vídeo a través de streaming desde un COA específico, como el de la foto, en un lugar cercano a tu localización.


Para logar la mejor experiencia de vídeo posible, Netflix tendría que tener una caché de vídeo en tu casa, algo que todavía no es posible. Pero lo que sí que pueden hacer es poner un mini-Netflix tan cerca de tu casa como sea posible. ¿Cómo lo hacen?

P.D. Les debemos las imagenes, Google retiro el "ver imagen" de su buscador.


CuliChilango :