De nos jours, on ne peut ignorer que notre mode de vie crée continuellement une dette envers l'environnement. C'est pourquoi l'industrie s'intéresse de plus en plus au sujet du Green IT et j'ai été amené à travailler dessus via le Cercle Numérique Responsable de mon entreprise SFEIR.
Le contexte environnemental du numérique
Selon des études, le numérique est responsable de 4% des émissions mondiales de gaz à effet de serre, et la forte augmentation des usages laisse présager un doublement de cette part d'ici 2025 (1).
Il y a différents angles d'attaque sur lesquels nous pouvons nous concentrer, sans être exhaustif :
- Augmenter la durabilité des matériaux, car le coût de production est lourd et nous ne pouvons pas revenir en arrière, lorsqu'il est produit, il est trop tard.
- Les émissions de gaz à effet de serre et la consommation d'électricité sont les éléments sur lesquels nous nous concentrons le plus souvent, mais il existe d'autres critères dans la chaîne de production qui ont un impact significatif (comme la consommation d'eau, l'extraction de minerai, etc.).
- Attention aux différents modes de production de nos matériaux, car cela dépend vraiment des modes de production, suivant les choix politiques des pays (par exemple, en France, les émissions de gaz pour l'électricité sont faibles, avec le choix fort de l'énergie nucléaire).
- On peut différencier les méthodologies pour les serveurs et les appareils (ordinateurs portables, smartphones, ordinateurs, écrans). Généralement les appareils ont un coût de production plus important, et pour les serveurs, il est plus pertinent de se concentrer sur la consommation d'énergie (mais cela dépend aussi de la façon dont les matériaux sont créés, la balance peut pencher dans l'autre sens). - Nous pouvons déterminer différents scopes pour les émissions de gaz (2)
- Il est très pertinent de s'intéresser à l'impact des data centers en général et du cloud en particulier. Même les dernières mesures fournies par Amazon reconnaissent que cela représente 71,54 millions de tonnes de CO2 par an, dans le monde, en constante augmentation au fil des années, malgré la volonté d'aller vers le zéro émission. (3)
- On peut aussi agir sur le développement lui-même, et l'éco-conception UX/UI (Est-ce que toutes les fonctionnalités sont utiles ? Sont-elles peu coûteuses en ressources ?) (4)
- Il y a aussi un travail à faire pour recycler les solutions et donner une seconde vie aux produits.
- Dans un avenir proche, on peut imaginer que les gouvernements fixent des lignes directrices claires à suivre pour limiter les impacts environnementaux, et peut-être des sanctions, mais pour l'instant il faut compter sur l'initiative des personnes dans les entreprises et les associations bénévoles. Le numérique n'est qu'une partie du mouvement, qui peut donc être vu dans une perspective d'amélioration globale.
Surveiller l'impact environnemental dans le cloud
En tant qu'ingénieur cloud, je souhaitais une solution pour estimer l'empreinte carbone de mes ressources sur le cloud. Pour commencer, je me suis intéressé à AWS qui est le fournisseur que je connais le mieux.
Dans le cloud, nous n'avons pas accès aux couches inférieures des machines, donc nous ne pouvons pas compter sur des sondes de bas niveau pour mesurer la consommation d'énergie.
Nous savons naturellement que moins nous utilisons de ressources, moins nous consommons, mais des métriques précises vous aideront à avoir une vision globale et à être plus pertinent.
AWS a récemment proposé un calculateur, le Customer Carbon Footprint Tool pour évaluer l'impact environnemental, qui donne une mesure MTCO2EQ pour EC2, S3 et d'autres services gérés, par zone géographique (APAC, AMER, EMEA).
Il s'agit d'un outil intéressant, toujours en cours de développement, mais mon attention s'est portée sur un autre outil, axé sur les instances EC2 et fournissant des métriques plus spécifiques que l'outil fourni par Amazon.
Surveillez l'impact environnemental avec Cloud Scanner
Boavizta est une association qui met à disposition des communs et des outils open source pour nous aider dans notre démarche de limitation de l'impact environnemental du numérique.
Parmi ces communs, Boavizta fournit Cloud Scanner, une solution pour surveiller l'impact environnemental des instances EC2.
Comme nous n'avons pas accès aux couches inférieures des machines, Boavizta a mis en place des méthodologies d'estimation des données qui ont abouti à une API pour évaluer l'impact environnemental : Boavizta API.
L'API est basée sur le suivi de l'Analyse du Cycle de Vie (ACV) qui inclut toutes les étapes de la consommation d'énergie du produit et pas seulement son utilisation. (5)
On peut, par exemple, évaluer la consommation d'une instance t3.micro :
curl -X 'POST' \
'https://api.boavizta.org/v1/cloud/aws?instance_type=t3.micro&verbose=false&allocation=TOTAL' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"hours_use_time": 2,
"usage_location": "FRA"
}' | jq
{
"gwp": {
"manufacture": 38,
"use": 0.003,
"unit": "kgCO2eq"
},
"pe": {
"manufacture": 490,
"use": 0.3,
"unit": "MJ"
},
"adp": {
"manufacture": 0.0036,
"use": 1e-09,
"unit": "kgSbeq"
}
}
GWP (Global Warming Potential) fait référence au potentiel de réchauffement global d'un gaz émis dans l'atmosphère (mesuré en kgCO2eq : Kilogramme d'équivalent en dioxyde de carbone).
EP (Primary Energy Use) fait référence à l'énergie sous sa forme brute, avant qu'elle ne soit convertie par l'homme en d'autres formes d'énergie comme l'électricité, la chaleur ou les carburants de transport (mesurée en MJ : MégaJoule).
ADP (Abiotic Resource Depletion, mineral & metal) est l'une des classes d'impact les plus couramment délibérées sur les ressources abiotiques, qui sont des substances naturelles non vivantes, telles que le minerai de cuivre et le pétrole brut, et peuvent contenir des ressources énergétiques, comme l'énergie éolienne (mesurée en kgSbeq : Kilogram Antimony (symbole : Sb) Equivalent).
Comme expliqué dans la documentation, les données sont collectées par Boavizta manuellement ou avec des scrappers faisant référence aux déclarations des fabricants.
Un point de terminaison est disponible pour essayer l'API : "api.boavizta.org", mais vous devez l'héberger sur votre propre serveur, cela peut être facilement fait avec le framework sans serveur.
# Install the serverless framework and plugins
npm install -g serverless
npm i
# Authenticate
export AWS_PROFILE=your-own-profile
# Deploy
serverless deploy
CloudScanner utilise l'API Boavizta et simplifie l'utilisation de cette API en fournissant une solution clé en main, en la combinant avec les données d'utilisation en temps réel de votre compte AWS actuel, pour fournir une vue globale des impacts de vos instances EC2 par régions.
Essayons Cloud Scanner
Si vous avez déjà des instances en cours d'exécution sur votre compte AWS, vous pouvez rapidement essayer la solution comme ceci :
export AWS_PROFILE=your-own-profile
git clone git@github.com:Boavizta/cloud-scanner.git
cd cloud-scanner
docker-compose up
Pour une installation propre, vous pouvez l'installer en serverless, en suivant ce design :
Vous devriez maintenant avoir accès à l'UI Grafana ici : http://localhost:3001.
Ensuite, vous trouverez le tableau de bord dans Parcourir les tableaux de bord > Général > Impacts environnementaux du cloud :
Lisons les métriques
À des fins de démonstration, j'ai créé trois instances t3-micro, qui peuvent être comparées :
- un en France (eu-west-3)
- un en Irlande (eu-west-1)
- un en Allemagne (eu-central-1)
Nous avons donc trois instances évaluées, toutes ces régions sont couvertes par l'outil, et nous récupérons nos indicateurs publiés par l'API Boavizta : PE, GWP et ADP.
On peut différencier deux scopes différents :
- Manufacture (affiché ici pour l'ensemble du cycle de vie du serveur, non amorti)
- Use (affiché ici pour une heure d'utilisation)
Concernant le périmètre Manufacture, on constate que les trois régions ont des consommations équivalentes, selon les indicateurs.
Concernant le périmètre Utilisation, on constate que les consommations sont différentes entre les trois régions.
La consommation d'énergie primaire est plus chère en Allemagne (0,0800 MJ) qu'en Irlande et en France, où elles sont équivalentes (0,0500 MJ).
L'utilisation GWP est plus chère en Allemagne et en Irlande (0.00200 kgco2eq) qu'en France (0.000500 kgco2eq).
L'utilisation d'ADP est plus chère en Allemagne (4e-10 kgSbEq), suivie de la France (2e-10 kgSbEq), puis de l'Irlande (1e-10 kgSbEq).
Ce que l'on peut en déduire, c'est que les impacts environnementaux sont différents entre ces trois régions, l'Allemagne étant la plus chère en termes d'énergie selon ces indicateurs, là où la France est plus intéressante pour GWP et l'Irlande pour ADP.
De plus, il est possible de visualiser ces données et de les exporter au format CSV ou PNG, via l'outil Datavizta qui est fourni, pour intégrer ces données dans le cadre d'une étude plus large que vous aimeriez entreprendre.
Conclusion
Avec Cloud Scanner, vous disposez de données précises et pertinentes sur la consommation énergétique de vos instances EC2 sur AWS, vous pouvez les mettre en œuvre dans votre approche globale pour limiter l'impact environnemental numérique.
C'est un produit open source, n'hésitez pas à l'utiliser et peut-être même à participer, les créateurs travaillent activement sur des évolutions et sont constamment à la recherche de contributeurs.
Au final, je dirais que les métriques sont importantes pour vous donner des leviers d'action, plus elles sont pertinentes mieux c'est. Mais ils ne doivent pas constituer un obstacle à l'adoption d'une certaine forme de sobriété globale dans la manière de concevoir les projets, de penser à leur finalité et de prolonger la durée de vie des équipements.
Sources :
(1) The Shift Project - Crise climatique : l'utilisation non durable de la vidéo en ligne - 2019
(2) Boavizta - Numérique & environnement : Comment évaluer l'empreinte de fabrication des serveurs, au-delà des émissions de gaz à effet de serre - 2021
(3) Amazon - Développement durable - Notre empreinte carbone - 2021
(4) [FR] Collectif Conception Numérique Responsable - 115 Web Ecodesign Best Practices
(5) Wikipédia - Analyse du cycle de vie