Dominio Libre
Entretenimiento How To Internet Programas y Software

Cómo funciona Netflix de la A a la Z

Muchos de nosotros debemos estar fascinados con Netflix, ya que por su practicidad y amplio catalogo de diversidad de géneros, nos permite poder disfrutas de películas y series en cualquier dispositivo.
Y aunque pareciera algo tan sencillo solo dar play y el vídeo se reproduce de forma mágica en cuestión de segundos, no lo es del todo así.

«La lógica simple sería pensar que Netflix distribuye sus vídeos utilizando AWS (el servicio de computación en la nube de Amazon). Le das al play en una aplicación de Netflix y el vídeo almacenado en Amazon S3 se transmite a través de Internet directamente a tu dispositivo. ( y claro que es razonable, pero para un servicio mucho más pequeño)».

Sin embargo, Netflix no funciona así y es mucho más complejo e interesante de lo que pudieras imaginar. Es por ello que para entenderlo de mejor manera, queremos presentarte la realidad detallada de Netflix y para iniciar me gustaría presentarte de manera breve la historia.

Netflix se lanzó en 1998. Al principio solamente era un servicio para alquilar DVDs a través del servicio postal de los Estados Unidos, pero Netflix sabía que el futuro estaba en la reproducción de vídeos en streaming a la carta.En 2007 Netflix presentó su servicio de reproducción de vídeos a la carta que permitía a los suscriptores ver series de televisión y películas a través del sitio web de Netflix en sus ordenadores o mediante el software de Netflix en varias plataformas compatibles( y es que para ese entonces internet ya era lo suficientemente rápido y económico para poder ofrecer servicios de retransmisión de vídeo), incluyendo smartphones y tabletas, reproductores de contenidos digitales, videoconsolas y smarts TVs, ahora si a esto le añadimos la aparición del ancho de banda para móviles rápido y de bajo coste, ayudó a que sea más fácil y barato para cualquier persona reproducir vídeo en cualquier momento y desde cualquier lugar; Y para que nos quede claro, le podemos echar un vistazo a algunas de las impresionantes estadísticas de Netflix en 2017:

  • Netflix tiene más de 110 millones de suscriptores.
  • Netflix está disponible en más de 200 países
  • Netflix obtiene casi 3.000 millones de dólares en beneficios por trimestre.
  • Netflix añade más de 5 millones de nuevos suscriptores por trimestre.
  • Netflix reproduce más de mil millones de horas de vídeo cada semana. A modo de comparación, YouTube transmite mil millones de horas de vídeo todos los días, mientras que Facebook transmite 110 millones de horas de vídeo a diario
  • Netflix reprodujo 250 millones de horas de vídeo en un solo día en 2017.
  • Netflix representa más del 37% del pico de tráfico de Internet en los Estados Unidos.
  • Netflix planea gastar 7.000 millones de dólares en nuevo contenido en 2018.

Netflix es enorme. Está en todo el mundo, tiene muchos suscriptores, reproduce muchos vídeos y tiene mucho dinero. Otro dato a tener en cuenta es que Netflix se basa en un modelo de suscripciones: los miembros pagan a Netflix una cuota mensual que pueden cancelar en cualquier momento. Cuando le das al play para disfrutar de contenido en Netflix, más vale que te guste. De lo contrario, te darás de baja si no estás contento.

Un buen motivo para profundizar sobre Netflix es que ofrece mucha más información que otras compañías. Para Netflix la comunicación es un valor cultural importante y, en ese sentido, Netflix está más que a la altura.
Otra razón para entrar en tantos detalles sobre Netflix es que es una empresa fascinante. La mayoría hemos usado sus servicios alguna vez y seguro que sentimos curiosidad por saber cómo funciona Netflix por dentro.

¿Cómo se asegura Netflix de que sus suscriptores están contentos? Gracias a la nube, por supuesto. En realidad, Netflix usa dos nubes diferentes: AWS y Open Connect. Ambas nubes tienen que trabajar juntas de forma impecable para poder ofrecer interminables horas de vídeos a sus clientes y que no tengan problemas con el streaming.

Ahora ya que sabemos como es Netflix, para los usuarios vamos a hablar sobre como funsiona por dentro, ya que se está dividido en tres partes: el cliente, el servidor backend y la red de distribución de contenidos (CDN «content delivery network» en inglés).

El cliente es la interfaz de usuario en cualquier dispositivo utilizado para navegar y reproducir vídeos de Netflix: puede ser una aplicación en el iPhone, una página web desde el ordenador de escritorio o incluso una aplicación en una Smart TV. Netflix controla todos y cada uno de los clientes para cada dispositivo.

