Dans les années 2000-2015, l’utilisation des ressources (mémoire, calcul, stockage, etc.) n’était pas vraiment encore un sujet. À chaque montée de version, il y avait effectivement une inflation des ressources demandées aux clients, lesquels l’opéraient aisément sans coûts excessifs. Il y avait donc peu de considération sur ce que consommait une application. Aujourd’hui, les choses se sont inversées, le coût de l’énergie et la crise climatique ont changé la donne. D’ailleurs, lors de la dernière édition de KubeCon 2023 en avril dernier qui rassemble la communauté Kubernetes, la problématique de la gestion des ressources était au cœur de l’événement. Comment inciter les utilisateurs à surveiller l'influence de leurs logiciels sur la consommation d’énergie pour rendre, in fine, le datacenter plus durable, bref de porter aussi le développement durable dans le développement des logiciels. « En tant qu’éditeur, nous agissons sur plusieurs volets dans notre façon de concevoir des logiciels. Déjà, dans notre organisation, nous disposons d’une équipe durabilité (sustainability) composée d’experts, de responsables produits ou encore d’architectes qui se placent au cœur de notre stratégie de développement de logiciels. Ensuite, nos développeurs ont suivi des formations et exploitent des outils, des frameworks et des algorithmes conçus en interne et externe d’éditeurs tiers. Cela les aide par exemple à savoir si le code est optimisé pour la consommation du processeur. Un code optimisé, c’est moins de hardware à mettre en place. Nous pouvons réduire par 5 voire par 10 les ressources en fonction des algorithmes utilisés. En interne, nous exploitons aussi des tests et des revues sur le contrôle et l’exécution des services pour optimiser l’impact environnemental », détaille Fabrice Mazars, directeur Business Solutions Strategist chez VMware France. À noter que l’éditeur californien planche aussi sur des matrices de compatibilité de ses logiciels pour les rendre plus durables par rapport à la diversité des matériels existants dans les entreprises, même les plus anciens. Pour Fabrice Mazars, toutes ces initiatives sont encore naissantes, l’écosystème doit s’enrichir et se fédérer. C’est d’ailleurs dans ce contexte que s’inscrit Kepler. Ce projet en open source, initié par Red Hat épaulé par IBM Research et Intel, a pour objectif de relever des indicateurs de mesure de consommation électrique sur un large éventail de plateformes, en se concentrant sur la création de rapports, la réduction et la régression afin d'aider les entreprises à mieux comprendre la consommation d'énergie. Selon Red Hat, Kepler utilise des méthodes et technologies cloud native éprouvées, telles que l'eBPF (extended Berkeley Packet Filter), les compteurs de performance du processeur et les modèles d'apprentissage automatique, qui permettent d'estimer la consommation électrique des charges de travail et d'exporter les résultats sous forme d'indicateurs de mesure, lesquels sont, par la suite, exploités par les décideurs. Kepler, qui a été cédé à la Cloud Native Computing Foundation (CNCF), ajuste et affine continuellement ses modèles préentraînés en se servant des données de nœuds provenant d'agents d'estimation de la puissance fonctionnant sur des serveurs.

Le cloud, un accélérateur dans une conception plus durable des logiciels

Le développement plus durable des applications passe aussi par le cloud selon Sebastien Weill, directeur produit chez Forterro, un éditeur de plusieurs ERP industriels (Helios, Silog, Sylob, Clipper). « Notre premier axe est le développement du cloud qui permet cette mutualisation des ressources, d’avoir plusieurs clients sur une même infrastructure. De plus, en faisant appel à un fournisseur de cloud, nous bénéficions de matériels optimisés ainsi qu’une meilleure utilisation de l’énergie. » De plus, le cloud avec leur modèle de facturation à l’usage oblige indirectement les éditeurs à faire des efforts dans le développement de leurs applications. « Nous faisons d’ailleurs un important travail d’analyse et de compréhension pour résoudre les problèmes de développement liés à l’utilisation des ressources. Comment ? Par des tests de performances pour diminuer la latence par exemple et des tests de charge pour mesurer les impacts et les ressources consommées. On peut voir le comportement avec un utilisateur, 10 utilisateurs ou 100 utilisateurs », explique Sebastien Weil. Et de conclure : « En tant qu’intégrateur de nos solutions, nous réfléchissons aussi à mieux promouvoir auprès de nos clients la maintenance à distance, car les déplacements nous coûtent très chers. Et là, la problématique n’est pas technique, mais est plus liée à l’esprit des gens qui ont encore du mal à accepter cette pratique, il faut trouver et former en face les bons interlocuteurs. »