Netflix es un claro revolucionario en el visionado de contenido cinematográfico. Miles de películas y series al alcance de cualquiera a través de un solo botón, pero lo que es menos conocido es la forma en la que la compañía ha sido pionera en muchos aspectos de la ingeniería de software ¿qué supuso, en el mundo del software, la implantación y evolución de Netflix? A continuación veremos su enfoque innovador en la ingeniería de software para contribuir en su éxito.

Aunque recientemente en España, Netflix ha perdido usuarios debido a los cambios en las condiciones, los datos mundiales siguen siendo impresionantes, con más de 200 millones de suscriptores. Para lograr esto, Netflix ha necesitado un largo trayecto tanto comercial como tecnológico que os resumimos en este post.

Estos son solo algunos de los impresionantes datos que ofrece Netflix a día de hoy a raíz de su plataforma. Para ello, han necesitado un largo trayecto tanto comercial como tecnológico, en el cual nos centraremos en este post.

¿Cómo empezó Netflix?

Aunque muchos piensen que Netflix comenzó directamente como una aplicación en nuestro Smart TV, móvil, tablet… la realidad es bien distinta. La andadura de la plataforma roja comienza en 1997 cuando a sus creadores Reed Hastings y Marc Randolph se les ocurre una idea: alquilar DVDs por correo. Para ello desarrollaron una página web en 1998 que sería el primer paso de lo que tenemos a día de hoy.

Pero centrémonos en el punto en el que comienza la “Gran Revolución”. Año 2007, Netflix presenta su servicio de streaming para poder ver al instante todas las series y, un año después, se asocia con marcas de electrónica para ofrecer el streaming a través de la Xbox 360, decodificadores de TV y servicios de Blu-Ray. Es aquí cuando se cimienta el gran salto tecnológico: la migración a la nube.

Primera revolución: Cloud

Corría el año 2008 cuando uno de los grandes desastres de Netflix ocurrió: el centro de datos donde corrían las bases de datos relacionales de Netflix se cayó, dejando fuera de servicio toda la plataforma durante tres días (en aquel momento, encargadas de enviar DVDs a domicilio).

No paraban de crecer y crecer, por lo que tuvieron que tomar una decisión: migrar a la nube. La compañía tendría dificultades para instalar servidores en sus propios centros físicos de datos lo suficientemente rápido como para manejar los volúmenes en constante aumento, pero la nube les permitiría agregar miles de servidores virtuales y petabytes de almacenamiento en cuestión de minutos.

En este momento es cuando Netflix decide pasarse a AWS. ¿Por qué? Estas son las razones más importantes de esta revolución y donde fueron pioneros:

Posiblemente, estos dos puntos pueden definir de forma muy resumida lo que es la nube, y aunque parezca sobre el papel algo sencilla, esta tarea les llevó un total de ocho años (hasta 2016), debido a que este traslado supuso una reingeniería completa de su infraestructura, ya que únicamente trasladar sus monolitos a los servidores de AWS solo hubiese traído los mismos problemas de antaño, es decir, mismo perro pero con distinto collar.

Segundo paso: Microservicios

¿Por qué ocho años? ¿No bastaba llevar los servicios a AWS directamente? Pues no, en caso de haber realizado este tipo de migración, se hubiesen llevado todos los problemas que tenían a la nube, solo que ese problema lo cargaría AWS. Por lo tanto, tenían que cambiar de enfoque su solución.

Realizaron un enfoque “nativo de la nube”: comenzaron desde cero, reconstruyendo todo el sistema: es decir, toda su tecnología. Esto les dio la oportunidad de desprenderse de un único monolito para dar el siguiente gran paso: microservicios.

Los microservicios le permitieron separar su plataforma en pequeños servicios independientes para que pudiesen ser desarrollados, probados y desplegados de forma independiente. De esta forma, mejoraron en escalabilidad, disponibilidad y fiabilidad de la plataforma, lo que les permite estar en la vanguardia de un mercado tan competitivo. Puedes consultar más información sobre microservicios: este artículo que cuenta por qué llevamos años apostando por esta arquitectura o este podcast sobre microservicios, ¡microservicios everywhere!

Tercer escalón: DevOps

