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