Qu'est-ce que le Green Software ?
17. November 2024
Le Green Software est un concept défini par la Green Software Foundation dans le but de réduire les émissions de CO2 et ainsi lutter contre le changement climatique. Il existe d’autres termes dans le domaine de la durabilité, mais dans cet article, je souhaite me concentrer sur le Green Software.
La Green Software Foundation est une organisation à but non lucratif sous la Linux Foundation. Elle définit le Green Software avec le diagramme suivant. L’objectif du Green Software est de réduire la quantité de carbone émise, et non la neutralisation du carbone déjà émis. Le logiciel est mis au centre, car il est le principal moteur de CO2 dans nos solutions informatiques.
Examinons les différents principes de ce diagramme et leur signification :
Efficacité carbone
L’objectif du principe d’efficacité carbone est d’émettre moins de CO2. Cela peut être atteint soit en utilisant moins d’énergie lors de la production (efficacité énergétique), soit en utilisant moins de matériel (efficacité matérielle).
Selon l’appareil et son application, l’efficacité énergétique ou l’efficacité matérielle domine le cycle de vie. Pour les serveurs, le CO2 émis pendant la phase d’utilisation par la consommation d’énergie est significatif. Améliorer l’efficacité du code peut être bénéfique dans cette situation. Côté client, la plupart des émissions se produisent lors de la production. La consommation d’énergie lors de l’utilisation d’une tablette, d’un téléphone ou d’un ordinateur portable est presque négligeable. Il est donc plus important de développer des logiciels qui ne réduisent pas la durée de vie de l’appareil client (par exemple, la compatibilité ascendante avec les anciennes plateformes).
Efficacité énergétique
Les logiciels écoénergétiques utilisent le minimum d’énergie pour accomplir les tâches nécessaires. Cela peut être réalisé de différentes manières. L’approche évidente est d’écrire du code écoénergétique. Un grand levier, souvent plus facile à mettre en œuvre, est l’utilisation de langages, frameworks et bibliothèques moins énergivores.
Un autre facteur important est simplement de faire moins. Une approche lean du développement logiciel peut aider à tout remettre en question et à ne mettre en œuvre que ce qui est vraiment nécessaire.
Efficacité matérielle
Pour devenir efficace sur le plan matériel, nous devons atteindre deux objectifs principaux. Premièrement : maximiser l’utilisation du matériel. Cela est dû au fait que chaque matériel contient ce qu’on appelle de l’énergie grise, qui se produit lors de la production, du transport et de l’élimination.
Deuxièmement : optimiser l’utilisation. Plus nous pouvons exécuter de tâches sur un même équipement, moins nous devons en acheter, réduisant ainsi la quantité de carbone incorporé.
Conscience carbone
Si nous agissons avec conscience carbone, nous utilisons l’énergie dans des endroits ou à des moments où la même quantité d’énergie peut être produite en émettant moins de CO2. Cela est devenu réalisable grâce aux avancées de l’infrastructure cloud, car les centres de données supportent de plus en plus les déplacements régionaux ou temporels des charges de travail. Des services en ligne comme electricity map peuvent fournir des données en temps réel pour prendre les bonnes décisions.
Dans les centres de données, nous avons souvent beaucoup de contrôle. Nous pouvons décider où et quand le code s’exécute. Il est possible de déplacer notre code vers des régions du monde où l’énergie est actuellement plus verte. Avec le « demand shaping », nous pouvons tenter de déplacer la demande de notre application vers un moment plus optimal ou même la réduire. Les tâches non critiques dans le temps comme les traitements par lots, les sauvegardes ou l’entraînement de modèles d’IA peuvent être déplacées vers des moments où l’énergie est moins intensive en carbone.
Côté client, nous avons moins d’influence. Beaucoup de choses ne peuvent même pas être mesurées. Nous ne savons (généralement) pas à quel point l’électricité de l’utilisateur est verte, et il est souvent difficile de le mesurer sur son appareil.
Mesure et surveillance
On ne peut pas améliorer ce qu’on ne connaît pas. C’est là qu’interviennent la mesure et la surveillance. Nous sommes encore au début du chemin pour apprendre comment faire cela dans notre paysage IT de plus en plus complexe. Il existe de nombreux points dans le cycle de vie où nous pouvons mesurer les équivalents CO2 de notre solution. Nous pouvons mesurer nos tests, la consommation de nos serveurs ou l’efficacité d’une page web. Il n’existe pas de mesure universelle unique.
Conclusion
Le Green Software est un cadre utile qui nous aide à comprendre les domaines sur lesquels nous devons travailler pour réduire les émissions de carbone de nos solutions IT. Les principes « écoénergétique », « efficacité matérielle » et « conscience carbone » nous donnent des lignes directrices pour commencer à nous améliorer.
Cet aperçu est à très haut niveau, et chacun des principes offre beaucoup plus à apprendre. Si vous souhaitez en savoir plus, suivez-moi ici, consultez le matériel du cours Green Software Practitioner ou lisez l’excellent livre « Building Green Software » d’Anne Currie.
Même si l’ensemble du sujet semble grand et intimidant, l’essentiel est de simplement commencer. Choisissez un principe, apprenez-en davantage et commencez à le mettre en œuvre !
