Table des matiĂšres

Comment GoPro a réduit ses coûts en utilisant Amazon ECS

comment gopro a reduit ses couts en utilisant amaz 1 0 27629

Depuis sa crĂ©ation en 2002, GoPro s’est imposĂ©e comme un acteur incontournable dans la capture et le partage de contenus visuels immersifs et passionnants. GrĂące Ă  ses camĂ©ras polyvalentes et ses outils logiciels innovants, l’entreprise a su conquĂ©rir le cƓur de millions d’utilisateurs Ă  travers le monde.

Mais ce n’est pas tout. GoPro propose Ă©galement un service d’abonnement qui offre un stockage cloud illimitĂ©, la crĂ©ation automatique de vidĂ©os, des capacitĂ©s de montage pratiques, du live streaming et le partage direct de contenus vers les rĂ©seaux sociaux. Soutenu par AWS (Amazon Web Services), ce service gĂšre d’énormes volumes de donnĂ©es vidĂ©o chaque mois pour environ 2,5 millions d’abonnĂ©s.

Dans cet article, dĂ©couvrez comment GoPro a rĂ©ussi Ă  optimiser son pipeline de transcodage de mĂ©dias Ă  grande Ă©chelle en utilisant Amazon ECS (Elastic Container Service) et des instances Spot Amazon EC2, rĂ©duisant ainsi considĂ©rablement ses coĂ»ts tout en augmentant l’efficacitĂ© de ses processus.

Une infrastructure exigeante et en constante Ă©volution

Pour rĂ©pondre aux besoins croissants de ses abonnĂ©s et aux volumes importants de contenus gĂ©nĂ©rĂ©s par les utilisateurs, GoPro a mis en place un pipeline de transcodage et de traitement des mĂ©dias propriĂ©taire. Ce pipeline, qui nĂ©cessite une capacitĂ© de calcul significative, commence dĂšs l’ingestion de contenu dans Amazon S3. Des tĂąches de prĂ©traitement rĂ©cupĂšrent les mĂ©tadonnĂ©es, la rĂ©solution et les informations sur les codecs afin de crĂ©er des miniatures vidĂ©o.

Diverses tĂąches de transcodage fonctionnent sur diffĂ©rents clusters Amazon ECS, des conteneurs Docker, et des builds personnalisĂ©s de FFmpeg sur Amazon EC2. D’autres outils propriĂ©taires sont utilisĂ©s pour le traitement vidĂ©o et audio, le format de mĂ©tadonnĂ©es GPMF (GoPro Metadata Format), ainsi que le dĂ©muxage et le muxage sur Amazon EC2.

Face Ă  l’augmentation du nombre d’abonnĂ©s et des volumes de contenus gĂ©nĂ©rĂ©s, GoPro a ressenti le besoin de disposer d’un pipeline de traitement de contenu plus adaptatif et d’une infrastructure Ă©volutive. Pour gĂ©rer les fluctuations de capacitĂ© de calcul lors du transcodage, GoPro a mis en place un auto-scalage des instances, garantissant ainsi Ă©lasticitĂ© et Ă©volutivitĂ©.

Étant donnĂ© que le workflow de transcodage est asynchrone et pilotĂ© par des messages et des Ă©vĂ©nements, plusieurs tĂąches peuvent s’exĂ©cuter en parallĂšle, offrant une grande efficacitĂ© et tolĂ©rant les interruptions.

Économies et optimisation grĂące aux instances Spot d’Amazon EC2

La solution trouvée par GoPro pour réduire les coûts tout en maintenant des performances optimales a été de déployer son cluster Amazon ECS sur des instances Spot Amazon EC2. Cette stratégie a permis de réaliser des économies de 50 % à 70 % par rapport aux dépenses en instances à la demande, avec des réductions pouvant atteindre 90 %.

L’entreprise a intĂ©grĂ© des pratiques exemplaires pour l’utilisation des instances Spot, notamment la diversification et l’exploitation de plusieurs pools de capacitĂ©. En adoptant la stratĂ©gie d’allocation optimisĂ©e pour la capacitĂ©, GoPro a pu minimiser la frĂ©quence des interruptions des instances Spot. L’automatisation via des scripts Terraform a facilitĂ© le drainage automatisĂ© des instances Spot interrompues.

La sĂ©lection des types d’instances basĂ©e sur les attributs pour les clusters Amazon ECS et l’utilisation d’instances CPU et GPU dans des groupes d’auto-scaling ont Ă©galement contribuĂ© Ă  l’optimisation de l’infrastructure.

Des fonctionnalités pour une résilience accrue

La rĂ©silience du workflow est assurĂ©e par des fonctions Lambda. Par exemple, un Ă©vĂ©nement AutoScaling Group ScaleIn CloudWatch dĂ©clenche une fonction Lambda pour drainer les instances en cours de rĂ©siliation. Une autre fonction Lambda est activĂ©e par les avertissements d’interruption des instances Spot EC2. Les mĂ©triques des instances Spot sont Ă©galement collectĂ©es par une autre fonction Lambda dĂ©clenchĂ©e par les Ă©vĂ©nements InstanceTerminated, RunInstances, et EC2 Spot Interruption.

GoPro surveille l’ensemble du workflow grĂące Ă  un tableau de bord personnalisĂ© alimentĂ© par AWS Lambda, offrant une visibilitĂ© sur les taux d’interruption des instances Spot, les types d’instances et d’autres statistiques connexes. AprĂšs avoir intĂ©grĂ© les instances Spot Amazon EC2 et architecturĂ© pour les interruptions potentielles, GoPro exĂ©cute plus de 70 % de toutes ses charges de travail conteneurisĂ©es sur des instances Spot, ce qui se traduit par des Ă©conomies importantes.

L’utilisation des instances Spot Amazon EC2 a permis Ă  GoPro de tirer parti des ressources de calcul de maniĂšre Ă©conomique tout en amĂ©liorant son processus de transcodage Ă  grande Ă©chelle. En optimisant son infrastructure, l’entreprise a rĂ©ussi Ă  rĂ©duire ses coĂ»ts tout en maintenant un service de haute qualitĂ© pour ses abonnĂ©s. Pour ceux qui souhaitent en savoir plus sur la maniĂšre de maximiser l’efficacitĂ© de leurs propres infrastructures cloud, les instances Spot d’Amazon EC2 offrent une excellente opportunitĂ©.

Retour en haut