Kubernetes transforme le développement logiciel en code plus écologique
On disait autrefois que les logiciels dévoraient le monde, mais c’est vrai quand il s’agit de durabilité. Le secteur des TIC est responsable de jusqu’à 3,9 % des émissions mondiales presque autant que les industries du transport aérien et maritime. Et ceci avant de commencer à penser aux ressources énergétiques autour de l’IA. Plus d’applications signifie plus de code qui doit être stocké quelque part.
Alors que des sujets tels que l’efficacité du matériel, l’énergie verte et les déchets électroniques sont des cibles courantes pour la durabilité du lieu de travail, le logiciel a toujours été absent du mélange.
Mais au cours des deux dernières années, les plus grands fabricants de logiciels au monde se sont donné pour mission de rendre les logiciels plus écologiques, en se concentrant sur des logiciels qui utilisent moins de ressources physiques et moins d’énergie.
Alors, comment créez-vous ou concevez-vous des applications dans le cloud pour être plus durables ? Pouvons-nous développer des logiciels qui rendent le matériel plus durable ?
En ce qui concerne les logiciels, la réduction des inefficacités en réduisant la dette technique, le bon dimensionnement, l’optimisation des machines virtuelles et l’écriture de code efficace réduit l’impact environnemental des logiciels. Et il offre une opportunité précieuse aux startups et aux entreprises de tous niveaux d’atteindre une plus grande durabilité et d’économiser de l’argent sur le stockage en nuage.
j’ai récemment participé KubeCon + CloudNativeCon Europeoù l’ingénierie logicielle verte était un sujet phare.
J’ai parlé au Dr Huamin Chen, ingénieur logiciel principal principal et responsable de l’équipe technique de développement durable au chapeau rouge Bureau du CTO, pour en savoir plus.
La première étape pour s’attaquer aux dépenses énergétiques des logiciels consiste à les suivre.
Il y a quelques années, Chen s’est associé à d’autres développeurs et chercheurs pour lancer le projet Kepler (Efficient Power Level Exporter basé sur Kubernetes), un projet open source communautaire fondé par le groupe des technologies émergentes de Red Hat avec les premières contributions d’IBM Research, Weave Works et Intel.
Le projet est né lorsque Chen s’est rendu compte que « si la recherche était abondante en termes de pratiques de durabilité open source, il y avait peu à offrir en ce qui concerne les produits et projets commerciaux ».
Kepler utilise des méthodologies et des technologies natives du cloud telles que les compteurs de performances CPU et les modèles d’apprentissage automatique pour sonder la consommation d’énergie par conteneur liée aux compteurs système et les exporter sous forme de métriques.
Ces métriques peuvent être utilisées pour créer des tableaux de bord qui présentent la consommation d’énergie à différents niveaux, y compris les conteneurs, les pods, les espaces de noms ou différents nœuds de calcul dans le cluster.
Les métriques Kepler peuvent être utilisées par un planificateur Kubernetes pour placer la charge de travail à venir sur le nœud de calcul qui devrait améliorer les performances par watt, réduisant ainsi la consommation d’énergie au niveau du cluster.
De même, les autoscalers Kubernetes peuvent utiliser les mesures de consommation d’énergie de Kepler dans les algorithmes d’autoscaling pour déterminer les ressources nécessaires pour une meilleure efficacité énergétique.
Le projet s’est concentré sur la fourniture de capacités de reporting, en particulier dans les applications industrielles telles que la fabrication, qui impliquent une énorme infrastructure physique, des environnements contrôlés par l’IA, des processeurs et de nombreux modèles d’apprentissage automatique.
Selon Chen :
« Lorsque le client peut voir les mesures de Kepler concernant sa charge de travail et sa consommation, il est plus motivé à faire quelque chose pour aider à la réduire. »
Il note que l’une des forces de Kepler est sa solide base de recherche :
« La R&D n’a pas toujours la méthodologie scientifique rigoureuse ou la rigueur pour créer un logiciel de qualité commerciale qui aide la communauté ou le client.
Nos efforts de collaboration signifient que nous pouvons générer des produits logiciels précis, basés sur des faits et non sur l’intuition. »
Il est également crucial pour Kepler de développer des métriques logicielles qui peuvent parler le même langage de durabilité et les mêmes objectifs que la législation zéro carbone :
« Nous voulons que les clients puissent choisir n’importe lequel de nos logiciels sans lire les petits caractères ou la documentation et comprendre exactement ce que le logiciel peut faire du point de vue de la durabilité. »
Tous les yeux sur l’impact environnemental de l’IA
Notamment, alors que l’IA est un outil souvent utilisé pour suivre et prévoir les émissions de carbone, son impact environnemental est moins bien compris.
L’inquiétude grandit quant à la quantité massive d’énergie, systèmes de refroidissement,et requis pour les ressources de calcul et l’énergie requise pour la formation et l’inférence de l’IA. Des modèles courants comme le BERT pourraient émettre autant qu’un vol transatlantique.
Cependant, il n’existe pas de référence universelle pour suivre l’intensité carbone des systèmes d’IA.
Chen et l’équipe de Kepler prévoient de présenter leurs progrès en matière d’IA durable dans les mois à venir.
Il note : « Compte tenu des centaines de millions de personnes qui utilisent Open AI, une réduction de 1 % a un impact significatif. »
L’UE finance des travaux dans ce domaine, notamment le projet SustainML, une collaboration entre plusieurs universités, instituts de recherche et entreprises privées à travers l’Europe. Il a développé un outil qu’il appelle Carbontracker pour permettre aux concepteurs d’IA de prédire la consommation d’énergie des applications d’apprentissage automatique.
Il utilise des modèles d’apprentissage automatique pour estimer les émissions de carbone associées à différentes configurations matérielles et logicielles et prédire l’empreinte carbone des futures formations. Il prend également en charge la prédiction de la durée totale, de l’énergie et de l’empreinte carbone de la formation d’un modèle DL.
Il y a aussi le projet académique FlexGen qui vise à faciliter l’exécution de grands modèles de langage avec moins de ressources, comme le GPU à produit unique. Il crée un système à haut débit pour permettre de nouvelles applications de modèles de base aux tâches axées sur le débit sur du matériel à faible coût, comme un seul GPU de 16 Go.
Une opportunité de répondre à la demande des clients
Alors, qu’est-ce que tout cela signifie pour l’utilisateur final ? Eh bien, en 2021, la France est passée législation pour réduire l’impact environnemental du numérique.
Cela inclut de se concentrer sur l’utilisation d’algorithmes économes en énergie, de centres de données optimisés et d’établir des directives d’éco-conception pour les logiciels et les services numériques.
Il est prévisible que d’autres pays européens emboîteront le pas, appelant les entreprises à plus de transparence sur leurs pratiques logicielles.
En termes de participation au bien commun, le génie logiciel vert offre également aux entreprises un moyen tangible d’atteindre leurs objectifs ESG. Cela contribue non seulement à la conformité réglementaire, mais augmente également les exigences des clients et des investisseurs. La réalité la plus prosaïque est que les logiciels plus écologiques réduisent les besoins de stockage de données et les dépenses énergétiques.
Nous sommes loin que les logiciels durables soient à l’avant-plan du discours plus large sur la durabilité dans la technologie, mais les fournisseurs de logiciels mènent le mouvement, et l’élan bouillonne sous la surface, prêt pour l’éruption. C’est ainsi que nous mettons des solutions commerciales entre les mains des utilisateurs.
Ressources additionnelles
Par souci de brièveté, je me suis concentré sur certaines initiatives logicielles clés. Je vous encourage également à consulter les éléments suivants :
TAG Durabilité environnementale prend en charge les projets et les initiatives qui fournissent des applications cloud natives, y compris la création, l’empaquetage, le déploiement, la gestion et l’exploitation.
La Green Software Foundation est une organisation à but non lucratif fondée par Accenture, GitHub, Microsoft et ThoughtWorks, établie avec la Linux Foundation et les Joint Development Foundation Projects pour créer un écosystème fiable de personnes, de normes, d’outils et de pratiques exemplaires pour la création de logiciels verts, et travailler ensemble pour réduire les émissions de carbone des logiciels.
La Fondation Web verte se concentre sur la transition vers un Internet sans énergie fossile, y compris la gestion de la plus grande base de données ouverte au monde qui suit les parties d’Internet et des sites Web fonctionnant à l’énergie renouvelable.
Technologie d’action climatique est une communauté de pratique de travailleurs de la technologie qui fournit un soutien et des conseils pour le changement systémique.