HomeActualidadNetflix integra la solución Amazon Kinesis Streams de AWS (Caso de éxito)

Netflix integra la solución Amazon Kinesis Streams de AWS (Caso de éxito)

Imagen recurso del caso de estudio de Amazon Web Services y Netflix

La plataforma de vídeo bajo demanda Netflix solventa sus necesidades de informática y almacenamiento con Amazon Web Services (AWS), incluyendo bases de datos, análisis, motores de recomendación, transcodificación de vídeo y más. Entre estas herramientas, la compañía ha implementado la solución Amazon Kinesis Streams para procesar “miles de millones” de flujos de tráfico. AWS nos da más detalles a través del siguiente caso de éxito.

Netflix en AWS

Netflix es la red de televisión por Internet líder del mundo, con más de 100 millones de miembros en más de 190 países que disfrutan de 125 millones de horas de programas de TV y películas cada día. Netflix utiliza AWS para prácticamente todas sus necesidades de informática y almacenamiento, incluidas las bases de datos, el análisis, los motores de recomendación, la transcodificación de video y más; cientos de funciones que en total usan más de 100.000 instancias de servidor en AWS.

Netflix utiliza cerca de 1.000 fragmentos de Amazon Kinesis en paralelo para procesar miles de millones de flujos de tráfico

La solución basada en Amazon Kinesis Streams de Netflix ha probado ser altamente escalable, procesando cada día a miles de millones de flujos de tráfico. Generalmente, alrededor de 1.000 fragmentos de Amazon Kinesis trabajan en paralelo para procesar el flujo de datos. “Amazon Kinesis Streams procesa múltiples terabytes de datos de registro cada día, aun así, aparecen eventos en nuestro análisis en segundos”, dice John Bennett, ingeniero sénior de software en Netflix. “Podemos descubrir y responder a los problemas en tiempo real, garantizando una alta disponibilidad y una gran experiencia del cliente”.

Seguimiento de aplicaciones a gran escala

Netflix emplea Amazon Web Services (AWS) para cubrir casi todas sus necesidades de informática y almacenamiento, incluyendo bases de datos, analítica, motor de recomendaciones, transcodificación de vídeo y demás. En total, estos cientos de operaciones utilizan más de 100.000 instancias de servidores en AWS.

El resultado es un entorno de red extremadamente complejo y dinámico, donde las aplicaciones se comunican constantemente entre sí a través de AWS y de Internet. Para Netflix, la capacidad de monitorizar y optimizar esta red resulta crítica para poder continuar mejorando la experiencia de los clientes, aumentar la eficiencia y reducir costes. Concretamente, Netflix necesitaba una solución para procesar, aumentar y analizar los múltiples terabytes de datos que genera su red a diario en forma de registros de flujo en nubes privadas virtuales (virtual private cloud o VPC). Esto permitiría a Netflix identificar oportunidades para mejorar el rendimiento, como identificar qué apps se comunican entre regiones para poder reubicarlas. La compañía también sería capaz de aumentar el tiempo de servicio al detectar y mitigar rápidamente cualquier problema con esas aplicaciones.

Cada registro contiene información sobre las comunicaciones entre dos direcciones IP. Sin embargo, en un entorno dinámico como el de Netflix, donde una dirección IP puede flotar entre aplicaciones de un día a otro o incluso de un minuto a otro, la dirección IP por sí sola no aporta demasiada información. “Las fuentes de datos que empleábamos antes de adoptar esta iniciativa aportaban una información limitada”, explica John Bennett, ingeniero sénior de software de Netflix. “Podíamos saber que una aplicación se conectaba con otras, pero no podíamos ver ambos lados de la interacción ni como optimizar esas comunicaciones ni la ubicación de dichas aplicaciones en la red”.

Netflix decidió establecer una nueva fuente de datos que aportase más información sobre la comunicación entre aplicaciones y regiones, a base de combinar los registros de flujo VPC con metadatos de aplicaciones.

Centralización de registros de flujo mediante Amazon Kinesis Data Streams

Desde el principio, AWS permitió a Netflix experimentar con diferentes estrategias para analizar los datos de su red. Según Bennett “al principio del proceso de diseño, la flexibilidad para probar diferentes formas de procesar datos era un factor muy importante. Probamos múltiples diseños y utilizamos muchos productos de AWS para llegar a donde queríamos”.

