Pourtant vous n'en aviez peut-être jamais entendu parler, et l'idée même qu'un logiciel puisse consommer de l'énergie vous paraît sans doute étrange. Il est donc temps de lire ce billet !
Effectivement ce sujet est peu traité pour le logiciel. On parle souvent de "GreenIT", pour une informatique plus verte, mais c'est pour parler de l'efficacité énergétique des infrastructures, pas du logiciel. Selon l’Agence internationale de l’énergie (IEA en anglais), le numérique consommerait déjà 10% de l’électricité mondiale, même si la croissance de ces besoins ralentit, certainement avec le remplacement de petits data centers privés d'entreprises par des data centers plus efficaces, notamment dans le Cloud.
Les offres de data centers ont donc beaucoup évolué ces dix dernières années, car leur empreinte écologique est devenue un symbole des effets pervers de la digitalisation de l’économie. Cependant il est bon de rappeler que les technologies de l'information sont certainement un problème pour leur contribution en termes de gaz a effet serre, mais elles sont également une partie de la solution par les économies qu'elles peuvent générer dans d'autres industries.
Sans informatique, pas de smart grids qui permettent d'intégrer des énergies vertes, moins facilement planifiables comme le solaire ou l'éolien par exemple. La question est de trouver le bon équilibre.
Un autre exemple est la perspective offerte cette semaine par les syndicats de la SNCF avec la menace de blocage des transports pendant un mois. Ce blocage peut en effet se résoudre soit avec tout le monde dans une voiture, soit avec tout le monde en télétravail, donc utilisant téléphones, réseaux, ordinateurs et data centers - où sont leurs applications - mais depuis leur domicile.
Le télétravail est certainement plus vertueux que la voiture sur le plan environnemental, et même plus que l'offre SNCF car finalement, pourquoi se déplacer pour travailler ? Il y a donc bien des vases communicants sur le plan énergétique en fonction des différents usages, et l'informatique, bien que consommant également de l'énergie, amène de nouvelles solutions.
La question n'est donc pas tant la consommation des data centers et des réseaux, mais bien l'usage qui en est fait et s'il se substitue à un autre usage beaucoup plus énergivore.
Cet impact environnemental de l'IT dans son ensemble est aujourd'hui pris en compte par les professionnels des data centers. C'est maintenant aux clients de privilégier les fournisseurs qui l'intègrent en ne regardant pas uniquement le coût. C'est également aux pouvoirs publics d'encourager des démarches de labels verts, voire d'aller vers une législation plus contraignante. Dans un autre domaine - la sécurité - c'est bien ce qui se passe avec une agence gouvernementale aux commandes (l'ANSSI). On a des certifications d'offres, une inscription de la cybersécurité dans la loi de programmation militaire, ou encore un Règlement Général des Données Personnelles comme contrainte.
Donc finalement, la question du GreenIT est maintenant peut-être moins sur les data centers que sur ceux qui les utilisent : les applications.
En effet, c'est une chose d'être le data center le plus efficace possible pour produire un service avec le moins d'énergie, et une autre que de réduire les services avant qu'ils ne soient demandés au data center.
Prenons la recherche dans le moteur de Google par exemple. Elle doit sa performance à la redondance des requêtes envoyées sur plusieurs data centers ou sur plusieurs serveurs. La même recherche est donc exécutée plusieurs fois (ce qui consomme plus) et c'est la première requête qui a terminé qui vous donne le résultat. On a beau avoir le data center le plus efficace du monde, et ceux de Google ne sont pas mauvais en terme de PUE - Power Usage Effectiveness - on a quand même dépensé plus d'énergie que nécessaire. C'est le prix de la meilleure performance.
Mais qui a pris cette décision de compromis entre énergie et performance, qui d'une certaine façon influence l'avenir écologique de la planète ?
C'est là que l'éco-conception entre en scène dans les sociétés qui s'en préoccupent. Comme pour la sécurité, les ingénieurs d'éco-conception vont revoir le design de l'application par rapport à d'autres enjeux qu'uniquement celui de l'expérience utilisateur ou la performance.
Pendant une dizaine d'années ces acteurs de l'éco-conception, comme le français Frédéric Bordage, qui a écrit un des rares livre sur le sujet dont GreenSI avait déjà parlé, prêchaient parfois certainement dans le désert.
Mais aujourd'hui, ce sujet revient sur le devant de la scène pour une raison moins romantique que de sauver la planète, celle de sauver la batterie de votre téléphone portable !
En effet, ces 10 dernières années ont vu l'informatique basculer d'un poste raccordé au réseau électrique à un terminal raccordé à une batterie. Les objets connectés prévus en dizaines de milliards vont amplifier ce phénomène.
La maîtrise de la consommation énergétique du terminal est devenue un sujet important pour les entreprises, comme la SNCF avec son projet COSMO qui déploie des smartphones aux agents dans les trains pour contrôler et renseigner les voyageurs et accéder à l'intranet. Ces agents doivent pouvoir faire fonctionner tous leurs services avec leur smartphone, sans le recharger. Il faut donc être vigilant à la consommation des applications. Si vous êtes disponible le 23 mars sur Paris, les acteurs du projet seront présents pour un retour d'expérience sur le sujet.
C'est également le cas chez Suez Smart Solution qui aura déployé fin 2017 plus de 3,5 millions de compteurs d'eau télérelevés dont la batterie doit durer au moins 10 ans, tout en continuant d'émettre tous les jours les précieuses informations de consommation et de fonctionnement pour assurer les services aux clients et piloter la performance du réseau.
La solution proposée par l'éco-conception est finalement simple. Il faut designer le logiciel et les objets connectés avec cet enjeu énergétique en tête dès le départ, puis mesurer régulièrement pour qualifier les applications avant mise en production, puis en fonctionnement.
On est proche d'une démarche DevOps, faisant le lien entre les développeurs et les opérations, car ce sont bien ces dernières qui voient l'impact énergétique des décisions prises par les premiers.
Au niveau du design on revient à des fondamentaux - à de la frugalité diraient certains - pour concilier simplicité (un besoin = un service) en se penchant uniquement sur les besoins essentiels et ce jusqu'à un résultat suffisamment pertinent sans aller au-delà. Là aussi, on s'inspire des démarches agiles.
Des startups, comme Greenspector, se positionnent sur ce créneau et accompagnent les entreprises éditrices de logiciels dans l'application des principes d’écoconception et d’efficience énergie-ressources nécessaires tout au long de leur cycle de vie.
Leurs solutions consistent à offrir aux développeurs un environnement pour identifier les postes de sur-consommation de ressources-énergie dans leur code, corriger les plus sensibles et mesurer les gains après corrections, et ce sur tous les terminaux côté client. On trouve également des sites en ligne pour tester vos sites internet, comme par exemple EcoIndex.
Dans les recommandations de l'éco-conception, on privilégie le recours aux plug-ins, appelle toutes les données en une fois, gère les "timeout", utilise mieux les caches... et bien sûr bannit les requêtes multi-serveurs, plutôt que de tout déporter sur le serveur et passer son temps à l'interroger.
Les communautés de ceux qui intègrent les enjeux écologiques dans le numérique existent, comme par exemple Green Code Lab, qui veut un développement logiciel plus durable et plus responsable. Cette communauté a publié récemment un ouvrage commun pour diffuser les "green patterns" à privilégier quand on écrit du code.
Avec l'amplification de démarches encore plus "massives" dans le traitement des données (bigdata, IA...) et le déploiement massif de l'internet des objets, la transformation digitale n'ira loin que si ces pratiques ne se déploient. Autant prendre en compte ce frein potentiel le plus tôt possible.
D'ailleurs pour GreenSI, c'est l'éco-conception qui fera la différence sur le moyen terme entre toutes les cryptomonnaies, dont le bitcoin - catastrophe environnementale pour sa conception - parce que justement le modèle qui gagnera sera un modèle durable.
Alors allez demander à votre responsable des études applicatives comment il intègre l'éco-conception dans le logiciel. Plus le blanc avant sa réponse sera long, plus vous mesurerez l'effort qu'il vous reste à faire ;-)