Le Blog Amazon Web Services

Réduisez votre impact environnemental avec AWS – Partie I : Le calcul

Alors que nos clients alignent leurs activités sur des pratiques durables, il est important d’examiner chaque domaine fonctionnel. Si vous construisez, déployez et maintenez une stack informatique, l’amélioration de son impact environnemental nécessite une prise de décision éclairée.

Cette série d’articles en trois parties fournit des stratégies pour optimiser votre architecture AWS pour la durabilité en matière de calcul, de stockage et de mise en réseau.

Dans cette première partie nous fournissons des critères de réussite et des métriques pour les responsables informatiques et des conseils pratiques pour les architectes/développeurs sur la façon d’ajuster la couche de calcul de votre infrastructure AWS pour la durabilité. Pour vous aider à atteindre cet objectif, nous fournissons des métriques clés, illustrons les services et outils couramment utilisés, fournissons des informations sur leur analyse avec Amazon CloudWatch et fournissons les principales étapes pour les améliorer.

Notre engagement pour des pratiques durables

Chez AWS, nous nous engageons à gérer notre entreprise de la manière la plus respectueuse de l’environnement possible. Nous travaillons également pour permettre à nos clients d’utiliser les avantages du Cloud pour mieux surveiller et optimiser leur infrastructure informatique. Comme indiqué dans le rapport de 451 Research, Économiser de l’énergie en Europe avec Amazon Web Services, notre infrastructure est cinq fois plus économe en énergie qu’un data-center moyen d’une entreprise européenne. En France, le rapport révèle que l’économie d’énergie peut atteindre 78 % si les entreprises migrent leur applications dans le Cloud AWS.

Cela dit, la durabilité est une responsabilité partagée entre AWS et nos clients. Comme le montre le schéma ci-dessous, nous optimisons la durabilité du cloud, tandis que les clients sont responsables de la durabilité dans le cloud, ce qui signifie qu’ils doivent optimiser leurs environnements et l’utilisation des ressources.

Figure 1. Modèle de responsabilité partagée pour la durabilité

Pour réduire la quantité d’énergie dépensée par votre application, vous devez utiliser vos ressources de manière efficace. « L’énergie la plus verte est l’énergie que nous n’utilisons pas » a déclaré Peter DeSantis, Vice-Président d’AWS Global Infrastructure. Mais lorsque nous devons le faire, utiliser le moins de ressources possible et les utiliser au maximum entraînera le moins d’impact sur l’environnement. Traduire cela dans vos décisions d’architecture signifie que plus votre architecture est efficace, plus elle sera durable.

Nous reconnaissons que chaque architecture AWS est différente et qu’il n’existe pas de solution unique. Par conséquent, gardez à l’esprit que vous devez d’abord évaluer si les recommandations proposées correspondent à vos besoins spécifiques.

Optimiser la couche de calcul de votre infrastructure AWS

Les services de calcul constituent la base des applications de nombreux clients, ce qui offre un grand potentiel d’optimisation. Lorsque vous examinez la proportion énergétique du matériel (le rapport entre la puissance consommée et l’utilisation), un serveur inactif consomme toujours de l’énergie comme démontré dans l’étude de Luiz André Barroso et Urs Hölzle sur la proportionnalité énergétique (étude en anglais). Ainsi, vous pouvez améliorer l’efficacité de votre environnement en utilisant le moins de ressources de calcul et en atteignant une utilisation élevée. La mise en œuvre des recommandations des sections suivantes vous aidera à utiliser les ressources plus efficacement et à réduire les coûts.

Réduire les ressources inactives et maximiser l’utilisation

La proportionnalité énergétique du calcul : une nouvelle définition (étude en anglais) indique que l’utilisation des ressources de calcul doive être maximisées, en moyenne de 70 à 80 %. En effet, l’efficacité énergétique diminue rapidement à mesure que les performances diminuent. Le tableau suivant présente les services de calcul les plus utilisés, les métriques qu’ils mesurent et leurs guides d’utilisation associés.

Services Métriques Source
Amazon Elastic Compute Cloud (Amazon EC2)

CPUUtilization

Nombre total de vCPU

Répertorier les métriques CloudWatch disponibles pour vos instances

Surveiller vos instances à l’aide de CloudWatch

Amazon Elastic Container Service (Amazon ECS) CPUUtilization Métriques et dimensions disponibles
Amazon EMR IsIdle Surveillance des métriques avec CloudWatch

Vous pouvez surveiller ces métriques avec l’architecture illustrée à la figure 2. CloudWatch fournit une vue unifiée de vos métriques de ressources.

Figure 2. CloudWatch surveille vos ressources de calcul

Avec un rapport d’utilisation et de coût AWS, vous pouvez comprendre votre utilisation des ressources. AWS Usage Queries, comme illustré à la figure 3, est un exemple de solution qui fournit un modèle AWS Cloud Development Kit (AWS CDK) pour créer, stocker, interroger et visualiser votre rapport d’utilisation et de coût AWS.

Figure 3. Rapport d’utilisation et de coût AWS pour la surveillance de vos ressources de calcul

