Cómo Netflix simplificó su computación por lotes con Kueue

Fuentes: How Netflix Simplified Batch Compute with Kueue

Netflix ha completado la migración de su sistema interno de gestión de trabajos por lotes, Compute Managed Batch (CMB), a Kueue, un sistema de colas nativo en la nube para cargas de trabajo por lotes en Kubernetes. La transición se enmarca en la estrategia de la compañía de hacer que su plataforma de contenedores Titus sea más Kubernetes-nativa.

CMB, creado en 2018, ofrecía jerarquías de inquilinos, reparto equitativo, gestión de capacidad y colas con prioridad, pero su desarrollo de nuevas funcionalidades —como la preempción— resultaba cada vez más complejo al estar alejado del clúster de Kubernetes subyacente. El equipo evaluó alternativas como YuniKorn y Volcano, y eligió Kueue porque no sustituye al programador de pods de Kubernetes, lo que permite mantener los perfiles de planificación de Titus sin fragmentar la colocación de trabajos. Además, Kueue aporta de forma nativa características que CMB pretendía implementar, como preempción, planificación de todo o nada y planificación con conciencia de topología.

La migración, bautizada como Netflix Batch, se diseñó para no requerir cambios para los usuarios finales y sin regresiones en la tasa de lanzamiento de contenedores. Internamente, la conversión fue tan sencilla como pulsar un botón en la interfaz de administración: los inquilinos internos se transformaron en Cohort y los inquilinos hoja en ClusterQueue con LocalQueue. Para derisquear el proyecto, el equipo migró primero al cliente más grande y complejo, lo que redujo la migración del resto a cuatro semanas. También fue necesario ajustar parámetros de QPS, ráfagas y concurrencia por encima de los valores por defecto. En la actualidad, Kueue gestiona millones de cargas por lotes en producción.