Todo lo que sucede antes de que le des al botón de play ocurre en el servidor backend y se ejecuta en el AWS. Esto incluye cosas como preparar todo el nuevo vídeo entrante y gestionar las solicitudes de todas las aplicaciones, sitios web, televisores y otros dispositivos.

Todo lo que sucede después de presionar play es gestionado por Open Connect. Open Connect es la red de distribución de contenidos (CDN) a nivel global y personalizada de Netflix. Open Connect almacena vídeos de Netflix en diferentes lugares del mundo y cuando le das a reproducir vídeo la retransmisión se realiza desde Open Connect y llega a tu dispositivo, tal y como se muestra en el cliente. No te preocupes porque más adelante hablaremos sobre lo que es una red de distribución de contenidos.

Curiosamente, en realidad en Netflix no hay un botón de play, sino que dicen reproducir vídeo. Cada industria tiene su propia jerga.

Al controlar las tres áreas (cliente, servidor backend y red de entrega de contenidos), Netflix ha conseguido obtener una integración vertical completa.

Netflix controla tu experiencia de visualización de vídeo de principio a fin y por eso funciona cuando le das al play desde cualquier lugar del mundo, proporcionándole el contenido que deseas ver cuando quieres verlo de forma fiable.

Netflix y sus centros de datos

Si quieres saber cómo Netflix consigue hacer todo esto posible, vamos a iniciar contando cuando Netflix creó dos centros de datos, ubicados uno al lado del otro, y tuvieron grandes problemas.
Crear un centro de datos supone mucho trabajo y conseguir todos los equipos lleva mucho tiempo. Instalar y hacer funcionar todo el equipo también lleva mucho tiempo y una vez que todo funcione, no habrá capacidad suficiente y habrá que volver a comenzar todo el proceso de nuevo.

Los largos plazos de entrega de los equipos obligaron a Netflix a adoptar lo que se conoce como una estrategia de escala vertical. Netflix creó programas grandes para ordenadores grandes, lo que se conoce como monolito : un programa que lo hacía todo.
El problema está cuando creces tan rápido como Netflix; es muy difícil hacer que un monolito sea fiable… y no lo consiguieron.
Ya que durante tres días de agosto de 2008, Netflix no pudo enviar DVDs por culpa de una base de datos dañada. Fue algo inaceptable y Netflix se propuso hacer algo al respecto. La experiencia de crear centros de datos le había enseñado a Netflix una lección importante: no se les daba bien construir centros de datos.
A Netflix lo que mejor se le daba era proporcionar vídeos a sus suscriptores y por eso decidió concentrarse en mejorar el servicio de entregas en lugar de mejorar la creación de centros de datos porque no era una ventaja competitiva para Netflix, mientras que la entrega de vídeos sí que lo era.

En ese momento, Netflix decidió pasarse a AWS (Amazon Web Service): un servicio que acababa de establecerse, por lo que se trató de una medida audaz.

Netflix opto por AWS porque quería una infraestructura más fiable y eliminar cualquier tipo de fallo que pudiera ocurrir en su sistema, así como tener computación en la nube para poder prescindir de la creación de programas monolitos poco fiables, así como convertirse en un servicio global sin tener que construir sus propios centros de datos. Ninguna de estas capacidades estaba disponible en sus antiguos centros de datos y nunca lo llegaría a estar.

Una de las razones por las que Netflix eligió AWS fue que no quería tener que hacer nada que no tuviera que ver directamente con su principal negocio: proporcionar una experiencia de de calidad en la visualización de vídeos. De esta forma Netflix se ahorra esfuerzo y tiempo porque AWS hace todo eso para Netflix y le permite centrarse en proporcionar valor comercial.
Netflix tardó más de ocho años en completar el proceso de cambio desde sus propios centros de datos a AWS. Durante ese período, Netflix aumentó ocho veces su número de clientes de transmisión y ahora sus servicios se ejecutan en varios cientos de miles de instancias de EC2.

Ahora Netflix es tan eficaz porque han tomado medidas extraordinarias para hacer que su servicio sea estable. Netflix utiliza AWS en tres regiones: dos en Estados Unidos y una en Irlanda. Dentro de cada región, Netflix opera en tres zonas de disponibilidad diferentes.

Y ha dicho que no hay planes para operar en más regiones porque agregar más regiones es un proceso muy costoso y complicado. La mayoría de las empresas operan en una sola región y son muy pocas las que utilizan dos o incluso tres. La ventaja de tener tres regiones es que si una región falla, las otras regiones se ocupan de los usuarios de la región que ha caído y tu dispositivo pasará a transmitir información de la nueva región en vez de la región dañada, de ese modo ni siquiera te darías cuenta de que se ha caído una parte del sistema.
Cuando una región falla, Netflix lo llama evacuar una región.

