27/01/2025
Je suis allé à la dernière édition du forum PHP où j’ai pu entendre parler de transition écologique. Si vous aussi vous vous êtes déjà demandé ce que vous pourriez faire de plus pour la planète que de faire du compost, vous êtes au bon endroit !

La conférence qui a donc le plus retenu mon attention lors de l’édition 2024 du forum PHP est celle sur le DevGreenOps d’Alexandre Morgault, “L’inévitable chemin vers le DevGreenOps”. J’aime bien quand des sujets de société s’immiscent dans le monde professionnel et ce sujet particulièrement me tient à coeur, l’article que vous vous apprêtez à lire constitue donc ma pierre à l’édifice ! Si vous êtes climatosceptique ou que vous pensez que la Terre est plate je suppose que ça ne vous intéressera pas trop (bien que vous ayez sûrement tort), sinon on parlera ici de ce qu’est le DevGreenOps, de comment l’intégrer dans vos outils et des potentiels bénéfices pour un groupe de conseil et de réalisation digitale tel qu’ekino. Et accessoirement pour la planète.
Qu’est ce que le DevGreenOps ?
Avant de se demander ce qu’est le DevGreenOps, commençons par nous demander ce qu’est le DevOps.
Le DevOps est une méthodologie ayant pour objectif la livraison continue de valeur. Elle répond notamment au besoin des clients de s’adapter plus rapidement aux évolutions du marché en leur permettant d’innover plus facilement. Pour faire simple, cette méthodologie s’appuie sur :
- des cycles de développement courts pour multiplier les mises en production
- l’automatisation des processus de test, de monitoring et de déploiement
- une collaboration plus étroite des équipes dev et ops
On a donc des livrables plus fiables et qualitatifs, mis en production plus rapidement.
Le DevGreenOps vise donc à intégrer à cette méthodologie des pratiques plus respectueuses de l’environnement. Les leviers actionnables sont partout, du code produit par les développeurs jusqu’aux serveurs qui l’héberge.
Comment faire du DevGreenOps ?
Écrire du code plus vert
Il ne vous a probablement pas échappé que certaines structures de code étaient plus ou moins consommatrices de ressources, et qui dit consommation de ressources dit consommation d’énergie. Et bien sachez que des outils existent pour faire la chasse au code polluant !
Creedengo (feu ecoCode) est un outil de la Green Code Initiative proposant un plugin Sonar permettant de relever des codes « smells » liés à l’écoresponsabilité de votre codebase. Un exemple parmi d’autres : limiter l’utilisation de variables globales, que l’interpréteur doit passer au crible pour les valider, ce qui consomme des cycles CPU. Vous pouvez retrouver l’intégralité des code smells sur le GitHub du projet.
Les code smells sont contribués par la communauté sur la base de bonnes pratiques répertoriées entre autres dans le GR491, le guide de référence de conception responsable de services numériques écrit par l’Institut du Numérique Responsable (INR) et le Référentiel général d’écoconception de services numériques (RGESN) créé par « l’Arcep et l’Arcom en lien avec l’ADEME (…) la DINUM, la CNIL et l’INRIA ». Je vous laisse deviner les acronymes, mais globalement cette initiative nous vient du gouvernement et fait suite à loi relative à la réduction de l’empreinte environnementale du numérique.
Si on regarde un peu ce qui s’y trouve, on voit par exemple dans le GR491 des recommandations sur le traitement des données : « Est-ce que l’API fournit des limites, des filtres et la liste des champs à retourner ? ». Il propose ici de limiter la taille des retours API pour ne fournir au front que les données dont il a besoin pour réduire la consommation énergétique.
Un peu de surveillance
Un point important du DevOps et non moins important du DevGreenOps est le monitoring de l’application. En plus de surveiller les performances ou les logs de votre application, le DevGreenOps propose de mettre en place une surveillance de la consommation d’énergie pour identifier les process gourmands afin de les optimiser.
Vous pouvez pour cela utiliser des outils comme Grafana ou, encore plus spécialisé, Green Metrics Tool. Ces outils vous permettent de surveiller en temps réel différentes métriques de votre application dont la consommation d’énergie, l’utilisation des ressources mémoire et CPU, les émissions de CO2, l’efficacité énergétique (en opérations par joule), la température du CPU.
Le monitoring vous permettra donc d’établir des points d’amélioration facilement quantifiables et intégrables dans des KPI pour les cycles d’intégration et de déploiement futurs.
Pourquoi passer au DevGreenOps
Si vous êtes un écologiste averti, le DevGreenOps sera sûrement plus une évidence pour vous. Cependant, dans le quotidien de la gestion d’une application, ce qui prime souvent est le retour sur investissement. Dans ce contexte, passer du côté green de la Force peut paraître contraignant car il s’agit de rajouter des restrictions à des process déjà pas toujours évidents. Cependant, d’après les lectures que j’ai pu faire, il m’apparaît qu’une partie des pratiques préconisées par le DevGreenOps se recoupent avec d’autres dont l’importance niveau business est peut-être plus évidente.
Nous parlions du guide GR491 qui préconise de maîtriser les données dans les retours API, c’est aussi quelque chose qui est préconisé par l’Open Worldwide Application Security Project (OWASP). Plus généralement, la maîtrise du stockage et de la lecture des données est quelque chose qui améliorera et la sécurité de votre application, et son efficience.
L’optimisation des performances d’une application, en plus de la rendre plus éco responsable, mène forcément à une expérience utilisateur améliorée. Si toute l’infrastructure est optimisée, on peut aussi réduire les coûts opérationnels. Il peut être pertinent de s’intéresser aux solutions d’hébergement serverless, qui permettent de ne payer que ce qui est consommé par l’application. L’hébergement « classique » d’une application implique la location fixe d’un nombre de serveurs, en serverless, on paye ce que l’on consomme, ce qui permet d’éviter le gaspillage d’espace serveurs.
Quoi de mieux pour une entreprise à but lucratif que de proposer un service moins cher à maintenir, plus efficace et plus sécurisé à ses clients ? Du DevOps au DevGreenOps il n’y a qu’un pas. Sans compter le gain en image de marque, qui peut permettre d’attirer de nouveaux talents ou encore de profiter de nouvelles opportunités. Comme le disait Alexandre Morgault, le DevGreenOps est déjà parmi nous puisque des appels d’offres pour la transformation numérique des administrations publiques incluent souvent des exigences en matière de durabilité et d’efficacité énergétique.
Pour autant, tout comme les principes DevOps classiques, il faut du temps pour que ces idées soient adoptées, ne serait-ce qu’à cause de l’inertie organisationnelle. Chez ekino nous sommes engagés en matière de RSE et convaincus de l’intérêt des pratiques Green, mais l’effort doit être global et nécessite une évolution des pratiques dans tous les secteurs pour faciliter et accélérer la transition. Cependant il est certain que mettre le sujet sur la table et s’ouvrir dès aujourd’hui à certaines des recommandations proposées, notamment celles évoquées ci-dessus, peut constituer un premier pas et avoir un effet positif apprécié par les clients sur la qualité de nos produits et sur leur sobriété.
“Rien ne se passe jusqu’à ce que quelque chose bouge.” Albert Einstein
Ressources
Un bel article d’Olivier Philippot, fondateur du Green Code Lab
Des infos sur le label Numérique Responsable de l’INR, dont je n’ai pas parlé
Sur d’autres sujets mais tout aussi intéressant, les conférences de mes collègues Néréa et Julien qui ont eu la chance d’être speakers à cette dernière édition du forum :
Standaaardisez vos tests, par Néréa Enrique
La goutte d’eau qui fait déborder le cloud, par Julien Joye
Du DevOps au DevGreenOps, il n’y a qu’un pas was originally published in ekino-france on Medium, where people are continuing the conversation by highlighting and responding to this story.