Le Blog Amazon Web Services

Comment Ateme optimise les coûts et les performances de son Cloud DVR avec Amazon S3

Optimiser les coûts et les performances du stockage avec Amazon Simple Storage Service (Amazon S3) est un défi majeur pour de nombreuses entreprises. Ateme, le leader mondial des solutions de compression, diffusion et streaming vidéo, partage son retour d’expérience sur la façon dont son produit « Cloud DVR » permet aux téléspectateurs d’enregistrer leurs programmes préférés tout en réduisant les coûts et en améliorant les performances du stockage grâce à Amazon S3. Découvrez comment Ateme et AWS ont développé ensemble une solution cloud native tirant parti des fonctionnalités avancées d’Amazon S3 comme Amazon S3 Intelligent-Tiering, les bonnes pratiques autour de la stratégie au niveau préfixes et le « byte-range fetching ».

Définir les exigences des applications

Avant de choisir les bonnes options de stockage sur Amazon S3, il est essentiel de bien comprendre les besoins de vos applications en termes de disponibilité, durée de stockage, taille/capacité, performances, fréquence d’accès et distribution de contenu. Pour sa solution de Cloud DVR, Ateme a dû identifier des exigences clés.

Comme l’explique Chrys Le Gall, Global Leader Cloud Solutions Architecture chez Ateme :

« Nous gérons plus de 100 pétaoctets de vidéos sur Amazon S3, avec un débit de streaming de plus de 10 Tbps. C’est l’équivalent de 1100 années de vidéos bout à bout ! Un de nos défis était de pouvoir gérer les pannes, avec parfois un disque qui tombe en panne chaque jour. »


Figure 1 : Comprendre comment les applications d’Ateme consomment les ressources Amazon S3

Optimiser les coûts avec les classes de stockage S3

Amazon S3 propose plusieurs classes de stockage adaptées à différents cas d’usage, modèles d’accès et durées de rétention. Le choix dépend notamment de la fréquence d’accès aux données, de la durée de stockage souhaitée et de la taille des objets stockés sur Amazon S3.

Selon le modèle d’accès à vos données, deux approches peuvent être utilisées pour optimiser les coûts. Si le modèle d’accès à vos données est connu ou prévisible, vous pouvez utiliser les politiques de cycle de vie pour transiter vos données entre les classes de stockage qui répondent au mieux aux exigences de vos applications. Mais la majorité des données ont un modèle d’accès inconnu ou imprévisible. Dans ce cas, Amazon S3 intelligent-Tiering est la solution recommandée pour réaliser des réductions de coûts de façon automatisée.

Ateme a opté pour une approche en deux temps : utiliser d’abord Amazon S3 Intelligent-Tiering pour un modèle de consommation initialement inconnu, puis définir des politiques de cycle de vie plus fines par la suite. L’entreprise a ainsi pu faire migrer automatiquement les données vers les classes les moins coûteuses (S3 Standard-IA et S3 Glacier Instant Retrieval) au fil du temps.


Figure 2 : Optimisation des classes de stockage d’Amazon S3

« Grâce à Amazon S3 Intelligent-Tiering, nous n’avons pas eu à nous soucier du modèle d’accès de nos données dès le départ. Le service s’en est chargé pour nous de façon transparente», commente Chrys Le Gall.

L’utilisation d’Intelligent Tiering permet à Ateme de réduire les coûts d’Amazon S3 de 25% par rapport à l’utilisation du tier Amazon S3 Standard. Une fois le modèle d’usage connu, l’utilisation de lifecycle policies plus fine permet de diminuer les coûts de 5 à 10% de plus.

Optimiser les performances

L’élasticité d’Amazon S3 permet de gérer des charges de travail volumineuses.

Mais pour en tirer pleinement parti, il faudrait prendre en considération quelques aspects très importants, comme l’aménagement de votre espace clé, l’amélioration du débit de transfert des données dans et depuis Amazon S3, ou encore la réduction des latences de vos requêtes.

Ateme gère plus de 100 Po de vidéos dans S3, et en termes de streaming vidéo cela représente plus de 10 Tbps de débit.

Ateme a donc mis en place plusieurs techniques pour améliorer les performances de son application:

Augmentation du nombre de préfixes

Comme indiqué dans la documentation sur l’optimisation des performances, votre application peut atteindre au moins 3 500 demandes PUT/COPY/POST/DELETE ou 5 500 demandes GET/HEAD par seconde par préfixe Amazon S3 partitionné. Or, l’application “Cloud DVR” a besoin d’écrire 4000 requêtes de PUT par seconde et 18 000 requêtes de GET par seconde.

Ateme a pu contourner cette limitation en ajoutant l’identifiant de la chaîne TV (aka “channel ID”) plus tôt dans les préfixes ce qui a permis d’augmenter le nombre de préfixes. Cela a permis de mieux répartir la charge de lecture et de réduire le nombre de requêtes GET par préfixe.