Nous recommandons les services et outils suivants pour réduire les ressources inactives et optimiser l’utilisation.

  • Intégrez Amazon EC2 Auto Scaling. La configuration d’Amazon EC2 Auto Scaling permet à votre application d’évoluer automatiquement en fonction de la demande.
  • Optimisez les ressources avec AWS Cost Explorer et AWS Graviton. Lorsque vous choisissez un type d’instance, vous devez tenir compte des exigences de votre application.
    • Envisagez d’utiliser des instances T, qui offrent des performances extensibles, si votre environnement présente plusieurs pics imprévisibles. Cela réduit le besoin de sur-provisionner la capacité
    • Utilisez AWS Cost Explorer pour voir des recommandations de dimensionnement adaptées à votre environnement. Il met en évidence les opportunités de réduction des coûts et d’amélioration de l’efficacité des ressources en réduisant les instances lorsque cela est possible.
    • Améliorez l’efficacité énergétique de votre environnement de calcul en passant à des instances basées sur Graviton. Graviton est notre processeur le plus économe en énergie. Graviton2 offre des performances CPU par watt 2 à 3,5 fois supérieures à celles de tout autre processeur AWS. De plus, Graviton2 offre un rapport performances/ prix jusqu’à 40 % supérieures à celles des instances x86 de la génération actuelle comparables pour diverses applications. Les processeurs AWS Graviton3 offrent jusqu’à 25 % de performances de calcul en plus, jusqu’à deux fois plus de performances en virgule flottante et jusqu’à deux fois plus de performances de charges de travail cryptographiques par rapport aux processeurs AWS Graviton2.
  • Adoptez une architecture serverless et pilotée par les événements. Envisagez d’adopter une architecture serverless basée sur les événements pour optimiser l’utilisation globale des ressources. Une architecture serverless vous permet de créer et d’exécuter des applications sans avoir à en gérer l’infrastructure. Ces dernières tournent toujours sur des serveurs, mais leur gestion est assurée AWS . Étant donné que le coût des architectures serverless est généralement en corrélation avec le niveau d’utilisation, la rentabilité de votre environnement s’améliorera.
    • Pour les charges de travail asynchrones, utilisez une architecture pilotée par les événements afin que le calcul ne soit utilisé qu’en cas de besoin et non dans un état inactif pendant l’attente.

Adapter la demande à l’offre existante

Contrairement à l’adéquation de l’offre à la demande via des méthodes telles que la mise à l’échelle automatique, vous pouvez façonner la demande pour qu’elle corresponde à l’offre existante. Cette stratégie est particulièrement utile pour les charges de travail flexibles où l’heure exacte d’exécution d’une certaine opération n’est pas importante. Cela peut inclure une tâche planifiée récurrente qui s’exécute pendant la nuit ou une charge de travail qui peut être interrompue.

Nous recommandons les services et outils suivants pour adapter la demande à l’offre existante :

  • Utilisez les Amazon EC2 Spot Instances. Les instances Spot tirent parti de la capacité EC2 inutilisée dans le cloud AWS. En adaptant votre demande à l’offre existante de capacité d’instance EC2, vous améliorerez l’efficacité globale de vos ressources et réduirez la capacité inactive.
    • Les instances Spot vous permettent d’économiser jusqu’à 90 % des coûts par rapport aux instances à la demande.
    • Utilisez les instances Spot pour les applications tolérantes aux pannes, flexibles et sans état qui peuvent être interrompues.
  • Appliquez de la variabilité aux tâches planifiées. Évitez les pics de charge en appliquant de la variabilité aux tâches planifiées et déplacez les charges de travail flexibles dans le temps.
    • Évaluez si vos tâches planifiées peuvent être distribuées pour s’exécuter à un moment aléatoire pendant l’heure.
    • Évitez d’utiliser 0 comme minute de début des tâches planifiées. Il s’agit de la valeur par défaut commune. Utilisez plutôt un nombre compris entre 2 et 58 pour définir la minute de début des tâches planifiée, ceci permettra de lisser la charge dans le temps et d’éviter les pics de charges.

Conclusion

Dans cet article, nous avons illustré des métriques clés et des actions recommandées que vous pouvez entreprendre pour optimiser votre infrastructure AWS pour l’efficacité des ressources. Cela améliorera à son tour la durabilité de vos ressources de calcul.

Au fur et à mesure que votre entreprise se développe, il est naturel que des métriques telles que « Heures vCPU totales » augmentent. C’est pourquoi il est important de suivre ces mesures par unité de travail, telles que le nombre de vCPU pour 100 utilisateurs ou transactions. De cette façon, les KPI que vous mesurez sont indépendants de la croissance de votre entreprise.

Dans la prochaine partie de cette série, nous vous indiquerons comment optimiser la partie stockage de votre infrastructure informatique pour une plus grande durabilité dans le cloud !

Article contribué par Imane Zeroual, Senior Technical Account Manager, et Hamza Mimi, Principal Solutions Architect dans les équipes AWS France.