Completada la migración de Netflix a la nube

El viaje de Netflix a la nube empezó en agosto de 2008, cuando tuvimos un problema muy grave con la base de datos y estuvimos tres días sin poder enviar los DVD a nuestros suscriptores. Ahí nos dimos cuenta de que teníamos que pasar de los puntos de error únicos de escala vertical (las bases de datos relacionales de nuestro centro de datos, por ejemplo) a unos sistemas en la nube distribuidos, altamente fiables y escalables horizontalmente. Elegimos Amazon Web Services (AWS) como nuestro proveedor de la nube porque nos ofrecían la escala más alta y la gama más amplia de servicios y prestaciones. Antes de 2015 ya habíamos migrado a la nube la mayoría de nuestros sistemas, incluidos todos los servicios de cara al cliente. No obstante, queríamos pensarnos con calma una ruta a la nube segura y duradera para nuestra infraestructura de facturación, así como para todos los aspectos de nuestra gestión de datos de clientes y de empleados. Tenemos el placer de anunciarte que a principios de enero de 2016, después de siete años de esfuerzo, hemos terminado nuestra migración a la nube. Ya hemos apagado los últimos bits del único centro de datos que seguía usando nuestro servicio de streaming.

La mudanza a la nube ha comportado muchas ventajas a Netflix. El número de suscriptores de streaming que teníamos en 2008 se ha multiplicado por ocho. Además, son mucho más activos, como demuestra que el número total de visualizaciones se haya triplicado en los últimos ocho años:

El propio producto de Netflix ha seguido evolucionando a toda velocidad, incorporando muchas funciones nuevas que necesitan gran cantidad de recursos, y recurriendo a volúmenes de datos cada vez mayores. Nos habría sido dificilísimo sostener un crecimiento tan vertiginoso con nuestros centros de datos; no habríamos tenido tiempo ni de apilar los servidores. La elasticidad de la nube nos permite añadir miles de servidores virtuales y petabytes de espacio de almacenamiento en unos minutos, y por eso ha sido posible esta expansión. El 6 de enero de 2016, Netflix expandió su servicio a más de 130 países nuevos, convirtiéndose en una cadena verdaderamente global de TV por Internet. El poder utilizar varias regiones en la nube de AWS, repartidas por todo el mundo, nos permite cambiar de sitio dinámicamente y ampliar la capacidad de nuestra infraestructura global. Así podemos crear una experiencia de streaming mejor para los suscriptores de Netflix, independientemente de dónde se encuentren.

Confiamos en la nube para todo lo que necesitamos en cuanto a informática escalable y espacio de almacenamiento: nuestra lógica empresarial, bases de datos distribuidas y procesamiento/análisis de grandes datos, recomendaciones, transcodificación y otros centenares de funciones de que conforman la aplicación de Netflix. La imagen se envía a través de Netflix Open Connect, nuestra red de entrega de contenidos que se distribuyen globalmente para enviar eficientemente nuestros bits a los dispositivos de los suscriptores.

La nube también nos ha permitido aumentar radicalmente la disponibilidad de nuestro servicio. En nuestros centros de datos a veces sufríamos apagones, y aunque pasamos algunos baches muy duros inevitables en la nube, sobre todo los primeros años de la migración, hemos apreciado un aumento constante en nuestra disponibilidad total, cada vez más cerca de nuestra meta de cuatro nueves (99,99 %) de tiempo de actividad del servicio. Es imposible evitar los fallos en los sistemas distribuidos a gran escala, ni siquiera si están basados en la nube. No obstante, la nube te permite crear servicios de alta fiabilidad a partir de componentes fundamentalmente no fiables pero redundantes . Al incorporar los principios de la redundancia y degradación correcta a nuestra arquitectura, y manteniendo la disciplina de barrenos de producción regulares con Simian Army, podemos sobrevivir a los fallos en la infraestructura de la nube y dentro de nuestros propios sistemas sin que la experiencia del suscriptor se vea afectada.

La disminución de costes no fue el motivo principal de nuestra decisión de mudarnos a la red. Pero es innegable que nuestros costes en la nube por inicio de streaming han acabado siendo mucho menores que los del centro de datos, un efecto colateral más que bienvenido. Esto es posible gracias a la elasticidad de la nube, que nos permite optimizar constantemente la mezcla de tipos de instancias y crecer y menguar el espacio que ocupamos casi al instante sin tener que mantener búferes de gran capacidad. También podemos aprovechar la economía de escala que solo pueden existir en un gran ecosistema de la nube.

Teniendo en cuenta las ventajas evidentes de la nube, ¿por qué hemos tardado siete años en terminar la migración? La verdad es que la mudanza a la nube supuso muchísimo trabajo y tuvimos que tomar decisiones muy difíciles por el camino. La forma más sencilla de mudarse a la nube habría sido sacar todos los sistemas, sin cambiarlos, del centro de datos y soltarlos en AWS. Pero si hubiéramos hecho eso, nos habríamos llevado con nosotros todos los problemas y limitaciones del centro de datos. En vez de eso, optamos por el enfoque "nativo de la nube": reconstruimos virtualmente toda nuestra tecnología y cambiamos radicalmente nuestra forma de llevar la empresa. Desde el punto de vista de la arquitectura, migramos de una aplicación monolítica a cientos de microservicios, y desnormalizamos nuestro modelo de datos usando bases de datos NoSQL. Las aprobaciones de presupuestos, la coordinación de versiones centralizada y los ciclos de aprovisionamiento de hardware de varias semanas dieron paso a una entrega continua y a equipos de ingenieros que toman decisiones independientes a través de herramientas de autoservicio en un entorno DevOps débilmente acoplado, lo que ayuda a acelerar la innovación. Tuvimos que construir muchos sistemas nuevos, así como aprender nuevas habilidades. El transformar a Netflix en una empresa nativa de la nube exigió mucho tiempo y esfuerzo, pero nos colocó en una posición mucho mejor para seguir creciendo y convertirnos en una cadena de TV global.

La tecnología de streaming de Netflix ha avanzado muchísimo en los últimos años y ya no sufrimos las limitaciones a las que nos enfrentábamos anteriormente. Dado que la nube es algo bastante nuevo para muchos de nuestro sector, todavía quedan muchas dudas que contestar y muchos problemas que resolver. A través de iniciativas tales como Netflix Open Source, esperamos seguir colaborando con las mentes tecnológicas mas brillantes que existen y abordar juntos todos estos desafíos.

-Yury Izrailevsky, Stevan Vlaovic y Ruslan Meshenberg

Más de Blog de la empresa

Índice de velocidades de ISP para Netflix - Enero de 2016

A continuación destacamos algunos datos de enero del Índice de velocidades de ISP para Netflix, nuestra actualización mensual sobre los proveedores de servicios de Internet (ISP) que ofrecen la mejor experiencia de streaming de Netflix durante el horario de máxima audiencia. Sigue leyendo

Recomendaciones: un enfoque global

Cuando lanzamos Netflix en 130 países más este enero, nuestra intención era que el servicio funcionase bien en todo el mundo, y eso supuso afrontar numerosos y complejos problemas técnicos con un enfoque global. Sigue leyendo

Principio