Agrégation de multiples objets en conteneurs pour réduire le nombre d’objets

Ateme a regroupé des profils vidéos, des pistes audio, les sous-titres associés, les métadonnées dans un seul méta objet qu’ils ont appelé un conteneur. Cela permet de manipuler moins d’objets pour S3 mais de plus grande taille. Ils ont divisé ainsi le nombre de requêtes par 12 et ils ont descendu à environ 350 requêtes PUT par seconde.


Figure 3 : Utilisation de conteneurs pour réduire les coûts d’Amazon S3

Utilisation du Byte-Range Fetch

Lorsqu’un utilisateur est sur son téléphone ou sa télévision et veut regarder une vidéo, l’application Cloud DVR va créer la liste pour la session de l’utilisateur qui contient tous les éléments nécessaires pour pouvoir regarder le flux vidéo. L’application de Cloud DVR fait une requête HEAD vers Amazon S3 pour lister tous les sous-objets de leur conteneur et elle va faire un ‘Byte-Range Fetch’ pour récupérer seulement les morceaux de vidéo, audio, sous titres dont ils ont besoin.

En utilisant cette technique Ateme a pu réduire le débit de sortie d’Amazon S3 de 50%.

Surveiller et optimiser en continu : Garder une visibilité à 360° sur son stockage

Afin de pouvoir optimiser les coûts et les performances du stockage de vos données sur Amazon S3 il est important de disposer des informations nécessaires vous permettant d’avoir une visibilité globale sur votre stockage Amazon S3. Pour cela, Amazon S3 offre un catalogue complet d’outils vous permettant d’avoir accès à des données et des métriques critiques.

Par exemple, vous pouvez utiliser Amazon S3 Storage Lens pour identifier les opportunités de réduction de coûts en ayant accès à des métriques comme le pourcentage d’objets ayant des versions non courantes. Si vous avez besoin d’avoir une visibilité avec une granularité au niveau de l’objet, vous pouvez utiliser Amazon S3 Inventory en combinaison avec Amazon Athena pour, par exemple, identifier la distribution des objets à travers les niveaux d’accès d’Amazon S3 Intelligent-Tiering.

Pour garder le contrôle sur ses coûts et performances de stockage, Ateme s’appuie sur les outils de monitoring et d’analyse d’AWS comme Amazon S3 Storage Lens.

« Amazon S3 Storage Lens nous a permis d’avoir une vue agrégée sur plus de 100 buckets S3 en utilisant Storage Class Analysis. Nous avons pu analyser finement l’utilisation de nos classes de stockage et redéfinir nos politiques de cycle de vie en conséquence », explique Chrys Le Gall.

Conclusion

Dans ce blog, nous avons exploré les différentes techniques mises en place par Ateme pour optimiser les coûts et les performances de son stockage vidéo sur Amazon S3. En tirant parti des différentes classes de stockage, en structurant intelligemment ses objets, l’entreprise a réussi à réduire ses coûts tout en améliorant les performances de sa solution de Cloud DVR.

« Migrer notre Cloud DVR sur AWS nous a apporté une mise à l’échelle que nous n’aurions pas pu avoir en on-premise. Nous pouvons ajouter des dizaines de nouvelles chaînes sans nous soucier des délais d’approvisionnement de nouveaux serveurs. » – Chrys Le Gall

Ces bonnes pratiques peuvent être reproduites par d’autres entreprises souhaitant tirer le meilleur parti d’Amazon S3, quel que soit leur secteur d’activité. N’hésitez pas à approfondir le sujet en consultant la documentation détaillée sur les classes de stockage S3, l’optimisation des performances ou encore l’outil d’analyse S3 Storage Lens.

Pour aller plus loin, vous pouvez revoir la session complète dispensée lors de l’AWS Paris Summit 2024 : « Optimisez les coûts et les performances du stockage avec Amazon S3 » pour découvrir d’autres conseils et retours d’expérience d’Ateme.

Enfin, si vous souhaitez aller plus loin dans la maîtrise d’Amazon S3, AWS propose un workshop dédié pour vous former aux fonctionnalités avancées du service.

Iryna Oliinykova

Iryna Oliinykova

Iryna Oliinykova est une Solutions Architect AWS qui travaille en étroite collaboration avec les clients Media et Divertissement en France. Ayant un background d’ingénieure système et en s’appuyant sur une connaissance approfondie du domaine des médias, elle aide les clients de ce secteur à adopter de manière transparente les technologies cloud pour atteindre leurs principaux objectifs commerciaux et stimuler l’innovation.

Meriem Belhadj

Meriem Belhadj

Meriem Belhadj est Architecte Solutions spécialiste du stockage chez AWS. Avec son expérience de 18 ans dans le domaine de l’Infrastructure et notamment dans le domaine du stockage on-prem et dans le cloud, Meriem est dévouée à aider ses clients à optimiser le stockage de leurs données et à les protéger.