“Aujourd’hui, on va quatre fois plus vite pour quatre fois moins cher” - Geoffrey Signorato, Webcastor

Webcastor, entreprise spécialiste en captation et streaming audiovisuel basée à Lyon, a migré chez Scaleway notamment pour profiter des Instances GPU essentielles pour l’accélération de l’encodage vidéo, l’une des tâches les plus importantes de ce secteur d’activité. Dans cette interview, Geoffrey Signorato, Technical Lead sur StreamFizz, la plateforme de gestion vidéo créée par Webcastor, explique en quoi Scaleway répond à tous ses besoins.

Pouvez-vous nous présenter Webcastor?

Geoffrey Signorato: Webcastor est un prestataire de l’audiovisuel spécialisé dans la captation de conférences et d’événements, et éditeur d’une plateforme vidéo SaaS à destination des professionnels, collectivités et administrations publiques. Fondée en 2003, la société compte une douzaine de salariés, principalement sur la région lyonnaise.

J’ai rejoint Webcastor en 2020, pour développer la solution SaaS StreamFizz, notre propre plateforme de streaming, qui a été conçue voici une dizaine d’années. Il était important pour nous d’avoir la main sur des fonctionnalités comme streamer en direct, ou envoyer un flux RTMP pour proposer une page de lecture dans une fenêtre dédiée, sans passer par Facebook ou YouTube, pour que le tout reste souverain.

Le fait que les données n’aillent pas aux Etats-Unis peut être un vrai argument client, notamment auprès des conseils régionaux avec lesquels nous travaillons. Nous comptons également des archivistes parmi nos clients ; ils sont rassurés par cet aspect français aussi.

Travailler avec de la vidéo nécessite quels services cloud ?

Nous avons surtout besoin d’encoder nos vidéos nous-mêmes, plutôt que de le faire chez AWS, ce qui revient à les mettre dans une boîte noire. Pour ce faire le plus rapidement possible, nous avons besoin de machines GPU qui tournent vite et bien. Nous utilisons des instances NVIDIA GPU-3070 pour ce faire.

Le stockage des fichiers vidéo doit être sur un cloud français, et accessible de n’importe où, donc avec les solutions Object Storage de Scaleway.

Ensuite, les données des utilisateurs sont gérées par des bases de données PostgreSQL; et des applications compute (PRO-S XXS) tournent sur des Instances chez Scaleway également.

Le tout tient dans une infrastructure Kubernetes, sur Kapsule, ce qui nous permet de définir des règles pour tout automatiser, par exemple pour ajouter automatiquement des clusters en période de charge extrême. Avant, on allumait les Instances nous-mêmes. Aujourd’hui, Kapsule nous a acheté une tranquillité. Il a juste fallu apprendre comment l’utiliser.

Enfin, nous utilisons également Container Registry, qui nous permet de stocker toutes nos images Docker ; et vos services Private Network / VPC.

Aujourd’hui, 90% de notre infrastructure est chez Scaleway ; on peut donc dire que nos besoins vidéo sur le cloud sont bien couverts !

Il reste juste la partie de notre player vidéo qui génère des stats : les logs brut sont chez Azure CosmosDB, qui va très vite et qui est fait pour ça. On souhaiterait migrer cette partie à moyen terme, idéalement vers Managed Document Database. Enfin, notre CDN est chez Bunny CDN parce que Scaleway n’en propose pas encore.

Pourquoi avez-vous migré chez Scaleway, et comment ?

Cela s’est passé en plusieurs étapes. A mon arrivée en 2020, les Instances et databases étaient déjà chez Scaleway.

En 2023, toutes nos vidéos, soit 20To de données, sont passées d’Azure à l’Object Storage de Scaleway.

