Comment Familink a migré d’AWS vers Scaleway et divisé sa facture par deux
Familink a récemment migré l’intégralité de son infrastructure d’AWS à Scaleway. Apprenez de leur retour d'expérience comment stocker vos données en Europe.
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.
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.
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.
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.
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.
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 !
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.
Familink a récemment migré l’intégralité de son infrastructure d’AWS à Scaleway. Apprenez de leur retour d'expérience comment stocker vos données en Europe.