El nuevo tipo de desarrollo que comenzó en ese 2008 Netflix trajo también algo nuevo en su metodología del mismo. Aprobaciones de presupuesto, coordinación de las diferentes versiones que iban generando y los diferentes ciclos de aprovisionamiento de hardware de varias semanas dieron paso a un incremento continuo. Hicieron especial enfoque en la automatización de las herramientas y en la entrega continua, desarrollando herramientas y procesos para mejorar sus pipelines de desarrollo.

Algunos puntos importantes de Netflix en esta metodología son los siguientes:

Para tener más información acerca de qué es DevOps y qué no, os recomiendo echar un vistazo a estos posts sobre qué es DevOps (y sobre todo qué no es DevOps) y sobre su evolución. Y si quieres más información acerca de los pipelines aquí: Pipelines de Jenkins: evolución del Continuous Delivery.

Cuarto avance: Big Data

Al igual que muchas empresas, ellos saben en todo momento qué enseñar y qué no a cada usuario, de manera personalizada, en la parrilla de entrada de su aplicación. Esto es debido a la gran cantidad de datos que obtiene de nuestras anteriores visualizaciones a lo largo del tiempo, y, por lo tanto, es gracias al Big Data. Se estima, con datos propios de la plataforma, que cerca del 80% de los contenidos que consume un usuario es debido a su sistema de recomendaciones.

¿Qué tipo de datos utilizan para obtener tan buenas predicciones?

Todo esto empezó en 2009 cuando Netflix “regaló” un millón de euros al grupo que ideó el mejor algoritmo de predicción para sus contenidos.

Como es obvio, no se tiene mucha más información de este algoritmo, así que os explicamos cómo explotó Netflix este algoritmo para asegurar el éxito de su primera serie de creación original: ‘House Of Cards’.

Querían dar el paso al ámbito de producción y creación de series/películas y para ello invirtieron algo más de 100 millones de dólares en crear su primera serie. Pero es que ellos ya sabían que esta serie iba a ser un éxito ¿la razón? De nuevo: los datos. Realizaron diez trailers diferentes para incluirlos en la plataforma según los diferentes gustos de los usuarios, analizaron que la versión británica de dicha serie había sido un éxito y que el director de la serie David Fincher desataba una gran devoción en el público, así como que el drama político tenía una gran repercusión en los usuarios. Por lo tanto, fue cuestión de juntar todas las premisas para tener el éxito asegurado que fue House Of Cards.

Quinta (y no menos importante): cultura de la innovación

“Netflix alienta a que los empleados tomen decisiones de manera independiente, que comparta la información de manera abierta y clara con una comunicación franca y directa. A su vez evitan las reglas para que las personas más creativas y productivas tengan esa libertad”.

Este párrafo está directamente extraído de su portal de empleo, siendo el primer punto en el que hacen hincapié y es que Netflix fue innovador en cómo trataba a sus empleados allá por el 2009: jefes abiertos a la crítica (los preparan para aceptar críticas) y sistema de evaluación 360º abierto y transparente.

Un método innovador que utiliza la plataforma es el Ciclo de innovación en 4 pasos que consiste en lo siguiente:

  1. Habla de tu idea para encontrar sus puntos débiles y añade ideas. Los compañeros votarán esta idea con una escala -10 a 10.
  2. ¡Inténtalo! Si estás convencido, ponlo a prueba.
  3. Decide: infórmate y, si funciona, apuesta por esta idea.
  4. Comparte los resultados, tanto buenos como malos, para que de esta forma se celebre el éxito o se aprende del fracaso.

Esta es una de las innovaciones en cuanto al trabajo por el que apuesta y que los ha colocado en el puesto 17 de las empresas más innovadoras del mundo.

¿Qué les espera en el futuro?

Netflix supo dar un paso innovador en cuanto a software que en gran parte le ha ayudado a estar en donde está a día de hoy, construyendo un gigante del software del cual disfrutamos casi todos en nuestras casas, y es que al fin y al cabo, todo es software. Ahora, estaremos muy atentos a futuros avances que realicen, como por ejemplo una nueva integración con Inteligencia Artificial ¿nos imaginamos en un futuro no tan lejano la oportunidad de hablar con Netflix para contarles lo que nos apetece ver? Yo personalmente no lo veo tan lejano, y espero poder hablar sobre futuras integraciones tecnológicas en este blog.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete