Lecciones clave de ingeniería en la transmisión en directo a 32 millones de espectadores

La final de la Indian Premier League (IPL) en 2023 reunió a un récord de 32 millones de espectadores simultáneos. Ashutosh Agrawal y el equipo de JioHotstar compartieron las estrategias y aprendizajes para garantizar una transmisión impecable ante desafíos técnicos sin precedentes.

La retransmisión de eventos deportivos en directo presenta innumerables retos, pero hay un aspecto innegociable: el vídeo en streaming debe renderizarse sin fallos y al mismo tiempo para todos los aficionados conectados. Un pequeño desfase en la señal puede hacer que los espectadores escuchen celebraciones o lamentos con segundos de adelanto, lo que inevitablemente genera críticas hacia la plataforma emisora.

En 2023, Ashutosh Agrawal y su equipo de ingeniería de JioHotstar, entonces conocido como JioCinema, se prepararon para la final de la Indian Premier League (IPL) —el torneo de críquet más prestigioso y seguido del planeta— con una intensidad comparable a la de los propios deportistas sobre el terreno de juego. Mientras los jugadores corrían en el campo, ellos ejecutaban simulaciones de carga y ejercicios técnicos para asegurar que cada fan pudiera vivir el partido al instante.

Hace un año, Agrawal participó en la conferencia P99 CONF para detallar cómo desarrollaron y comprobaron el sistema que soportó ese evento con audiencia récord, además de compartir valiosas enseñanzas aplicables a otros momentos de alta incertidumbre tecnológica, como las ventas masivas de Black Friday.

Patrocinado

Preparativos previos al gran evento

El IPL es extraordinariamente imprevisible, según Agrawal, quien trabaja en la plataforma streaming desde 2018. En su experiencia, “con el críquet nunca sabes qué puede suceder”.

En la final de 2023 alcanzaron los 32 millones de espectadores concurrentes, una cifra histórica, aunque el equipo se preparaba para cifras aún mayores. Para prevenir cualquier riesgo, diseñaron y probaron la infraestructura para soportar hasta el doble del aforo esperado —entre 50 y 75 millones—, lo que les permitía absorber picos repentinos de tráfico sin saturaciones.

La prioridad absoluta era mantener la señal de vídeo impecable. Ashutosh enfatizó: «Puedes sacrificar otros sistemas o componentes, pero la cadena de entrega del vídeo debe ser inquebrantable. Si falla, todo el valor de la plataforma se pierde».

El primer paso para proteger la transmisión fue identificar cada sistema y componente involucrado en esa ruta crítica. Aunque el vídeo final se distribuía desde CDNs, uno de los mayores cuellos de botella se encontraba en la pre entrega de la URL del vídeo. Agrawal explicó que la autenticación del usuario es un punto clave: se realiza vía SMS y códigos OTP, enviándose millones de mensajes en cuestión de minutos.

Curiosamente, el pico real de demandas no se registra durante el partido en sí, sino en el primer día del torneo, cuando un volumen masivo de usuarios nuevos o inactivos durante casi un año intentan acceder simultáneamente. Ese fenómeno genera la concurrencia máxima y el punto álgido para la infraestructura.

Para gestionar esta presión, escalan preventivamente los sistemas críticos como el de autenticación, sometiendo a socios y proveedores a rigurosas pruebas de carga. Cualquier socio que no cumpla con los compromisos de latencia es automáticamente excluido durante el evento, con el tráfico redirigido a alternativas en un sistema jerárquico.

Un checklist con más de 200 puntos críticos

Además, realizan auditorías exhaustivas con listas que superan las 200 comprobaciones técnicas. Se revisa que bases de datos operen con las versiones más recientes, que no haya mantenimientos programados durante el partido y se evalúan configuraciones de redundancias y timeouts entre sistemas.

Muchos de estos controles fueron incorporados tras incidentes anteriores. Por ejemplo, un servicio que no configuró correctamente los timeouts de keep-alive llegó a saturar un balanceador de carga durante un pico fuerte, debido a que descartaba conexiones en vez de reutilizarlas. Situaciones como esa se integraron como puntos innegociables en la siguiente temporada.

Se asegura que frente a fallos masivos en proveedores de SMS, la plataforma permita la entrada de usuarios por vías alternativas, incluso sin autenticación inmediata, mediante sesiones gratuitas temporales o tokens provisionales, buscando que ningún fallo externo bloquee la experiencia.

Pruebas y simulaciones en entornos reales

Las pruebas abarcan distintos niveles:

  • Tests verticales para validar la escalabilidad individual de cada sistema o servicio y de cada socio tecnológico.
  • Pruebas multidispositivo y multisistema, asegurando que sistemas agrupados funcionen correctamente en conjunto, ya que algunas dependencias solo se evidencian con ecosistemas integrados.
  • Simulaciones completas de usuario que replican el comportamiento real en aplicaciones móviles y web, para detectar problemas que solo surgen con flujos reales de interacción.

Estas simulaciones son fundamentales para revelar sobrecargas inesperadas, por ejemplo, cuando un sistema de contenidos recibe múltiples llamadas de diferentes partes de la interfaz, generando cuellos de botella que no aparecen en pruebas aisladas.

Gestión rigurosa de la latencia

Respecto a la latencia, su regla general es que cualquier sistema interno sin dependencias externas debe responder en 10 a 15 milisegundos para operaciones simples, sin contar tiempos de red. En procesos más complejos, donde se prevean múltiples llamadas o integraciones externas, permiten hasta 40-50 milisegundos.

Si un componente en la ruta crítica supera los 50 ms, buscan aislarlo y tratarlo asíncronamente para evitar bloqueos en tiempo real. Contando latencias de red, cliente y CDN, la experiencia final del usuario ronda entre 60 y 100 ms.

Especial atención dedican al API que conecta la acción del usuario con el inicio de la reproducción del vídeo, donde cualquier fallo puede provocar reintentos o cierres de la app que, a su vez, sobrecargan este API. En estas circunstancias, priorizan fallar rápido y recuperarse, limitando las llamadas externas a apenas 5-10 ms.

Agrawal remarca que estos presupuestos estrictos de latencia les ayudan a desafiar y optimizar los sistemas: cuánto se puede cachear, qué procesos adelantarse y cómo equilibrar la personalización con la velocidad. Por ejemplo, la autenticación no se cachea, pero la página principal sí, fragmentando contenido y estructura para mayor eficiencia.

Tres consejos clave para eventos de alta demanda

Para ingenieros que preparan infraestructuras para eventos con grandes picos de carga, Ashutosh recomienda:

1. Definir principios claros y alineados: Tener un acuerdo firme en toda la organización sobre prioridades permite tomar decisiones rápidas y coherentes durante el evento, evitando bloqueos que pueden ser desastrosos.

2. No conformarse con la latencia: Los tiempos de respuesta deben estar por debajo de 100 ms salvo excepciones. La tecnología actual permite reducir mucho la latencia en el lado servidor, y es fundamental buscar siempre la optimización.

3. Identificar la ruta crítica y limpiarla: Solo las dependencias imprescindibles deben estar en el camino crítico de la experiencia; llamadas síncronas innecesarias, como envíos de datos analíticos, deben evitarse o ejecutarse fuera de esta ruta para acelerar la reacción del sistema.

Estos aprendizajes, reunidos en cientos de pruebas, simulaciones y ajustes, permitieron a JioHotstar ofrecer una experiencia robusta y fluida para decenas de millones de usuarios simultáneos durante el partido más seguido del críquet mundial.

Add a Comment

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Patrocinado