Modifier

Mesurer la durabilité des applications Azure en utilisant le score SCI

Azure Monitor
Azure Automation
Azure Logic Apps
Stockage de table Azure
Power BI

Cet exemple de charge de travail vous aide à créer un modèle de durabilité basé sur les proxys disponibles. Ce modèle permet de calculer le score de l’efficacité carbone d’une application. Ce score SCI (Software Carbon Intensity, Intensité carbone du logiciel) fournit une base de référence pour la mesure des changements dans la production de carbone d’une application.

Notes

En plus du dioxyde de carbone, d’autres gaz à effet de serre ont différents effets sur l’environnement. Par exemple, une tonne de méthane a le même effet sur le réchauffement que 80 tonnes de dioxyde de carbone. Par convention, cet article normalise tout en utilisant la mesure Équivalent CO2. Les références au carbone signifient toujours l’équivalent CO2.

Architecture

Diagramme de la création d’un modèle de durabilité basé sur les proxys disponibles, qui évalue l’impact carbone d’une application.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. Configurez les sources de données d’application à utiliser pour calculer le score SCI.
  2. Enregistrez les données dans Stockage Table Azure, dans un compte de stockage Azure.
  3. Utilisez des gestionnaires d’événements pour calculer le score SCI. Les gestionnaires d’événements peuvent inclure Azure Functions, Azure Logic Apps et Stockage Blob Azure. Le score correspond à la quantité de carbone émise en grammes par unité, où l’unité fait référence au facteur de mise à l’échelle de l’application ou à une approximation de celui-ci en utilisant des proxys.
  4. Utilisez des runbooks Azure Functions, Logic Apps et Automation pour déclencher la mise en forme de la demande sur l’application ou pour lancer le mode éco prédéfini de l’application.
  5. Utilisez Power BI pour les rapports et la visualisation du score au fil du temps.

Components

  • Le Tableau de bord de l’impact des émissions pour Azure vous aide à mesurer vos émissions cloud et votre potentiel d’économies en carbone. Il fait le suivi des émissions directes et indirectes de gaz à effet de serre liées à l’utilisation du cloud.
  • Application Insights est une extension d’Azure Monitor qui fournit des fonctionnalités de supervision des performances des applications (APM, Application Performance Monitoring). Application Insights vous permet de comprendre comment les personnes utilisent votre application. Utilisez ces connaissances pour améliorer l’efficacité des applications.
  • Stockage Table Azure est un service qui stocke des données structurées non relationnelles, également appelées données NoSQL structurées. Il fournit un magasin de clés/attributs avec une conception sans schéma. Pour de nombreux types d’applications, l’accès aux données de Stockage Table est rapide et économique. Stockage Table est généralement moins onéreux que le SQL traditionnel pour des volumes de données similaires.
  • Azure Logic Apps est une plateforme sur laquelle vous pouvez créer et exécuter des workflows automatisés avec peu ou pas de code. En utilisant le concepteur visuel et en sélectionnant parmi des opérations prédéfinies, vous pouvez créer rapidement un workflow qui intègre et gère vos sources proxy, votre stockage de données et des systèmes de calcul de l’efficacité.
  • Azure Functions est une solution serverless qui vous permet d’écrire moins de code, de maintenir une infrastructure plus légère et de réduire les coûts. L’infrastructure cloud fournit toutes les ressources à jour nécessaires pour conserver vos applications en fonctionnement.
  • Power BI peut transformer des données en analyses et en rapports qui fournissent des insights en temps réel. Que vos données soient basées sur le cloud ou locales, Azure et Power BI disposent des fonctionnalités d’intégration et de connectivité pour donner vie aux visualisations et aux analyses.

Autres solutions

Vous pouvez remplacer les services Azure utilisés dans ce document par des services similaires. Pour effectuer le calcul avec un effet minimal sur votre infrastructure, et pour augmenter la densité et l’utilisation des ressources existantes, utilisez des services ou des outils Azure déjà déployés dans votre environnement :

  • Au lieu de tableaux de bord Power BI, utilisez des workbooks Azure Monitor ou des services Azure Managed Grafana.
  • Pour Application Insights, vous pouvez y substituer un autre outil APM, comme Elasticsearch ou Open APM.
  • Vous pouvez enregistrer des tables de données en utilisant un autre système d’enregistrements, comme MySQL ou MariaDB.
  • Si vous avez des applications Azure Functions ou des applications Logiques en cours d’exécution, envisagez de lancer le calcul régulièrement à partir de déploiements existants.
  • Si les ressources de l’application sont réparties entre plusieurs groupes de ressources, utilisez des étiquettes pour mettre en corrélation les données des coûts et calculer la quantité de carbone émise par l’application.

Détails du scénario

Ces sections décrivent les détails nécessaires pour calculer une base de référence pour mesurer les changements dans la production de carbone.

Sources de données

Essayez de bâtir une équation de proxys qui a peu de variables. Choisissez des métriques de proxy qui représentent le comportement et les performances de l’application. Cet exemple utilise les variables suivantes :

  • L’émission en carbone de l’infrastructure, provenant du Tableau de bord de l’impact des émissions pour Azure
  • Le coût de l’infrastructure, mesuré en dépenses quotidiennes ou mensuelles par groupe de ressources, provenant de Microsoft Cost Management
  • Métriques de performances et de mise à l’échelle de l’application provenant d’Application Insights :
    • Nombre d’utilisateurs, d’appels d’API ou de requêtes de serveur connectés à l’application
    • Utilisation du processeur
    • Utilisation de la mémoire
    • Temps de réponse pour l’envoi ou la réception

Pour obtenir un tutoriel sur la configuration d’Application Insights pour les métriques, consultez SDK Application Insights pour les applications ASP.NET Core.

Vous pouvez ajouter d’autres variables à l’équation, par exemple :

  • Émissions carbone des services d’infrastructure et de périphérie
  • Heure à laquelle les utilisateurs se connectent, car la production et la demande d’électricité varient dans le temps
  • Toute autre métrique particulière de l’application qui peut expliquer comment ses performances changent au fil du temps

La création de cette équation pour aboutir à un score qui peut également refléter le nombre d’utilisateurs représente l’approximation la plus proche d’un score carbone. Cette valeur est le point de référence pour les modifications et les améliorations apportées à la durabilité de l’application.

Un autre facteur à prendre en compte pour les performances de l’application est le coût. Dans la plupart des cas, il existe une corrélation directe entre l’efficacité des performances et les économies de coûts et de carbone.

Description Conclusion
Les performances sont plus élevées, mais les coûts sont les mêmes L’application est optimisée et les émissions de carbone sont réduites
Les coûts sont inférieurs, mais les performances sont les mêmes L’application est optimisée et les émissions de carbone sont réduites
Les performances et les coûts sont en hausse L’application n’est pas optimisée et les émissions de carbone sont accrues
Les coûts sont en hausse, mais les performances sont inférieures ou égales L’application n’est pas optimisée et les émissions de carbone sont accrues, ou le coût énergétique est plus élevé, ce qui entraîne également des émissions de carbone plus élevées

Cette corrélation entre le score SCI, le coût et les performances de l’application est unique pour chaque application. Elle dépend de nombreux facteurs. La collecte de données pour ces trois variables vous permet de créer un algorithme pour prévoir leurs variations. Le score SCI vous aide à prendre des décisions éclairées sur l’architecture et les modèles d’application.

Calculs

Dans ce scénario, traitez les données collectées à partir du Tableau de bord de l’impact des émissions comme point de départ. Le calcul de la base de référence du score SCI est le suivant :

SCI = C * R

Les composants sont :

  • SCI. Résultat du score SCI.

  • C. Les émissions de carbone pour l’application.

    Cette valeur dépend de la façon dont l’application est déployée dans Azure. Par exemple, si toutes les ressources d’application se trouvent dans un même groupe de ressources, les émissions carbone de ce groupe de ressources sont la variable C.

    Notes

    Ce scénario ne prend pas en compte d’autres sources d’émissions pour l’application qui dépendent de l’architecture et du comportement de la périphérie ou de l’utilisateur. Ces considérations constituent l’étape suivante quand vous utilisez des proxys carbone.

  • R. Le facteur de mise à l’échelle pour l’application.

    Cette valeur peut être le nombre moyen d’utilisateurs simultanés, pour la fenêtre de temps considérée, ou de requêtes d’API ou de requêtes web. Le facteur de mise à l’échelle permet au score de prendre en compte l’effet global de l’utilisation de l’application, au lieu de se contenter de l’empreinte de son déploiement.

La fenêtre de temps est un autre aspect important de ce calcul. Les émissions carbone varient pour tous les appareils ou systèmes consommateurs d’énergie, car le réseau énergétique peut avoir des sources d’énergie renouvelables ou alternatives à certains moments, mais pas à d’autres. Par exemple, l’énergie solaire est variable. Pour être aussi précis que possible, commencez par la fenêtre de temps la plus courte possible, par exemple un calcul quotidien ou horaire.

Le Tableau de bord de l’impact des émissions fournit des informations carbone mensuelles en fonction des services au sein d’un abonnement. Pour obtenir ce nombre pour un même groupe de ressources, utilisez l’équation suivante :

Carbon (res-group) = (Carbon(subscription) * Cost(res-group)) / Cost(subscription)

Stockez les informations carbone mensuelles de votre groupe de ressources avec le reste des données, comme expliqué dans la section suivante.

Stockage des données

Stockez les informations sur le carbone et sur les proxys de carbone recueillies dans la section précédente. Exportez les informations dans des tableaux de bord ou des rapports afin de pouvoir visualiser le score carbone au fil du temps et faire des choix éclairés. Pour des raisons de durabilité, et conformément aux bonnes pratiques de Well Architected Framework, utilisez le système d’enregistrement minimum viable, par exemple, Stockage Table Azure.

Les tables qui décrivent les données collectées utilisent des données comme dans l’exemple suivant :

Données provenant des rapports :

  • Date
  • Nom de groupe ressources
  • Émissions carbone provenant du tableau de bord C
  • Coût

Données de l’APM :

  • UC
  • Mémoire
  • Ratio du temps de réponse (envoi/réception) Facteur de mise à l’échelle R

Calculs : SCI

Pour plus d'informations, consultez les pages suivantes :

Corrélations des données

Les données sur les émissions carbone, les performances et le coût de l’application vous permettent de créer un algorithme de corrélation spécifique à votre application. Ces informations fournissent des directives lors de la planification des coûts, des performances et de l’optimisation du carbone.

Notes

Les équations avec des coûts qui peuvent faire l’objet de remises, comme les réservations ou les plans d’économies de coûts d’Azure, créent des divergences dans l’algorithme de corrélation.

Pour plus d’informations sur le choix de l’algorithme, consultez Guide pratique pour sélectionner des algorithmes pour Azure Machine Learning.

Affichage des données

Vous pouvez afficher les données et les calculs de plusieurs façons, par exemple via un workbook Azure Monitor personnalisé ou un tableau de bord Power BI simple. Pour plus d’informations, consultez Créer des tableaux de bord d’indicateurs de performance clés personnalisés en utilisant Application Insights et Créer un tableau de bord Power BI à partir d’un rapport.

Déclencheurs d’actions sur le score SCI

Après avoir mesuré le score de l’effet carbone d’une application en utilisant des proxys, l’étape suivante consiste à définir quelles actions des conditions défavorables dans le score carbone doivent déclencher. Voici quelques exemples de ces conditions :

  • La production et la demande d’énergie sont élevées, et l’énergie est coûteuse à produire
  • L’électricité n’est pas disponible en raison d’une catastrophe naturelle ou d’un conflit géopolitique
  • L’infrastructure de périphérie devient indisponible en raison d’une surconsommation des ressources ou de problèmes dans la chaîne logistique

Une fois que vous avez identifié les points de défaillance qui peuvent affecter l’application, déterminez les actions à entreprendre pour rendre l’application résiliente aux pics d’émission de carbone.

Envisagez de créer une version en mode éco de l’application. La version en mode éco est une version plus simple, plus petite, plus économique et plus verte de l’application complète. L’application revient à ces fonctionnalités minimales en cas de pics d’émission de carbone.

Envisagez d’aider les utilisateurs finaux à choisir la version en mode éco. Fournissez un bouton vert pour que les utilisateurs déclarent qu’ils sont d’accord pour utiliser une interface plus légère, moins de graphiques et des fonctionnalités limitées en échange de la réduction des émissions carbone. L’implication des utilisateurs offre une opportunité d’entraîner des changements culturels ainsi que des changements techniques :

  • Spécifiez l’effet de ce choix : En utilisant la version verte, vous économisez <X> quantité de carbone ou Ramenez notre score carbone à <Y>.
  • Découvrez le comportement de l’utilisateur et modifiez la version en mode éco pour refléter ses choix. Par exemple, si quelqu’un utilise seulement 10 % des fonctionnalités de l’application, il peut être un utilisateur idéal de la version verte.
  • Dans l’idéal, au fil du temps, la version complète est optimisée pour les émissions et les versions finissent par converger.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d'informations, consultez Microsoft Azure Well-Architected Framework.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

Pour plus de sécurité, utilisez des points de terminaison de service Réseau virtuel Azure pour sécuriser les ressources du service Azure sur votre propre réseau virtuel. Cette approche ferme complètement l’accès Internet public à ces ressources et autorise le trafic seulement à partir de votre réseau virtuel.

Grâce à cette approche, vous créez un réseau virtuel dans Azure, puis vous créez des points de terminaison de service privés pour les services Azure. Ces services sont ensuite limités au trafic à partir de ce réseau virtuel. Vous pouvez également accéder aux services à partir de votre réseau local via une passerelle.

Notes

Pour déplacer des données locales vers Stockage Azure, vous devrez autoriser les adresses IP publiques de vos ordinateurs locaux ou utiliser Azure ExpressRoute. Pour plus d’informations, consultez Déployer des services Azure dédiés dans des réseaux virtuels.

Pour obtenir des conseils d’ordre général sur la conception de solutions sécurisées, consultez la documentation sur la sécurité Azure.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Les rapports Tableau de bord de l’impact des émissions et Azure Cost Management sont gratuits. Cet exemple est intentionnellement minimal pour économiser sur les coûts et les émissions carbone. Vous pouvez déployer cette architecture en utilisant plusieurs autres services Azure.

Utilisez n’importe quel service équivalent que vous avez déjà dans votre déploiement d’application. Les ressources suivantes fournissent des informations sur les prix des composants :

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.

L’objectif principal de cette architecture est de fournir un score de durabilité pour vos applications avec un effet minimal sur le coût et sur le carbone lui-même. La plupart des composants sont des services PaaS (Platform as a Service) et serverless Azure qui peuvent être mis à l’échelle indépendamment en fonction de l’utilisation et du trafic.

Le tableau de bord et l’interface de stockage de cet exemple ne conviennent pas à une utilisation et à une consultation intensives. Si vous prévoyez de fournir cette solution à de nombreux utilisateurs, envisagez ces alternatives :

  • Découpler les données extraites en les transformant et en les stockant dans un autre système d’enregistrement
  • Basculer Stockage Table Azure vers une alternative ayant une structure de données plus évolutive, comme Azure Cosmos DB

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autre contributeur :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes

Ce travail est aligné sur les principes et la méthodologie de la Green Software Foundation.

L’étape suivante pour créer une application plus verte consiste à incorporer le SDK pour les émissions carbone dans votre application. Vous pouvez automatiser des déclencheurs en temps réel une fois que vous avez satisfait à des conditions spécifiques en matière de carbone. Pour plus d’informations, consultez SDK pour le carbone - Green Software Foundation.

Pour obtenir des conseils sur les charges de travail cloud de durabilité dans Well Architected Framework, consultez la documentation sur les charges de travail de durabilité.

Pour plus d’informations sur la durabilité, consultez ces articles :