Sky Sports - Plataforma de Datos Deportivos en Tiempo Real para 11M de Usuarios
Reemplazamos el sistema heredado de puntuaciones en vivo basado en Flash con aplicación híbrida escalable que sirve datos deportivos en tiempo real a 11 millones de usuarios activos en web, iOS y Android.
Objetivos del Proyecto
Reemplazar tecnología Flash al final de su vida útil con aplicación híbrida moderna, entregar puntuaciones deportivas en tiempo real desde estadios a millones de usuarios con latencia de sub-segundo, construir infraestructura de API escalable para manejar picos masivos de tráfico durante eventos deportivos principales, y asegurar diseño perfecto en píxeles en dispositivos iOS retina.
El Problema
Adobe estaba matando Flash, y toda la plataforma de puntuaciones en vivo de Sky Sports funcionaba con él.
Millones de aficionados al fútbol verificando puntuaciones durante los partidos. Todos a punto de perder acceso cuando los navegadores dejaran de soportar Flash.
El plazo era ajustado. Las apuestas eran altas. El tiempo de inactividad durante un partido de la Premier League no era una opción.
Ah, ¿y la API backend? Esa también se estaba cayendo durante los grandes juegos.
Lo Que Construimos
Reconstruimos todo—frontend, backend, aplicaciones móviles—mientras manteníamos el sistema antiguo funcionando. Sin tiempo de inactividad. Sin interrupción. Los aficionados verificando puntuaciones durante los partidos nunca notaron que básicamente estábamos recableando toda la plataforma debajo de ellos.
El Nuevo Frontend
Flash no funcionaba en móviles. La mitad de la audiencia de Sky Sports estaba en teléfonos. Esto no era solo un proyecto de reemplazo—era una expansión.
Construimos una aplicación híbrida que funcionaba en todas partes:
Un código base. Tres plataformas. iOS, Android, web—todas obteniendo la misma experiencia.
Rendimiento nativo donde importaba. Tecnologías web donde tenían sentido. Lo mejor de ambos mundos.
El diseño tenía que ser perfecto en píxeles en pantallas retina. Los directores de arte notan cuando las cosas se ven borrosas. Nos aseguramos de que no tuvieran de qué quejarse.
El Sistema en Tiempo Real
Las puntuaciones en vivo no son valiosas si llegan tarde. Los aficionados quieren saber qué está pasando antes de que la transmisión de TV lo muestre.
Construimos un pipeline en tiempo real que movía datos desde estadios a pantallas en menos de un segundo:
Feeds directos desde lugares. Múltiples fuentes de datos para redundancia. Conexiones WebSocket empujando actualizaciones instantáneamente. Sin sondeo, sin retrasos, sin botón de actualización.
Cuando sucede un gol, 11 millones de teléfonos vibran en segundos. Ese es el requisito.
La Reconstrucción del Backend
La API antigua tenía un problema: trataba cada solicitud de la misma manera. No importaba si querías actualizaciones en tiempo real o solo verificar las puntuaciones de ayer—mismo proceso lento.
La reconstruimos dirigida por eventos:
Las actualizaciones solo suceden cuando las puntuaciones cambian. No cada segundo si algo pasó o no.
Conexiones WebSocket para partidos en vivo. APIs REST para datos históricos. La herramienta correcta para cada trabajo.
Almacenamiento en caché en todas partes donde tenía sentido. Distribución geográfica para reducir latencia. Auto-escalado para picos de tráfico.
Manejando el Caos
El tráfico deportivo es caos predecible. Sabes exactamente cuándo comienzan los partidos. No tienes idea de cuántas personas mirarán.
Un sábado regular: Tráfico moderado.
Día de final de copa: 11 millones de usuarios concurrentes.
El sistema tenía que manejar ambos sin intervención manual.
Construimos auto-escalado que realmente funciona. El tráfico sube, los servidores se encienden. El partido termina, los servidores se apagan. Los costos de infraestructura rastrean el uso real en lugar de escenarios de "qué pasaría si".
El Lanzamiento
No simplemente cambias de golpe en algo tan grande.
Ejecutamos sistemas antiguos y nuevos en paralelo. Gradualmente cambiamos el tráfico a la nueva plataforma. Probamos A/B con usuarios reales durante partidos reales.
Comenzamos con amistosos (bajas apuestas, bajo tráfico). Pasamos a juegos de liga. Finalmente, el grande: finales de la Liga de Campeones.
Cero tiempo de inactividad. Cero quejas. La prueba más grande de todas fue cuando nadie notó que habíamos cambiado algo.
Bueno, excepto los usuarios móviles. Notaron que finalmente podían verificar puntuaciones en sus teléfonos.
Los Resultados
11 millones de usuarios concurrentes durante eventos pico. El sistema lo manejó sin sudar.
Latencia de sub-segundo desde estadio a pantalla. Más rápido que las transmisiones de TV. Los aficionados vieron goles antes del comentario.
Cero tiempo de inactividad durante eventos deportivos principales. No durante la migración. No durante los lanzamientos. No durante finales de la Liga de Campeones.
100% de reemplazo de Flash. Cada plataforma. Cada dispositivo. Todo funcionando.
Acceso móvil desbloqueado. La mitad de la audiencia ahora podía usar un producto que literalmente no funcionaba para ellos antes.
Detección de errores y respuesta mejorada 90%. Sabíamos sobre problemas antes de que los usuarios los notaran. ¿El sistema antiguo? Los usuarios llamaban para decirnos que estaba roto.
Lo Que Aprendimos
Tiempo real a escala se trata de arquitectura, no solo velocidad. Puedes escribir código rápido todo el día. Pero si tu arquitectura fundamentalmente no puede escalar, el código rápido no importa.
Diseño dirigido por eventos. Comunicación asíncrona. Distribución geográfica. Estrategias de almacenamiento en caché. Eso es lo que maneja millones de usuarios.
Las aplicaciones híbridas pueden igualar el rendimiento nativo. Para aplicaciones impulsadas por contenido, los frameworks híbridos entregan el 90% del rendimiento nativo al 50% del costo de desarrollo.
Tres plataformas desde un código base. Mismas características. Mismas actualizaciones. Mitad del equipo.
El tráfico deportivo requiere planificación especial. No es como SaaS donde el uso crece gradualmente. Es de cero a millones en minutos, sostenido por dos horas, luego de vuelta a la línea base.
El auto-escalado no es opcional. Es la única forma de sobrevivir sin desperdicio masivo de infraestructura.
La observabilidad supera el soporte reactivo. Saber sobre problemas antes que los usuarios lo transforma todo.
Pasamos de aprender sobre interrupciones por llamadas telefónicas a detectar problemas en paneles de monitoreo antes de que afectaran a alguien.
La migración gradual supera el big bang. Las pruebas A/B con usuarios reales durante partidos reales nos dieron confianza. Si algo salía mal, podíamos revertir instantáneamente.
El enfoque aburrido y cuidadoso gana cuando el tiempo de inactividad no es aceptable.
Los aficionados de Sky Sports esperaban que las puntuaciones simplemente funcionaran. Durante la migración más grande en la historia de la plataforma, eso es exactamente lo que pasó. Simplemente funcionaron.
¿Necesitas ayuda construyendo aplicaciones en tiempo real a escala? Hablemos →
Ve más plataformas que hemos construido Ver casos de estudio →