El estadio digital del mundo
Fanatiz es una de las plataformas de streaming deportivo de mayor crecimiento en el mundo. Cuenta con decenas de miles de suscriptores y es especialmente popular entre los expatriados, quienes pueden ver los partidos de su equipo favorito en tiempo real o ponerse al día con la función on-demand desde cualquier lugar. Esto no sería posible sin la participación de 1190 Sports, que se encarga de gestionar y comercializar los derechos deportivos, o sin Nunchee, la tecnología de alta calidad que está detrás de los servicios de streaming que van directo al cliente.
Ambas empresas son propiedad de Fz Sports, que actualmente cuenta con 85 empleados en oficinas repartidas entre Latinoamérica, Europa y Estados Unidos. Su servicio transmite alrededor de 10.000 partidos al año, el equivalente a unos 20 por día.
Fig. 1 — Aplicación móvil Fz Sports - Mi Estadio
Fig. 2 — Aplicación móvil Fz Sports: pantalla de inicio de Mi equipo
“Queremos ser el estadio digital más grande del mundo. Aunque nuestros suscriptores son mayormente aficionados al fútbol masculino y femenino, también transmitimos basketball, handball, golf, y otros deportes", comenta Damian Krynveniuk, Vicepresidente de Ingeniería y Operaciones Técnicas en Fz Sports.
Fz Sports adopta rápidamente nuevas tecnologías para seguir conectando a los aficionados al deporte con su contenido favorito. Sus tres negocios están sustentados en tecnología de punta y una cultura de innovación constante. “Estamos optimizando toda la cadena de valor del deporte, reinventando la forma en que los titulares de derechos, las marcas y los aficionados se conectan entre sí. Planeamos convertirnos en la plataforma digital líder para disfrutar y monetizar los contenidos deportivos” añade Krynveniuk.
Cuando se trata de eventos en directo, la escalabilidad es un reto universal. Solo en el fútbol puede haber hasta 30 partidos simultáneamente. Los sistemas necesitan estar preparados para gestionar aumentos exponenciales de la demanda sin ningún problema.
“Si tu sistema se cae en mitad de un partido, corres el riesgo de perder suscriptores. Su lealtad está con su equipo, no con la plataforma de streaming", comenta Krynveniuk. “Debemos tener la capacidad de transmitir ininterrumpidamente en tiempo real y gestionar los picos de tráfico efectivamente”. Disponer de una mayor capacidad no es un lujo que muchos puedan permitirse, así que era necesario para Fz Sports encontrar una plataforma de base de datos de alto rendimiento que respaldara su negocio.
La empresa creó un producto de viabilidad mínima basado en la tecnología que conocían mejor: las bases de datos relacionales. Sin embargo, pronto se encontraron con problemas de escalabilidad y versatilidad; lo que ocasionaba que el equipo de desarrolladores invirtiera demasiado tiempo en tareas de mantenimiento manuales.
Fz Sports ofrece contenidos en múltiples regiones y a través de cualquier dispositivo, desde wearables y smartphones hasta navegadores web y televisores. Este nivel de complejidad requiere una base de datos flexible que pueda gestionar datos no estructurados y facilitar la navegación. Los suscriptores deben poder encontrar los deportes que quieren ver de forma rápida y sencilla, ya sea en directo o consultando la biblioteca.
Fig. 3 — Aplicación móvil Fz Sports: listado de juegos On Demand
Fz Sports comenzó a buscar una base de datos no relacional que permitiera el almacenamiento de datos no estructurados, con la posibilidad de crecer y alinearse con el crecimiento de su negocio. “Buscábamos una base de datos ligera y fácil de usar, que fuera compatible con Javascript, microservicios y AWS. En nuestra búsqueda encontramos que la mejor base de datos para gestionar grandes volúmenes de tráfico era MongoDB", afirma Krynveniuk.
El equipo adoptó MERN stack; un framework de desarrollo web compuesto por MongoDB, Express.js, React.js y Node.js. MongoDB funciona como la capa de base de datos, con Express y los controladores de Node en medio como capa de aplicación, y React encima para crear la capa de presentación. La ventaja de este enfoque es que los desarrolladores pueden crear soluciones integrales utilizando una metodología estándar y una base digital básica.
Inicialmente, Fz Sports implementó MongoDB Community edition contaba con un equipo dedicado que gestionaba 12 bases de datos. Si bien este fue un paso fundamental para pasar de trabajar de forma relacional a una no relacional, no era el destino final. “MongoDB Community era una excelente herramienta para empezar, pero nos sentíamos limitados debido a la gestión manual. Teníamos un empleado a tiempo completo centrado exclusivamente en la gestión de la base de datos, cuando hubiéramos preferido tener a un equipo trabajando en mejorar la experiencia del usuario y la interfaz”, dice Krynveniuk.
El equipo decidió cambiarse a MongoDB Atlas, un servicio de base de datos totalmente gestionado que incluye asistencia y orientación sobre las mejores prácticas, así como mejores paneles, métricas y herramientas para optimizar el rendimiento. “Adoptamos una visión estratégica de optimización, centrándonos en los proyectos que tendrán un mayor impacto. Por ejemplo, trabajamos con MongoDB en un proyecto de un mes de duración para reorganizar la base de datos de autorizaciones y, como resultado, aumentamos el rendimiento en un 100%", comenta Krynveniuk. “Eso fue debido a tener una base de datos no estructurada y un gran apoyo de los ingenieros de MongoDB”.
Damian Krynveniuk, Vicepresidente de Ingeniería y Operaciones Técnicas, Fz Sports
MongoDB Atlas incorpora todas las funciones que Fz Sports necesita en su funcionamiento del día a día, gestionando los picos de demanda y ayudando a los suscriptores a encontrar rápidamente el contenido adecuado. Su capacidad para escalar un clúster de base de datos tanto vertical, como horizontalmente de forma ininterrumpida, e incluso como soporte de escala automática, demuestra ser particularmente potente y rentable.
El equipo utiliza capturas y dashboards en Atlas para hacer un seguimiento de los clientes de pago por evento e informar de las ventas al resto de la empresa. Estas capacidades en tiempo real ayudan a Fz Sports a planificar campañas de marketing y la activación de otros canales 25% más rápido que antes.
MongoDB Atlas Device SDKs se utiliza para gestionar los triggers de Fanatiz y trasladar los eventos de lógica de negocio a la base de datos para realizar consultas. Mantiene la información del perfil sincronizada al milisegundo y mantiene la consistencia entre ocho nodos que trabajan en paralelo con MongoDB. Esto también resulta útil para generar los dashboards.
Para cumplir con su prioridad de mejorar la experiencia del usuario, Fz Sports se apoya en las increíbles capacidades de búsqueda y almacenamiento de Atlas.
“Tenemos más de 10.000 partidos al año disponibles en nuestra plataforma, y estos deben estar disponibles para los suscriptores on-demand”, dice Krynveniuk. “MongoDB Atlas Search ayuda a nuestros suscriptores a encontrar rápidamente los juegos que quieren, y Online Archive mantiene la base de datos rápida, ágil y rentable, con contenido que se archiva después de dos años”. Online Archive ha reducido los costos de almacenamiento en un 40%.
El equipo actualmente está realizando una prueba de concepto con un motor de recomendación basado en Atlas Search. Utilizará IA y la función MoreLikeThis para recomendar proactivamente a los suscriptores contenidos que sean de su agrado basados en sus preferencias y su historial de búsqueda.
Fig. 4 — Aplicación móvil Fz Sports: calendario de juegos en vivo y próximos
Como pioneros en la adopción de nuevas tecnologías, Fz Sports asiste anualmente a talleres y sesiones de entrenamiento con MongoDB para mantener al personal actualizado y al tanto de las implementaciones recientes. El equipo elige cuáles funciones nuevas de Atlas van a poner a prueba, que les ayuden a generar un mayor impacto sobre la experiencia al cliente.
“Somos más productivos que nunca con MongoDB Atlas. Tiene una curva de aprendizaje rápida y es fácil incorporar nuevo personal porque es muy fácil de usar. Ya no necesitamos un gurú dedicado a las bases de datos porque tenemos el soporte de MongoDB. Podemos centrarnos en mejorar nuestros servicios sabiendo que tenemos la agilidad necesaria para hacer esos cambios", comenta Krynveniuk.
Fz Sports tiene las métricas para respaldar sus ganancias de productividad. Logró aumentar 50% su rendimiento al reestructurar uno de sus servicios, gracias a la implementación de MongoDB indexes, Online Archive y el uso de mejores prácticas del equipo de soporte. Si antes gestionar un gran número de espectadores simultáneos era un reto, ahora la empresa puede hacerlo sin necesidad de escalamiento adicional.
“MongoDB Atlas es una herramienta excepcional para todo lo que hacemos a través de dispositivos móviles, la web y la nube. Es vital contar con una base de datos transaccional rápida. Recomiendo altamente a MongoDB por ser un líder en su campo", concluye Krynveniuk.
Damian Krynveniuk, Vicepresidente de Ingeniería y Operaciones Técnicas, Fz Sports