Du bon usage de la mesure dans éco-conception des services numériques
01 Février 2024
boavizta.org
Quick presentation
Julien Rouzé
Co-Founder, COO/CPO @ Sopht
julien.rouze@sopht.com
Youen Chéné
Co-Founder @ Webvert
youen@lewebvert.fr
youenchene
Nos missions
Co-créer les “communs” manquants dans l’écosystème
Standardiser les communs et faciliter leur adoption par l’écosystème
Propager massivement expertises et communs au sein des organisations
Rassembler une communauté et développer ses expertises
Introduction
Y
Mesure
Modélisation
Evaluer l’impact d’un site web
Mesure
Modélisation
Evaluer l’impact d’un site web
Terminal
Serveurs
Greenspector
Scaphandre
ecoCode
Code
Mesure
Modélisation
Evaluer l’impact d’un site web
Terminal
Serveurs
Greenspector
Scaphandre
EcoIndex
Performance
Page Speed
(Lighthouse)
CO2
ecoCode
Code
Mesure
Modélisation
Evaluer l’impact d’un site web
Terminal
Serveurs
Greenspector
Scaphandre
EcoIndex
Performance
Page Speed
(Lighthouse)
Bande Passante
CO2
Plan Serveur
Architecture�Logiciel
ecoCode
Code
Mesure
Modélisation
Evaluer l’impact d’un site web
Terminal
Serveurs
Greenspector
Scaphandre
EcoIndex
Performance
Page Speed
(Lighthouse)
Bande Passante
CO2
Plan Serveur
CO2.js
Fruggr
Digital Beacon
Greenoco
OneByte (Shift)
Website�Carbon
EcoGradr
CloudCarbon Footprint
Website�Carbon v2
BoaviztAPI
CloudScanner
NumEcoEval
GreenFrame
..
Architecture�Logiciel
e-Footprint
ecoCode
Code
Mesure
Modélisation
Evaluer l’impact d’un site web
Terminal
Serveurs
🇫🇷Greenspector
🇫🇷Scaphandre
🇫🇷EcoIndex
Performance
Page Speed
(Lighthouse)
Bande Passante
CO2
Plan Serveur
CO2.js
🇫🇷Fruggr
Digital Beacon
🇫🇷Greenoco
🇫🇷OneByte (Shift)
Website�Carbon
EcoGradr
CloudCarbon Footprint
Website�Carbon v2
🇫🇷BoaviztAPI
CloudScanner
NumEcoEval
GreenFrame
..
Architecture�Logiciel
🇫🇷e-Footprint
🇫🇷ecoCode
Code
Mesure
Modélisation
Evaluer l’impact d’un site web
Terminal
Serveurs
🇫🇷Greenspector
🇫🇷Scaphandre
Open Source
🇫🇷EcoIndex
Open Source
Performance
Page Speed
(Lighthouse)
Open Source
Bande Passante
CO2
Plan Serveur
CO2.js
Open Source
🇫🇷Fruggr
Digital Beacon
🇫🇷Greenoco
🇫🇷OneByte (Shift)
Open Source
Website�Carbon
EcoGradr
CloudCarbon Footprint
Open Source
Website�Carbon v2
🇫🇷BoaviztAPI
CloudScanner
NumEcoEval
GreenFrame
Open Source
..
Architecture�Logiciel
🇫🇷e-Footprint
Open Source
🇫🇷ecoCode
Open Source
Code
Mesure
Modélisation
Evaluer l’impact d’un site web service numérique
Terminal
Serveurs
🇫🇷Greenspector
🇫🇷Scaphandre
Open Source
🇫🇷EcoIndex
Open Source
Performance
Page Speed
(Lighthouse)
Open Source
Bande Passante
CO2
Plan Serveur
CO2.js
Open Source
🇫🇷Fruggr
Digital Beacon
🇫🇷Greenoco
🇫🇷OneByte (Shift)
Open Source
Website�Carbon
EcoGradr
CloudCarbon Footprint
Open Source
Website�Carbon v2
🇫🇷BoaviztAPI
CloudScanner
NumEcoEval
GreenFrame
Open Source
..
Architecture�Logiciel
🇫🇷e-Footprint
Open Source
🇫🇷ecoCode
Open Source
Code
Site Web de contenu
Application
Tous
Navigateur
(Terminal)
Data Center
Réseau
Greenspector
websitecarbon.com
sustainablewebdesign.org�One Byte Model (Shift Project)
greenframe.io
Ecoindex
Scaphandre
Outils de mesure
Modélisation
Lighthouse (Google page speed)
Simple Model (Danny Van Kooten)
Outil/Modèle | Type | Catégorie 1 | Catégorie 2 | Type de service numérique | Type de résultats | Nombre de paramètres | Base Scientifique |
Greenspector | Mesure | Terminal | | Application | eq CO2 | N/A | Mesure wattmètre RAPL Modèle (privée) |
Scaphandre | Mesure | Serveurs | | Tous | eq CO2 | N/A | RAPL |
EcoCode | Mesure | Code | | Application | Echelle d'impact | N/A | Ouverte |
EcoIndex | Modélisation | Performance | | Web de Contenu | Index | 3 | Etude privée |
Lighthouse | Modélisation | Performance | | Web de Contenu | Index | > 10 | Ouverte |
CO2.js (WebsiteCarbon, EcoGradr) | Modélisation | CO2 | Bande Passante | Web de Contenu | eq CO2 | 1 | Ouverte, Faible |
OneByte Model (LSP) | Modélisation | CO2 | Bande Passante | Web de Contenu | eq CO2 | 1 | Ouverte, Faible |
WebsiteCarbon V2 | Modélisation | CO2 | Bande Passante | Web de Contenu | eq CO2 | 1 | Ouverte, Faible |
Fruggr Digital Beacon | Modélisation | CO2 | Bande Passante | Web de Contenu | eq CO2 | 1 à 3 | Privée |
NumEcoEval | Modélisation | CO2 | Plan Serveur | Tous | eq CO2 | 5 à 10 | Ouverte |
GreenFrame | Modélisation | CO2 | Plan Serveur | Tous | eq CO2 | 5 à 10 | Ouverte |
eFootPrint | Modélisation | CO2 | Architecture Logiciel | Application | eq CO2 | > 30 | Ouverte |
Outil/Modèle | Consommation device | Fabrication device | Consommation réseau | Consommation serveurs | Fabrication serveurs | Stockage | Description de l’usage |
Greenspector | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
Scaphandre | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
EcoCode | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
EcoIndex | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Lighthouse | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
CO2.js (WebsiteCarbon, EcoGradr) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
OneByte Model (LSP) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
WebsiteCarbon V2 | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Fruggr Digital Beacon | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
NumEcoEval | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
GreenFrame | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
e-footprint | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
(En construction) Inventaire publique des solutions
Initié par Benoit Petit (Scaphandre, Hubblo, Boavitza) et Gaël Duez (Podcast Green IO).�
https://db.boavizta.org/dashboard/#/base/e3ba7aca-a9a7-4984-ad8d-8949ba47e305
Chapitre suivant ?
Répartition Data Center / Terminal
Y
Etude Ademe-Arcep (Janvier 2022)
Data Center
~20%
Source : https://www.arcep.fr/uploads/tx_gspublication/etude-numerique-environnement-ademe-arcep-volet02_janv2022.pdf
Etude Ademe-Arcep (Mars 2023)
Data Center
~16%
Source : https://www.arcep.fr/uploads/tx_gspublication/dossier-presse-Etude-Ademe-Arcep-lot3_mars2023.pdf
Mais…
“Les équipements et infrastructures informatiques situés à l’étranger sont exclus, quand bien même associés à des usages français.”
Pas d’intégration des impacts des équipements opérés à l’étranger et utilisés en France
Etude Ademe-Arcep - Périmètre Mesuré
Production
Consommation
DC �Traditionnels
Cloud France -> France
Cloud France -> Monde
Cloud Monde -> France
Source : Eric Fourboul - https://hubblo.org/fr/blog/datacenters-imported-impacts/
Etude Ademe-Arcep - Périmètre Mesuré
Production
Consommation
DC �Traditionnels
Cloud France -> France
Cloud France -> Monde
Cloud Monde -> France
Source : Eric Fourboul - https://hubblo.org/fr/blog/datacenters-imported-impacts/
Web de contenu ou Web Applicatif ?
Y
Site web de contenu = broadcast
Site web de contenu
Contenu préparé
(cache wordpress)
Application Web / SaaS
Application
Web
Base de données
Log
Tracabilités
API
Moteur ML
Requête personnalisées
Requêtes personnalisées
Requêtes personnalisées
Requêtes personnalisées
Requêtes personnalisées
Plans serveurs et web de contenu?
Cas courant : Architecture hyper mutualisé chez OVH, Infomaniak,O2Switch, Hostlinger
Serveur BDD
Serveur BDD
Serveur Web
Serveur Web
Navigateurs
Navigateurs
Navigateurs
Navigateurs
Navigateurs
Navigateurs
Navigateurs
Navigateurs
ProTips : Le bon outil sur le bon périmètre
Exemples de mauvaises pratiques :
EcoIndex/1 Byte Model sur application web.
Scaphandre ou greenspector sur un extrait de quelques pages de contenus.
Web de contenu
Y
Modèle existant et comparaison
Modèles listés pour l’étude
Modèle Ouvert
EcoIndex (2014)
One Byte Model (2021)
Simple Model (VanKooten) (2020)
Websitecarbon.com (v2) (2020)
Sustainable Webdesign / Websitecarbon.com (v3) (2020)
CO2.js (2020-2023)
Modèle Fermé
Fruggr (2021)
Greenoco (2022)
Digital Beacon (2020)
Modèles inclus pour l’étude
Modèle Fermé
Fruggr (2021)
Greenoco (2022)
Digital Beacon (2020)
Modèle Ouvert
EcoIndex (2014)
One Byte Model (2021)
Simple Model (VanKooten) (2020)
Websitecarbon.com (v2) (2020)
Sustainable Webdesign / Websitecarbon.com (v3) (2020)
CO2.js (2020-2023)
Non Public
Wrapper de One byte et Sustainable Web Design
Non inclus dans l’étude
Modèle dédié à de l’application web :
A propos de l’Ecoindex
Note sur l’écoindex
async def get_greenhouse_gases_emmission(ecoindex: float) -> float:
return round(100 * (2 + 2 * (50 - ecoindex) / 100)) / 100
1kg eq CO2 <= valeur <= 3kg eq CO2
⇒ On exclut de l’étude.
A propos de l’écoindex
| Evaluer un thème | Evaluer le contenu |
Google Page Speed GT Metrix Lighthouse | | |
Ecoindex | | |
websitecarbon.com One Byte (Shift) Simple Model | | |
!
Retour à la comparaison
Répartition des échelles de mesures
Les limites des modèles
Mono-critère (bande passante)
Mono-critère (bande passante)
Mais c’est vraiment trop nul !!
Mono-critère (bande passante)
Pour application web, oui, ce n’est pas adapté.
Pour un site web de contenu, c’est la variable prépondérante.
Linéaire
Modélisation linéaire
Bande Passante
Consommation
Total de la consommation
+
Total de la bande passante
Modélisation linéaire
1 palier représente 1 achat de nouvel équipement.
Réalité
Mesure via un outil
Le vert représente l’usage des équipements.
Des fondations fragiles
Des modèles basés sur des chiffres trop macro
Extrait Sustainable Web :�
We used these data points to define the calculations below:
Prochaine étape
Lancer une thèse dédiée
Périmètre : web de contenu
Besoin : données d’un gros mutualiseur de serveurs de contenu (OVH, Infomaniak, O2Switch…).
Web Applicatif
Y
Avant propos
Une typologie de service numérique qui représente 90% des travaux chez les DSI, éditeurs et startup.
Mais très jeune en termes d’évaluation d’impact.
2 approches en cours de conception
ecoCode
Repérer les mauvaises pratiques de code en termes d’impact.
Plugin Sonar, s’intègre dans le cycle de développement d’une application.
e-footprint
https://github.com/Boavizta/e-footprint�(forked from publicissapient-france/e-footprint)
�Modéliser son application, changer les hypothèses de modélisation pour évaluer les impacts positifs ou négatifs.
ecoCode
Plugins Sonar qui s’intégre dans votre intégration continu (CI).
Identification de code smells qui ressorte dans le reporting Sonar.
⇒ Feedback rapide pour les développeurs.
La partie la plus avancée est la partie android.
ecoCode - Exemple de rapports
ecoCode - Contribuez !
Projet open source et collaboratif (et lancé par équipe française) :
�https://github.com/green-code-initiative
e-footprint
Projet initié par Vincent Villet chez Publicis Sapiens. Maintenant open sourcé et en gouvernance chez Boavizta.
e-footprint
⚠ Ne jamais utiliser des modélisations sur des outils hyper scalés comme Youtube, Twitch, Netflix, ChatGPT. ⚠
Modélisation e-footprint
Service
Network
UserJourney
Server
Storage
UserJourneyStep
UsagePattern
System
Job ( CPU needed, RAM needed)
Modélisation avec du code simplifié
Lien vers le notebook python :
user_journey = UserJourney("Mean application user journey", uj_steps=[application_step_1, application_step_2])
server = Autoscaling(
"Autoscaling server",
carbon_footprint_fabrication=SourceValue(600 * u.kg, Sources.BASE_ADEME_V19),
[..]
average_carbon_intensity=SourceValue(100 * u.g / u.kWh, Sources.HYPOTHESIS),
server_utilization_rate=SourceValue(0.9 * u.dimensionless, Sources.HYPOTHESIS))
e-footprint - Les travaux en cours
Création de builders basée sur les travaux d’eco-benchmark (et autres).
Un builder = des sous-modèles préremplis qui compose nos applications :
job_read = Job("Consultation Fiche", JobType.DATA_READ)
job_read = Job("Ecriture Fiche", JobType.DATA_WRITE)
job_read = Job("Liste Fiche", JobType.DATA_LIST)
job_read = Job("Valider fiche", JobType.TRANSACTION_STRONG) // blockchain
job_read = Job("Notification", JobType.SERVERLESS_WRITE)
job_read = Job("Recommander", JobType.ML_RECO)
e-footprint - Contribuez !
Projet open source et collaboratif (et lancé par Vincent Villet/Publicis Sapiens, maintenant open sourcé et sous gouvernance Boavizta) :
Les alternatives
Coté terminal/frontend :
Coté backend :
Cloud Computing et VM
Y
Le Cloud, KEZAKO ?
Un environnement oligopolistique
Source : https://kinsta.com/fr/part-de-marche-aws/
Le Cloud, KEZAKO ?
Le Cloud permet de déléguer une certaines parties des activités IT à un partenaire
Source : https://kinsta.com/fr/blog/types-de-cloud-computing/
Le Cloud, KEZAKO ?
Services basiques : infra
Services managés : plateforme
Applications
L’impact environnemental du Cloud en un clin d’oeil
⚡️ Faire fonctionner des serveurs, équipements réseaux ou encore stockage — impact des usages
🤖 Les différents équipements du datacentre ont un impact lié à leur fabrication — émissions intrinsèques
🏭 Les mises en application de l’IT peuvent avoir un impact — impacts indirects
🔄 Tendance à générer de nouveaux usages / besoins — effets rebond
67
On-prem vs Cloud - effet rebond
Source : https://www.groupeonepoint.com/fr/nos-publications/le-cloud-permet-il-vraiment-doptimiser-limpact-environnemental/
Impacts environnementaux de l’IT
⚡️ Consommation énergétique
🌍 Emissions GES
🪨 Extraction de ressources naturelles
💧 Consommation d’eau
📱 DEEE
🐧 Biodiversité
et plus encore…
69
Analyse du cycle de vie
multi-étapes & multi-critères
ISO 14040, ISO 14044, ITU 1410
Quelle évaluation pour mon infra Cloud ?
Cloud infras
Emissions intrinsèques
(instance AWS)
bientôt Azure, Scaleway et Hetzner 🎉
AWS EC2 and block storage
☁️
💶
Ratios monétaires
Les limites des CSP
https://boavizta.org/blog/calculettes-carbone-clouds-providers
Quelques bonnes pratiques
Comparaison d’architecture - Classique 17 VM
Source : https://www.groupeonepoint.com/fr/nos-publications/le-cloud-permet-il-vraiment-doptimiser-limpact-environnemental/
Architecture Kubernetes - 3 VM
Source : https://www.groupeonepoint.com/fr/nos-publications/le-cloud-permet-il-vraiment-doptimiser-limpact-environnemental/
Le défi, les volumes de données
On Premise / Bare Metal
Y
Cloud vs On-prem
Infra virtualisée
Consommation électrique
79
Temps
Puissance
Energie
🎛️
Facteurs d’émission
x
Impacts
🌍 Emissions GES
🪨 Extraction Ressources Naturelles
🛢️ Consommation d’énergie primaire
💧 Conssommation d’eau
and plus encore…
=
Variations en fonction du temps et de la localisation
Reconstruire la matérialité
80
⚙️ Process
💾 Systèmes IT
🛢 Matières premières
App
Assemblage
Packaging
Infrastructure
Gravure
Silicium Wafer
Energies fossiles
Production plastique
ENERGIE ⚡
Métaux
Tracer la consommation électrique
81
⚡️
Scaphandre
Agent de monitoring, ⚡️ CPU + RAM, Prometheus exp.
Framework : bdd, modèle, agent RAPL…
Server
Traduction en impact
Utilisation du Hardware — Emissions intrinsèques
82
Spécifications
Hardware
⚙️
Formules d’impact
(ou proxies)
=
ƒ(x)
Extraction Ressources > Manufacturing > Transport
Impacts
🌍 Emissions GES
🪨 Extraction Ressources Naturelles
🛢️ Consommation d’énergie primaire
💧 Conssommation d’eau
and plus encore…
WIP
⚡️
Scaphandre
Agent de monitoring, ⚡
Server
<< Requêtes
Data >>
Impact du matériel
<< Data
Requêtes >>
Illustration
Source : https://dataviz.boavizta.org/serversimpact
Ecran Boaviztapi
Conclusion
Y
Les autres chantiers de Boavizta
Evaluation impact Machine Learning
…
En conclusion
Pour bien évaluer l’empreinte environnementale de son IT, cela nécessite :
boavizta.org
Merci de votre attention
Discuter sur notre chat public :
Suivre nos actualités :
Accéder à notre site web :
Contribuer à nos outils :
Annexes
Y
Les modèles
Y
Simple model par Danny Van Kooten
Type : Modélisation
Périmètre : Réseau
Année d’apparition : 2020
Licence : -
Détails: basé sur la bande passante. 0,5 kWh per GB.
Liens :
Navigateur
(Terminal)
Data Center
Réseau
Whole Grain / websitecarbon.com (v2)
Type : Modélisation
Périmètre : Ensemble
Année d’apparition : 2020 (basé sur des études de 2017)
Licence : Propriétaire
Détails : basé sur la bande passante. 1,805 kWh per GB.
Liens :
Navigateur
(Terminal)
Data Center
Réseau
Sustainable Webdesign = Websitecarbon.com(v3)
Type : Modélisation
Périmètre : Ensemble
Année d’apparition : 2021 / 2022
Licence : Open Source / Apache 2.0
Détails : basé sur la bande passante. 0,81 kWh per GB.
Liens :
Navigateur
(Terminal)
Data Center
Réseau
Sustainable Webdesign = Websitecarbon.com(v3)
One Byte Model (Shift project)
Type : Modélisation
Périmètre : Navigateur + Réseau + Data Center
Année d’apparition : 2021
Licence : Propriétaire
Détails : basé sur la bande passante et le temps de consultation. 0,24 kWh per GB + 0.11 Wh par minute.
Liens :
Navigateur
(Terminal)
Data Center
Réseau
CO2.JS
Type : Wrapper One Byte Model et Sustainable Webdesign
Périmètre : Navigateur + Réseau + Data Center
Année d’apparition : Idem
Licence : Apache 2.0
Détails :
Liens :
Greenframe
Type : Modélisation
Périmètre : Réseau + Data Center
Année d’apparition : 2020
Licence : Propriétaire + Code disponible figé à fin 2020 sans licence sur github.
Détails : agent de mesure basé sur le CPU, la mémoire et l’usage du réseau.
Liens :
Data Center
Réseau
Greenoco
Type : Modélisation
Périmètre : Navigateur + Réseau + Data Center
Année d’apparition : 2022
Licence : Propriétaire
Détails :
Liens :
Navigateur
(Terminal)
Data Center
Réseau
Fruggr
Type : Modélisation
Périmètre : Navigateur + Réseau + Data Center
Année d’apparition : 2021
Licence : Propriétaire
Détails :
Liens :
Navigateur
(Terminal)
Data Center
Réseau
Digital Beacon
Type : Modélisation
Périmètre : Navigateur + Réseau + Data Center
Année d’apparition : 2020
Licence : Propriétaire
Détails :
Liens :
Navigateur
(Terminal)
Data Center
Réseau