Ahora si te has preguntado ¿Cada cuánto se cae una región de AWS? la respuesta es una vez al mes. Y como tal, NO es que una región falle todos los meses, sino que el mismo Netflix ejecuta pruebas mensuales cada mes a propósito solo para asegurarse de que su sistema está capacitado para estos imprevistos; ya que una región puede ser evacuada en seis minutos.

Para Netflix se trata de su modelo de servicios globales donde cualquier cliente puede ser atendido fuera de cualquier región. Esto es algo increíble y no sucede automáticamente. AWS no tiene una receta mágica para gestionar los fallos regionales o para atender a clientes de múltiples regiones. Netflix ha hecho todo este trabajo por su cuenta, siendo una empresa pionera en descubrir cómo crear sistemas fiables usando múltiples regiones.
Otra ventaja de estar en estas tres regiones es que ofrece una cobertura mundial. Netflix realizó varias pruebas y demostró que si usamos una aplicación de Netflix en cualquier parte del mundo, obtendremos un servicio rápido a partir de una de estas tres regiones.
Y claro no olvidemos que también Netflix se ahorra dinero con AWS, ya que le sale más barato usar AWS. El coste de la nube por cada visualización de contenidos solamente es una fracción del coste que suponían sus antiguos centros de datos. ¿Por qué? Por la flexibilidad de la nube.

Netflix puede agregar servidores cuando los necesite y devolverlos cuando no los use, en lugar de tener muchos ordenadores extra parados solo para poder reaccionar en caso de un pico de carga. Netflix solo tiene que pagar por lo que necesita y cuando sea necesario.

¿Qué ocurre en AWS antes de que le des al play?
Todo lo que no tenga que ver con la transmisión de vídeo se lleva a cabo en AWS, esto incluye computación escalable, almacenamiento escalable, lógica empresarial, bases de datos descentralizadas escalables, procesamiento y análisis de big data, recomendaciones, transcodificación y cientos de otras funciones.

No te preocupes, no tienes por qué entender qué significan todas esas cosas, pero como pueden ser interesantes, las explicaré brevemente:

Computación escalable y almacenamiento escalable

La computación escalable es EC2 y el almacenamiento escalable es S3. Nada nuevo para nosotros aquí. El dispositivo desde el que te conectas a Netflix (iPhone, TV, Xbox, teléfono Android, tableta, etc.) se comunica con un servicio de Netflix que se ejecuta en EC2.

¿Te sale una lista de vídeos recomendados? Tu dispositivo está contactando a un servidor en EC2 para obtener dicha lista. ¿Quieres más detalles sobre un vídeo? El dispositivo desde el que te conectas contacta con un servidor en EC2 para obtener los detalles.

Base de datos descentralizadas escalables

Netflix usa DynamoDB y Cassandra para sus bases de datos descentralizadas. No tienes por qué conocer los nombres de estos tipos de bases de datos, simplemente se tratan de servicios de alta calidad. Una base de datos almacena datos: tu información de perfil, información de facturación, todas las películas que has visto… todo ese tipo de información se almacena en una base de datos.
Descentralizada. Descentralizada significa que la base de datos no se ejecuta en una gran computadora, sino que utiliza muchas. Hay copias de tus datos en varios ordenadores, de modo que si uno o incluso dos equipos que contienen tus datos fallan, tus datos estarán seguros. De hecho, hay copias de tus datos en las tres regiones por lo que si una región falla, tus datos estarán allí cuando la nueva región esté lista para comenzar a usarlos.

Escalable. Escalable significa que la base de datos puede manejar tantos datos como le quieras poner, lo que supone una gran ventaja si es descentralizada porque se pueden agregar más ordenadores según sea necesario para manejar un mayor volumen de datos.

Procesamiento y análisis de big data

Big data simplemente significa que hay una gran cantidad de datos y Netflix recopila mucha información porque conoce lo que ven todos los usuarios, cuándo lo han visto y dónde estaban cuando lo han visto. Netflix sabe qué vídeos le han llamado la atención a los usuarios pero finalmente decidieron no ver. Netflix también sabe cuántas veces se ha visto cada vídeo… y mucho más.

Poner todos los datos en un formato estándar se llama procesamiento. Dar sentido a todos esos datos se llama análisis y los datos se analizan para responder a preguntas específicas.

Personalización y presentación

