Maridav - stock.adobe.com
Le monitoring, un véritable sport pour la R&D de Sportall
Deux membres de l’équipe R&D de Sportall, éditeur d’une plateforme de production et de diffusion d’événements sportifs, expliquent comment la startup a mis en place la supervision de ses outils au service des utilisateurs finaux, les fans de sport en tout genre.
Fondée à Allauch dans les Bouches-du-Rhône en 2019, la startup Sportall s’engage sur un terrain peu couvert par les grandes chaînes de télévision : la diffusion des compétitions d’un maximum d’épreuves sportives.
À travers son offre, elle propose aux ayants droit sportifs les moyens pour diffuser des événements auprès des « fans » et membres de leur fédération respective. Sportall présente son offre comme un vecteur d’accroissement de la visibilité de tous les sports (athlétisme, rugby, cyclisme, freeride, squash, futsal, MMA, savate, natation, lutte, etc.) et un moyen d’attirer de nouveaux membres dans les associations.
La plateforme est à la croisée d’un CMS et d’une suite de gestion de flux de streaming. Sportall propose également aux fédérations de faire appel à son réseau de professionnels de l’audiovisuel capable de filmer et diffuser les événements sportifs. Par ailleurs, l’entreprise propose un kit, à savoir une ou plusieurs caméras associées à un système de diffusion.
Les fédérations ou les clubs peuvent ainsi filmer, diffuser en direct et proposer en replay des contenus vidéo. « Nous avons essayé de réduire au maximum les coûts de production, de la captation et de la diffusion », explique Thomas Fayoux, responsable R&D et gestion de produits chez Sportall. « Nous n’utilisons pas la diffusion satellite, mais les connexions Internet en exploitant les protocoles RTMP (Real Time Messaging Protocol) ou SRT (Secure Reliable Transport). Nous offrons aussi des outils de production à distance dans le cloud afin de pouvoir optimiser les coûts ».
Le streaming vidéo, le cœur de métier de Sportall
Une seule équipe de production peut par exemple gérer plusieurs matchs de rugby au cours d’un week-end à partir des flux de streaming obtenu par de petites équipes de captation au bord des terrains.
Cette méthode de production a déjà fait ses preuves. « Il y a deux ans, la fédération d’athlétisme orchestrait la production et la diffusion de deux à trois événements par an. L’année dernière, nous avons géré entre 30 et 40 événements pour un budget similaire », relate le responsable R&D et gestion de produits. « L’an dernier, nous avons couvert environ 1 000 événements sportifs en direct ».
Entre 40 et 50 fédérations sportives et clubs de sport utilisent la place de marché. Sportall a développé pour eux un back-office et une application Web et une application mobile IOS et Android. Les applications sont disponibles en marque blanche, personnalisées aux couleurs et selon les besoins des ayants droit. « Par exemple, la fédération d’Athlétisme propose des contenus dans Sportall, le site Web Athlé TV et l’application mobile associée », illustre Thomas Fayoux.
À la fin du mois de février 2023, Sportall comptait plus de 500 000 utilisateurs, 20 applications Web et trois apps mobiles.
« Notre architecture IT sert à automatiser la gestion de la production et de la diffusion des contenus sportifs », résume-t-il.
Dans le détail, Sportall utilise historiquement Google Cloud pour l’hébergement des back-end (NodeJS principalement) sur Kubernetes. L’entreprise utilise en revanche AWS pour les traitements vidéo, en s’appuyant sur la suite AWS Elemental. « Nous utilisons plusieurs services AWS comme Media Live pour créer des canaux RTMP. L’IP est envoyé à l’encodeur sur place pour recevoir le flux de l’événement », relate Gustave Pousse, responsable Infrastructure cloud & monitoring chez Sportall.
AWS MediaPackage est utilisé pour le « just in time packaging », à savoir la préparation des paquets vidéo pour différents formats de distribution, avant d’être envoyé vers CloudFront, le CDN d’AWS qui sert à diffuser les événements auprès des utilisateurs finaux. « Le flux parvient également à un prestataire pour réaliser de petits clips vidéo qui seront diffusés sur les réseaux sociaux des fédérations », précise Gustave Pousse.
Enfin, les contenus de vidéo à la demande sont, eux, stockés sur Amazon S3. « Ces services AWS ont largement fait leurs preuves », avance le responsable de l’infrastructure et du monitoring.
En sus des événements hebdomadaires ayant lieu le week-end, Sportall gère une activité saisonnière, météosensible et soumise aux aléas de la vie. « Nous couvrons souvent le Free Ride World Tour, [une compétition de freeride à ski, N.D.LR] qui est souvent décalée de quelques jours si les conditions météo ne sont pas au rendez-vous. Nous avons aussi dû faire face à l’annulation d’événements à cause de la guerre en Ukraine et du tremblement de terre en Turquie », détaille Thomas Fayoux.
Quand une épreuve sportive a lieu, il faut bien évidemment pouvoir superviser en quasi temps réel les back-end, la production et la diffusion des continus sportifs. « Nous avons des problématiques de performance liées au fait qu’un “live sportif” démarre à une certaine heure. Tous les utilisateurs reçoivent une notification et tentent de se connecter en même temps. Les pics de charge sont critiques. Le fait de récupérer les flux est aussi important : la diffusion peut s’arrêter à cause de problèmes sur site », liste-t-il.
Superviser « de bout en bout » les systèmes
« C’était important pour nous d’avoir une visibilité de bout en bout sur tout ce qui peut se passer de la production à la réception des contenus par les utilisateurs », insiste Gustave Pousse.
Gustave PousseResponsable Infrastructure cloud & monitoring, Sportall
Le responsable de l’infrastructure et du monitoring a fait le choix de déployer la plateforme de supervision de Datadog, en partie par habitude. « Cela fait environ sept ans que j’utilise Datadog. J’avais un avis tranché, mais j’ai tout de même pris le temps de tester d’autres solutions qui ne m’ont pas convaincu », poursuit-il. « C’est un outil en perpétuelle évolution qui nous a beaucoup aidés ».
Sportall a d’abord déployé les agents de la plateforme pour superviser ses conteneurs et ses instances serverless sur AWS. « Première chose, nous nous sommes attelés au déploiement du cluster agent sur Kubernetes grâce au Helm Chart fourni par Datadog, afin d’obtenir la consommation CPU et RAM de nos conteneurs », note Gustave Pousse. « Le système d’autodécouverte des logs nous a permis de collecter rapidement des informations concernant nos différents services déployés sur Kubernetes ».
Quelques jours plus tard, l’entreprise a mis en place l’APM pour traiter les traces en provenance des back-end. « Nous avons ainsi analysé les goulets d’étranglement tout en réalisant des stress tests, afin de mieux comprendre le comportement de nos back-end ».
Pour observer les applications côté front-end et l’expérience utilisateur, Sportall s’appuie sur la solution RUM (Real User Monitoring) de l’éditeur. « Nous avons fait directement la corrélation des traces RUM et APM pour pousser l’analyse un peu plus loin », ajoute Gustave Pousse.
Puis, Sportall a connecté son compte AWS CloudTrail à la solution CSPM de Datadog, à des fins de sécurité.
« Nous utilisons le service de Cloud Posture Management de Datadog depuis un peu plus de sept mois », informe le responsable infrastructure et monitoring. « Nous collectons des données sur nos différentes activités et nous vérifions si nos règles de conformité sont respectées sur AWS ».
L’équipe R&D de Sportall a conçu plusieurs tableaux de bord pour suivre le comportement de ses bases de données MongoDB et Redis, le nombre de paquets téléchargés via CloudFront lors des directs et depuis les flux VOD (Video On Demand, vidéo à la demande). « Cela nous permet de voir combien de gigaoctets de données ont été téléchargés lors d’un week-end ».
Les alertes sont là pour signifier les pertes de flux ou de connexion. « Nous avons aussi des alertes quand nous recevons trop d’erreurs 404 côté front-end et côté back-end, quand il y a beaucoup de redémarrage de conteneurs, les erreurs de montée en charge, ainsi que les problèmes de temps de latence côté Redis et MongoDB », indique Gustave Pousse.
Un tel déploiement demande parfois quelques ajustements. C’est le cas par exemple pour collecter les traces RUM. « Les bloqueurs de publicités détectent l’agent RUM. Au lieu de recevoir directement les traces RUM depuis le front-end, nous avons déployé un proxy, comme le recommande Datadog ». Un proxy dont il faut également surveiller la charge et qui dispose de sa propre alerte. « Cela nous arrive d’observer des temps de latence en hausse concernant la réception de ces traces », souligne le responsable.
Mener des enquêtes a posteriori
La plateforme est aussi utilisée à des fins d’investigation afin de comprendre ce qui a pu mal se produire lors d’un week-end.
« Sur un week-end, il va se passer beaucoup de choses », affirme Thomas Fayoux. « Nous allons superviser jusqu’à 25 directs par week-end. Nous n’avons pas obligatoirement le temps de comprendre tout ce qui se passe », signale Thomas Fayoux.
Thomas FayouxResponsable R&D et gestion de produits, Sportall
Les analyses en détail sont réalisées en début de semaine pour comprendre quels types de requêtes sont à optimiser pour améliorer l’expérience des équipes de diffusion et des utilisateurs finaux.
Cette prise de recul a permis de déterminer que la configuration par défaut de remontée d’informations depuis Media Live n’était pas satisfaisante. En l’occurrence, Media Live envoyait ses logs vers CloudWatch, l’outil de supervision d’AWS, qui lui-même envoyait ces données vers Datadog. De l’émission du log dans Media Live à sa visualisation dans la suite d’observabilité, il s’écoulait jusqu’à dix minutes. De son côté, Datadog propose de passer par le service de streaming Amazon Kinesis, mais là encore la latence est de deux à trois minutes.
Une remontée d’informations aussi longue n’était pas conforme aux exigences de Sportall. « Désormais, en cas de perte de signal, une notification est envoyée via EventBridge vers Datadog en 15 à 20 secondes », assure Thomas Fayoux.
Cette analyse post week-end a aussi permis d’optimiser la performance de la page d’accueil des sites Web.
« Nous avions une requête qui affiche la page d’accueil. Cette requête réclamait la totalité des données publiques et privées sur l’utilisateur », raconte Thomas Fayoux. « Datadog nous a permis de repérer ce problème, nous avons divisé la requête, puis mis en place une couche de cache pour charger les données publiques. Nous avons réduit la collecte de données privées au minimum, ce qui a permis d’accélérer l’accès à l’application Web ».
Le système, bien qu’en partie automatisé, nécessite de temps à autre l’intervention de l’équipe R&D le week-end. « Notre but dans la vie, c’est que nous n’ayons plus à surveiller le système le week-end. Nous n’y sommes pas encore. La plateforme Datadog est indispensable pour atteindre cet objectif », déclare Thomas Fayoux.
En attendant, les équipes de Sportall envisagent d’adopter un outil de gestion de l’astreinte comme Pagerduty au lieu d’utiliser systématiquement les outils de messagerie instantanée.
En ce moment, la R&D de Sportall s’intéresse aux outils de gestion de tests proposés par l’éditeur. « Cela nous permettrait de les connecter directement à nos dépôts Git afin d’avoir des analyses avant la mise en production », conclut Gustave Pousse.