Début 2022, on a commencé le grand projet consistant à tout passer sous l’environnement K8s de Scaleway. On a pris le temps d’apprendre, et de tout tester pour nos trois environnements : dev, beta et prod. Le dernier a fait sa transition en juin 2023. La même année, l’orchestrateur/encodeur a été développé pour intégrer l’ensemble dans l’environnement K8s. Cela nous a permis d’être plus performants et flexibles en termes d’encodage, car le système crée automatiquement de nouvelles Instances GPU si les besoins d’encodage augmentent.

Quels ont été les principaux challenges de ce passage à Kubernetes ?

La partie GPU est assez complexe au sein de K8s. Elle n’offre pas la même flexibilité que sur un CPU classique, notamment parce qu’un GPU ne peut pas se séparer. Donc notre premier défi était de reproduire dans K8s le scaling automatique qu’on avait avant (sans K8s).

Ensuite il fallait optimiser le coût, car les GPUs coûtent assez chers. Il faut donc être sûr que les Instances ne s’allument pas pour rien. Si une nouvelle vidéo apparaît à encoder, il faut attendre entre cinq et dix minutes pour qu’un GPU s’allume. Cette période est assez longue, et a nécessité énormément de tests entre nous et Scaleway.

Mais c’est finalement ce passage de CPUs aux GPUs pour l’encodage vidéo qui a fait toute la différence. Aujourd’hui, on va quatre fois plus vite pour quatre fois moins cher. Avant, nos CPUs coutaient la même chose par heure que les GPU, mais ils nous obligeaient à encoder les vidéos une par une. Avec des GPU, on peut encoder jusqu’à trois vidéos en parallèle par Instance, grâce à l’orchestration.

Le passage à l’Object Storage s’est moins bien passé, mais c’est plus une limite de S3 [que de Scaleway], et on a mis du temps à le maîtriser.

Quels seraient vos conseils à d’autres entreprises pré-migration ?

  1. Maîtriser la tech d’abord. Par exemple, nous n’avions ni les compétences ni les ressources en DevOps ou Kubernetes. Nous avons dû apprendre les bases, et nous avons réussi à tout migrer sans être des experts. Aujourd’hui, notre infrastructure est beaucoup plus fiable : nous n'avons eu qu'un seul service down depuis deux ans. Autrement on reste largement sur du 99.9% SLA
  2. Avoir une vision sur le papier de l’architecture que l’on souhaite, au moins les grandes lignes. Ensuite, on affine petit à petit, puis on met en application
  3. Ne pas aller trop vite, par exemple avec du code copié-collé ; ne pas laisser de zone d’ombre !

Comment avez-vous trouvé le service support de Scaleway ?

C’est le seul point optimisable. Il s’agissait de la première fois que Scaleway a dû accompagner un passage à Kubernetes avec des GPUs de cette façon. Il y a donc eu pas mal d’allers-retours, d’autant qu’il a été démontré depuis qu’il fallait réparer certains éléments des drivers NVIDIA. Mais nous avons fini par y arriver !

Avez-vous payé des frais de sortie (egress fees) à votre ancien fournisseur ?

Oui, nous avons payé à peu près €2000 à Azure pour exporter nos 20To de vidéo. Le stockage chez Scaleway coûte deux à trois fois moins cher qu’avec Azure. Et le manque d’egress fees internes chez vous est très appréciable.

Quels seront vos next steps sur le cloud ?

  1. Migrer notre database chez Scaleway depuis Azure : j’avais essayé Serverless SQL Database, ce serait mieux d’avoir un service qui scale automatiquement
  2. Migrer notre CDN vers Scaleway lorsque ce sera disponible chez vous
  3. Essayer les nouvelles Instances GPU L4 de NVIDIA, qui correspondent bien à l’encodage vidéo. Facturer à la minute est beaucoup plus avantageux pour nous qu’à l’heure, où chaque heure commencée est due
  4. Tester vos réseaux privés : c’est important qu’on minimise les portes d’entrée contre le hacking. On est très attentif à cela, ça peut être catastrophique pour une boite comme la nôtre (de plus, Azure est une vraie usine à gaz sur ce point).

Articles recommandés