Un buen ejemplo de cómo Netflix te incita a ver más vídeos usando sus capacidades de análisis de datos. Cuando te pones a buscar algo para ver en Netflix te habrás dado cuenta de que cada vídeo viene acompañado de una imagen. A esa foto normalmente se la conoce como imagen del encabezado.

El objetivo de la imagen del encabezado es intrigarte y que selecciones ese vídeo. La idea es que cuanto más convincente sea la imagen del encabezado, más probabilidades hay de veas un vídeo, y cuántos más vídeos veas, es menos probable que canceles la suscripción a Netflix.

Aquí un ejemplo de diferentes imágenes de encabezado para ‘Stranger Things’:


Es posible que te sorprenda saber que la imagen que se muestra para cada vídeo ha sido seleccionada específicamente para ti y que no todos los usuarios ven la misma imagen.

Al principio todos los usuarios solían ver la misma imagen del encabezado. Después a los usuarios se les mostraba una sola imagen al azar a partir de un grupo de varias opciones (como las diferentes opciones para ‘Stranger Things’). Netflix recopilaba información cada vez que se veía el vídeo y registraba qué imagen se había mostrado cuando se seleccionaba.

Según nuestro ejemplo de ‘Stranger Things’, digamos que cuando se mostraba la imagen de grupo del centro, ‘Stranger Things’ se vio mil veces, mientras que para el resto de fotos, solamente se vio una vez.

Puesto que la imagen del grupo era la que atraía a más usuarios, Netflix la puso como imagen del encabezado de la serie por defecto.

Es un procedimiento que se conoce como basado en datos y Netflix es famosa por ser una empresa basada en datos. Se recopilan los datos (en este caso, el número de vistas asociadas a cada imagen) y se utilizan para tomar la mejor decisión posible; en este caso, qué imagen de encabezado seleccionar.
Netflix busca satisfacer tus intereses cuando escoge las imágenes, pero tampoco quiere mentirte. Lo que buscan no es mostrarte una foto a modo de cebo para que veas un vídeo que igual no te va a gustar. No tiene sentido porque al fin y al cabo Netflix no te cobra por la cantidad de vídeos que ves y lo que busca es que no te arrepientas.

Netflix quiere que estés satisfecho con los vídeos que ves, por eso seleccionan las mejores imágenes del encabezado para ti. Este es solo un pequeño ejemplo de cómo Netflix utiliza el análisis de datos, algo que utiliza en todos los aspectos de la aplicación.
Por eso seleccionar una imagen del encabezamiento adecuada es tan importante: transmite un fuerte mensaje personalizado que nos indica de qué va la película.

Recomendaciones

Por lo general, Netflix te muestra solamente entre 40 y 50 vídeos, aunque hay miles de vídeos disponibles. ¿Cómo lo decide? Con aprendizaje automático.

Es parte del procesamiento y análisis de big data del que acabamos de hablar. Netflix echa un vistazo a los datos y predice lo que te va a gustar. De hecho, todo lo que ves en la pantalla de Netflix ha sido escogido específicamente para ti gracias al aprendizaje automático.

Otros más aspectos importantes que se deben mencionar para disfrutar del completo funcionamiento de Netflix son los siguientes:

Transcodificación de los contenidos desde su origen a lo que finalmente ves: es el proceso por el cual se pasa un archivo de vídeo de un formato a otro para que se pueda en diferentes plataformas y dispositivos.

La distribución del medio de distribución: Antes de que puedas ver un vídeo, Netflix lo procesa mediante un riguroso procedimiento de varias fases.

Validar e introducir el vídeo: Lo primero que hace Netflix es pasar mucho tiempo validando el vídeo. Busca artefactos digitales, cambios de color o fotogramas perdidos durante intentos de transcodificación anteriores o por problemas en la transmisión de datos. Si se encuentra algún problema, se descarta el vídeo.

Estrategias para reproducir vídeo en streaming

Netflix ha probado tres estrategias diferentes para reproducir vídeo en streaming: su propia pequeña red de distribución de contenidos, redes de distribución de contenidos de terceros y Open Connect.

Empecemos definiendo lo que es una red de distribución de contenidos: El contenido para Netflix es, por supuesto, los archivos de vídeo de los que hablábamos en la sección anterior. Distribución significa que los archivos de vídeo se copian desde una localización central y se distribuyen a través de una red para ser almacenados en ordenadores por todo el mundo.

La primera red de distribución de contenidos: 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 mas 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, Netflix 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: En 2009, Netflix decidió usar redes de distribución de contenidos de terceros llegó a acuerdos con compañías como Akamai, Limelight y Level 3 para proporcionar servicios de red de distribución de contenidos.
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.