La solución por la que se decantó finalmente Netflix, conocida internamente como Dredge, centraliza los registros de flujo utilizando Amazon Kinesis Data Streams. La aplicación lee los datos de Amazon Kinesis Data Streams en tiempo real y enriquece las direcciones IP mediante metadatos de aplicaciones para proporcionar una imagen completa del entorno de red. “Normalmente almacenábamos los datos en una base de datos que generaba un índice para poder acceder a los registros rápidamente”, dice Bennett. “Dredge combina los registros de flujo con metadatos de aplicaciones a medida que los va recibiendo y genera índices sin necesidad de emplear una base de datos, lo cual elimina gran parte de la complejidad”.

Los datos enriquecidos llegan a una aplicación analítica de código abierto llamada Druid. Netflix utiliza la función OLAP (online analytical processing o procesamiento analítico en línea) integrada en Druid para dividir rápidamente los datos en regiones, zonas de disponibilidad y segmentos horarios, lo cual permite visualizarlos y obtener la información necesaria sobre el comportamiento y rendimiento de la red.

AWS era la opción más lógica para ejecutar Dredge, en parte porque los datos ya residían en la nube de AWS. “La tarea de publicar, enviar y consumir tal cantidad de información desde un sistema externo como Kafka habría sido abrumadora”, asegura Bennett. “En cambio, en Amazon Kinesis Data Streams tan solo hizo falta realizar unas cuantas llamadas API para centralizar múltiples terabytes de registros de flujo. Ahora podemos centrarnos en extraer la información necesaria de los datos, en lugar de únicamente poder acceder a ellos”.

La escalabilidad de la solución Amazon Kinesis Data Streams se adapta perfectamente a la aplicación Dredge, debido a la naturaleza cíclica y elástica del uso que hace Netflix de la red. “En lo que se refiere a nuestros datos de red, resulta más efectivo poder aumentar y reducir la capacidad, lo cual no siempre resulta sencillo con las alternativas a Amazon Kinesis Data Streams”, añade Bennett.

Arquitectura de Amazon Web Services y Netflix caso de estudio

Mejorar la experiencia del cliente mediante vigilancia de la red en tiempo real

La solución de Netflix basada en Amazon Kinesis Data Streams ha demostrado ser altamente escalable, procesando miles de millones de flujos de tráfico cada día. Por lo general, alrededor de 1.000 instancias de Amazon Kinesis operan en paralelo para procesar el flujo de datos. “A pesar de que Amazon Kinesis Data Streams procesa múltiples terabytes de registros de datos cada día, los eventos están disponibles en cuestión de segundos”, explica Bennett. “Podemos descubrir y responder a cualquier situación en tiempo real, lo cual asegura una elevada disponibilidad y una excelente experiencia para el usuario”.

Gracias a este sistema, Netflix es capaz de identificar nuevas formas de optimizar sus aplicaciones, ya sea a base de trasladar aplicaciones de una región a otra o cambiando a un protocolo de red más apropiado para tipos específicos de tráfico. “Nuestra solución generada sobre Amazon Kinesis nos permite identificar formas de aumentar la eficiencia, reducir costes y mejorar la resiliencia para proporcionar la mejor experiencia a nuestros clientes”, señala Bennett.

Aunque una solución de transmisión de datos no es algo nuevo en informática, se trata de una innovación en el segmento de las redes. “Netflix ha invertido considerablemente en AWS, en parte, porque nos abstrae de la red subyacente, de modo que no tenemos que ocuparnos de switches ni routers”, aclara Bennett. “Podemos monitorizar, analizar y optimizar nuestra información a un nivel operativo más elevado, de formas que ni siquiera habríamos llegado a contemplar si tuviésemos que encargarnos de nuestros propios centros de datos”.

Beneficios de AWS                                                          

  • Procesa y enriquece múltiples terabytes al día, lo cual representa miles de millones de eventos, con tiempos de respuesta inferiores a un segundo para operaciones analíticas
  • Altamente asequible y eficiente en comparación con soluciones alternativas
  • Libertad para experimentar con arquitecturas de sistema para encontrar la solución más efectiva
  • La ingesta de datos se inicia con unas sencillas aplicaciones llamadas API
  • Solución altamente elástica, con casi 1.000 instancias de Amazon Kinesis operando en paralelo
El servicio Ci Media
Mediapro produce y d
Rate This Article: