Netflix ejecuta desde 2017 procesamiento de flujos con Apache Flink y, en 2026, supera las 30.000 tareas distribuidas en varias regiones de AWS. La mayor parte las genera de forma automática su plataforma gestionada Data Mesh, aunque crece el número de trabajos a medida que equipos internos construyen canalizaciones para personalización, anuncios y eventos en directo. Ante esa escala, el aprovisionamiento para picos resulta ineficiente y el dimensionamiento a la media genera latencia en picos de carga. Además, cada operación de escalado implica por defecto un savepoint y un reinicio, lo que añade minutos de interrupción en trabajos con estado.
Para resolverlo, Netflix desarrolló hacia 2019 un primer autoscaler que, ejecutado sobre Mantis y alimentado con métricas de Atlas, ajustaba el número total de TaskManagers a partir de indicadores como CPU, red, lag en Kafka y tasas de entrada y consumo. Reducía el uso de recursos entre un 25 % y un 45 %, pero solo razonaba sobre trabajos simples: al escalar de forma uniforme, no servía para canalizaciones con múltiples operadores y estados, justamente las que crecían para anuncios, recomendaciones y juegos. Además, dependía de métricas externas que podían no reflejar problemas reales.
La comunidad de Apache Flink, mientras tanto, maduró un segundo autoscaler que opera desde dentro del trabajo, estimando la tasa real de procesamiento de cada operador a partir de la fracción de tiempo realmente ocupado. Eso le permite calcular el paralelismo necesario por vértice, sin tocar el clúster como un todo, y escalar trabajos con DAG complejos y estado. Netflix adoptó ese algoritmo y lo integró en un servicio Spring Boot orquestado con Temporal, que ejecuta un flujo por tarea. La compañía mantiene ambos sistemas en producción y avanza hacia la consolidación en la solución de código abierto, extrayendo lecciones sobre métricas, coste y mantenimiento.