Open Connect: En 2011, Netflix 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.
Así que Netflix 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 (transcodificación, red de distribución, clientes en dispositivos) Netflix 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.

Lo que Netflix ha hecho con Open Connect es situar los servidores de OCAs dentro de las redes de ISPs. Esto significa que si veo un vídeo de Netflix estaré comunicándome con un servidor OCA de la red de Movistar. Todo mi tráfico de vídeo está en la red de Movistar y nunca llega a pasar por Internet.

La clave de la transmisión de vídeo es estar tan cerca del usuario como sea posible y en este caso no utilizar la infraestructura básica de Internet. Las solicitudes se cumplen con una parte local de la red.
De este modo el 100% del contenido de Netflix se transmite desde redes ISP, lo que reduce costes al aliviar la congestión del tráfico de Internet para los ISPs. Al mismo tiempo, los usuarios de Netflix pueden disfrutar de una experiencia de visualización de alta calidad y el rendimiento de la red mejora para todos.
Este es un mapa de la red de fibra óptica de largo alcance en los Estados Unidos:

Finalmente: Esto es lo que pasa cuando le das al play

Después de toda esta amplia explicación de cómo esta conformado Netflix, tanto exterior como interior podemos ver como es que finalmente en tan solo segundos después de dar play responde:

  • Netflix se puede dividir en tres partes: el servidor, el cliente y la red de distribución de contenidos.
  • Todas las solicitudes de los clientes de Netflix se manejan en AWS.
  • Todo el vídeo se transmite desde una Open Connect Application (OCA) cercana en la red de distribución de Open Connect.
  • Netflix opera en tres regiones de AWS y generalmente puede manejar un error en cualquier región sin que los usuarios lo noten.
  • Netflix transforma el nuevo contenido de vídeo en muchos formatos diferentes, por lo que se puede seleccionar el mejor formato dependiendo del tipo de dispositivo, la calidad de la red, la ubicación geográfica y el plan de suscripción del usuario.
  • Todos los días, a través de Open Connect, Netflix distribuye vídeos en todo el mundo, según sus pronósticos sobre lo que van a querer ver los miembros de cada zona.

Aquí una imagen sobre cómo Netflix describe el proceso de dar al play:

Para completar a descripción de la imagen te dejo los siguientes puntos a considerar:

  • Seleccionas un vídeo que quieres ver usando un cliente que se ejecuta en algún dispositivo. El cliente envía una solicitud de reproducción (play) que indica qué vídeo deseas reproducir al servicio de aplicaciones de reproducción de Netflix que se ejecuta en AWS.
  • No hemos hablado de esto, pero una gran parte de lo que sucede después de darle al play tiene que ver con las licencias porque no todos los vídeos se pueden ver en todo el mundo. Netflix debe determinar si tienes una licencia válida para ver un vídeo en particular. No vamos a hablar sobre cómo funciona esto porque es realmente aburrido, pero ten en cuenta que es algo que siempre pasa. Una de las razones por las que Netflix comenzó a desarrollar su propio contenido es para evitar problemas con las licencias. Si Netflix quiere sacar una serie para todo el mundo y, al mismo tiempo, crear su propio contenido, es la forma más fácil para que no tenga que preocuparse por los problemas de licencia.
  • Una vez que ha tenido en cuenta toda la información relevante, el servicio Playback Apps devuelve direcciones URL para hasta diez servidores OCA diferentes. Este es el mismo tipo de URL que normalmente utilizas en tu navegador. Netflix utiliza tu dirección IP y la información de los ISP para identificar qué servidor de OCA es el que te viene mejor.
  • El cliente selecciona de forma inteligente cuál es el mejor OCA que puede usar. Para ello comprueba la calidad de la conexión de red a cada OCA y se conectará al servidor OCA que sea más rápido y fiable. El cliente continúa realizando estas pruebas durante todo el proceso de transmisión de vídeo.
  • El cliente busca la mejor manera de recibir contenido desde el OCA.
  • El cliente se conecta al OCA y comienza a transmitir vídeo a tu dispositivo.
  • ¿Alguna vez has notado que al ver un vídeo cambia la calidad de la imagen? ¿A veces se pixela y después de un tiempo la imagen vuelve a calidad HD? Eso es porque el cliente se está adaptando a la calidad de la red. Si la calidad de la red disminuye, el cliente reduce la calidad del vídeo para que coincida. El cliente cambiará a otro OCA si la calidad disminuye demasiado.

Y esto es lo que pasa cuando le das al play en Netflix, algo que parece tan simple puede ser tan delicado y trabajoso .

Fuente: xataka

Descubre más desde Dominio Libre

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo