Modifier

Partager via


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

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

La solution décrite dans cet article peut vous aider à créer un modèle de durabilité pour les applications hébergées sur Azure. Le modèle utilise des proxys qui, au fil du temps, permettent d’évaluer l’impact et l’efficacité carbone d’une application. Le score est connu sous le nom de score Software Carbon Intensity (SCI). Il fournit une base de référence pour la mesure des changements dans la production de carbone d’une application.

Architecture

Schéma d’un modèle de durabilité 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 que vous utiliserez pour calculer votre score SCI. Les données peuvent être les mesures d’émissions fournies par le panneau Optimisation du carbone dans le portail Azure, ou des mesures de proxys provenant de sources ou de systèmes non Microsoft.
  2. Exportez les données sur les émissions de carbone vers votre lac de données.
  3. Utilisez des gestionnaires d’événements comme Azure Functions ou Azure Logic Apps pour calculer le score SCI. Le résultat 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 technologies comme Azure Functions, Logic Apps ou des runbooks Azure 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, ainsi que ses variations.

Composants

  • Le panneau Optimisation du carbone dans le Portail Azure fournit des mesures d’émission de carbone des charges de travail Azure au niveau du groupe de ressources.
  • L’API Cloud for Sustainability fournit les données sous-jacentes pour l’optimisation du carbone. Vous pouvez l’utiliser pour récupérer des informations sur les émissions de votre abonnement.
  • Application Insights est une fonctionnalité d’Azure Monitor qui fournit une gestion des performances des applications (APM). Cela peut vous aider à obtenir des informations très utiles sur la façon dont les utilisateurs utilisent votre application. Ensuite, grâce à ces connaissances, vous pouvez prendre des décisions axées sur les données pour améliorer l’efficacité de votre application.
  • Stockage Blob Azure stocke les informations sur les émissions à partir de l’optimisation du carbone Azure, des calculs personnalisés ou d’autres proxys pour les émissions.
  • Azure Data Lake est un référentiel centralisé qui ingère et stocke de grands volumes de données sous leur forme d’origine. On peut ensuite traiter et utiliser les données comme base pour différents types d’analyse.
  • Azure Logic Apps vous permet de créer et d’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 vous permet d’exécuter de petites unités de code. Cette solution met automatiquement à l’échelle les ressources en fonction de la demande et vous payez uniquement pour le temps d’exécution réel. Vous pouvez l’utiliser pour effectuer des calculs de durabilité et les stocker dans le stockage Blob ou dans un lac de données.
  • Azure Automation fournit une automatisation des processus via des runbooks. Vous pouvez utiliser les runbooks pour mettre en œuvre une logique complexe, en utilisant du code PowerShell, qui peut améliorer l’efficacité de votre application. Ce service peut également ajouter de la valeur métier en réduisant les erreurs et les coûts opérationnels.
  • Power BI vous permet de transformer vos données en analyses et en rapports qui fournissent des insights en temps réel.

Autres solutions

Les services Azure décrits dans cet article peuvent être remplacés par des services similaires. Pour augmenter la densité et l’utilisation des ressources existantes, effectuez les calculs avec un effet minimal sur votre infrastructure en utilisant des services ou des outils Azure déjà déployés dans votre environnement :

  • Vous pouvez remplacer les tableaux de bord Power BI par des workbooks Azure Monitor ou des services Azure Managed Grafana.
  • Vous pouvez remplacer Application Insights par n’importe quel autre outil de gestion des performances des applications (APM), comme Elasticsearch Application Performance Management (APM) ou OpenAPM.
  • Les données sous la forme de tables ou de données non structurées peuvent être conservées dans n’importe quel système d’enregistrements, comme MySQL, MariaDB, Azure Cosmos DB et MongoDB.
  • Si vous disposez d’un espace Azure Functions ou Logic Apps en cours d’exécution, vous pouvez effectuer le calcul à intervalles réguliers à partir de vos déploiements existants.
  • Si les ressources de l’application sont réparties entre plusieurs groupes de ressources, vous pouvez utiliser 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

Cette architecture est conçue pour collecter des données d’optimisation du carbone à partir d’Azure et d’autres sources afin de fournir une vue complète de l’impact environnemental d’une application. Les données sont collectées à partir de l’optimisation du carbone Azure. Pour les environnements autres qu’Azure, on utilise un proxy pour récupérer les métriques de carbone pertinentes. Une fois les données consolidées, les calculs SCI sont effectués pour évaluer l’empreinte carbone globale. Les résultats sont ensuite stockés dans un compte Stockage Azure ou un lac de données pour la rétention à long terme, ce qui permet l’analyse bi et les rapports historiques. Cette approche permet de centraliser le suivi de l’impact carbone des différentes infrastructures et de soutenir les efforts stratégiques en matière de développement durable.

Les informations sur les émissions de carbone sont partiellement collectées à partir du panneau Optimisation du carbone du portail Azure et partiellement calculées, le cas échéant, par proxy.

Capture d’écran du panneau Optimisation du carbone.

Il est essentiel d’utiliser une architecture distincte pour collecter les données d’optimisation du carbone Azure pour deux raisons clés :

  • Les données sur l’optimisation du carbone Azure sont stockées et affichées uniquement pour les douze derniers mois (dans une fenêtre mobile). Lorsqu’il faut effectuer le suivi à long terme d’une empreinte carbone, un système dédié garantit la conservation d’informations historiques détaillées.
  • Une application peut s’étendre sur plusieurs infrastructures, avec Azure n’en étant qu’un des composants. Une architecture distincte permet un suivi centralisé de l’impact carbone dans tous les environnements pour fournir une vue d’ensemble et garantir des informations plus complètes sur le développement durable.

Remarque

Les gaz à effet de serre ne sont pas constitués uniquement de dioxyde de carbone, et ils n’ont pas tous les mêmes 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. Dans cet article tout est normalisé selon la mesure Équivalent CO2. Les références au carbone signifient toujours l’équivalent CO2.

Sources de données

En général, vous devez créer une équation de proxy avec quelques 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 de l’API des émissions de carbone. Cette API est la source tant du tableau de bord de l’impact des émissions que du panneau Optimisation du carbone dans le portail Azure. Les données sont disponibles au niveau du groupe de ressources, ce qui facilite le suivi des émissions de votre application.
  • Métriques de performances et de mise à l’échelle de l’application provenant d’Application Insights :
    • Facteur de mise à l’échelle (appels d’API, demandes de serveur ou autre métrique) pour l’application
    • Utilisation du processeur
    • Utilisation de la mémoire
    • Temps de réponse (envoi et réception)

Pour obtenir un tutoriel sur la configuration d’Application Insights pour obtenir les métriques nécessaires, 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 de l’application qui peut expliquer comment ses performances changent au fil du temps.

En créant cette équation pour aboutir à un score qui peut également refléter le nombre d’utilisateurs, vous créez l’approximation la plus proche d’un score carbone. Ce score est votre référence pour tout changement et amélioration ultérieur vers la durabilité de l’application.

Le coût est un autre facteur associé aux performances de l’application. Dans la plupart des cas, il est possible d’établir une corrélation directe entre l’efficacité des performances et les économies de coûts et de carbone. Cette corrélation conduit aux hypothèses suivantes :

  • Lorsque les performances sont plus élevées, mais que les coûts sont les mêmes, l’application est optimisée et les émissions de carbone sont réduites.
  • Lorsque les coûts sont inférieurs, mais que les performances sont les mêmes, l’application est optimisée et les émissions de carbone sont réduites.
  • Lorsque les performances et les coûts sont en hausse, l’application n’est pas optimisée et les émissions de carbone sont accrues.
  • Lorsque les coûts sont hausse, mais que 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 d’une application est unique pour chaque application et dépend de nombreux facteurs. La collecte de données pour ces trois variables vous permet de créer un algorithme de corrélation pour prévoir leurs variations et prendre des décisions éclairées sur l’architecture et les modèles de l’application.

Calculs

Dans le scénario décrit ici, il n’est pas possible de former un calcul discret pour les proxys utilisés. Au lieu de cela, les données collectées à partir du Tableau de bord de l’impact des émissions sont traitées comme point de départ. Le calcul de la base de référence du score SCI est le suivant :

SCI = C*R

Dans cette équation :

  • C représente 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, C représente les émissions carbone de ce groupe de ressources.

    Remarque

    Pour l’instant, aucune autre source d’émission pour l’application n’est prise en compte, car elles dépendent de l’architecture et du comportement de la périphérie ou de l’utilisateur. Si vous utilisez des proxys pour les données, vous pouvez tenir compte de ces sources à la prochaine étape.

  • R est 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, de requêtes d’API, de requêtes web ou tout autre métrique. Cette valeur est importante, car elle 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, bien sûr, 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 (par exemple, l’énergie solaire) mais pas à d’autres. Il est donc important de commencer par la fenêtre de temps la plus courte possible, pour une précision accrue. Par exemple, vous pouvez commencer par un calcul quotidien ou horaire.

L’API des émissions de carbone fournit actuellement des informations mensuelles sur le carbone en fonction des services au sein d’un abonnement, au niveau du groupe de ressources. À l’aide de l’API REST fournie, vous pouvez exporter des données sur les émissions vers un lac de données qui contient toutes les données concernant la durabilité pour l’application.

Stockage des données

Stockez les informations sur le carbone et sur les proxys de carbone que vous rassemblez dans une solution que l’on peut connecter aux tableaux de bord ou aux rapports. Ainsi vous pouvez visualiser le score carbone au fil du temps et faire des choix éclairés. Pour améliorer la durabilité, et conformément aux bonnes pratiques d'Azure Well Architected Framework, nous recommandons d’utiliser le système d’enregistrement minimum viable. (Pour plus d’informations, consultez Considérations relatives à la conception des données et du stockage pour les charges de travail durables sur azure et la plateforme d’applications pour les charges de travail durables sur Azure.) Azure Data Lake Storage est utilisé dans cette architecture.

Corrélations des données

Lorsque vous commencez à collecter des données sur le carbone, les performances et le coût de votre application, vous disposez d’informations très utiles pour 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.

Pour plus d’informations, 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 des tableaux de bord Azure Monitor personnalisés et des tableaux de bord Power BI simples.

Que peut déclencher votre score SCI ?

Après avoir mesuré votre score de durabilité, vous pouvez vous demander comment faire pour l’améliorer.

Si vous pouvez évaluer 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 peuvent 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. Cette situation peut être causée par une catastrophe naturelle ou un conflit géopolitique.
  • L’infrastructure de périphérie devient soudainement indisponible en raison d’une surconsommation des ressources ou de problèmes dans la chaîne logistique.

Si vous pouvez identifier les points de défaillance qui peuvent affecter votre application, vous pouvez déterminer les actions à entreprendre pour rendre votre application résiliente aux pics d’émission de carbone.

Vous pouvez effectuer l’une des actions suivantes :

  • Appliquez une dégradation progressive des services et des fonctionnalités de l’application, comme décrit dans la documentation de Well-Architected Framework.

  • Créez une version en mode éco de votre application. La version en mode éco est une version plus simple, plus petite, plus économique et plus verte de l’application qui offre des fonctionnalités minimales. Vous pouvez revenir à cette version en cas de pics d’émission de carbone. Vous pouvez tout simplement former vos utilisateurs finaux à choisir la version en mode éco. Vous pouvez fournir un bouton vert pour permettre aux utilisateurs d’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.

  • Si vous choisissez d’impliquer vos utilisateurs, vous créez une occasion de favoriser un changement culturel avec celui technique : - Vous pouvez spécifier l’impact du choix : « En utilisant la version éco, vous économisez x quantité de carbone » ou « apporter notre score carbone à la quantité y ». Vous pouvez obtenir une compréhension du comportement de l’utilisateur et modifier la version éco pour refléter leurs choix. (Peut-être qu’ils utilisent 10 % des fonctionnalités et sont un utilisateur idéal de la version éco.) - Étant donné que la version complète est optimisée pour les émissions, vous pouvez idéalement fusionner les deux versions.

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é, vous pouvez utiliser les points de terminaison du service de réseau virtuel Azure pour fermer l’accès Internet public aux ressources du service Azure et autoriser 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 y accéder à partir de votre réseau local, via une passerelle.

N’oubliez pas que, pour déplacer des données d’un emplacement local vers Stockage Azure, vous devez autoriser les adresses IP publiques à partir d’un emplacement local ou d’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 à réduire les dépenses inutiles et à améliorer les efficacités opérationnelles. Pour plus d’informations, veuillez consultez Vue d’ensemble du pilier d’optimisation des coûts.

Vous pouvez déployer cette architecture en utilisant plusieurs autres services Azure. Elle a été volontairement réduite au minimum pour économiser les coûts et les émissions de carbone.

Bien que nous vous encourageons à utiliser des services équivalents que vous avez déjà dans votre déploiement d’application, les informations de tarification sont disponibles pour chaque composant d’architecture :

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 selon un processus ayant un effet minimal sur le coût et sur le carbone. 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.

Dans ce scénario, le tableau de bord et l’interface de stockage ne pas prévus pour 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.
  • Basculez Data Lake Storage ou 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.

Principaux auteurs :

  • Paola Annis | Responsable principal de l’ingénierie de l’expérience client
  • Davide Bedin | Architecte de solutions cloud senior, Innovation des applications

Autre contributeur :

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

Étapes suivantes

Cet article 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 le carbone dans votre application. Vous pouvez ainsi automatiser des déclencheurs en temps réel une fois que vous avez satisfait à des conditions spécifiques en matière de carbone.

Pour bénéficier de recommandation pour optimiser les charges de travail Azure, consultez Conseils sur les charges de travail cloud de durabilité.