Contribuer à un web plus responsable avec des approches de développement plus respectueuses

Les approches et les technologies retenues en matière de développement applicatif ont une incidence importante, voire majeure dans certains cas, sur les ressources numériques consommées (traitement, CPU, GPU, échanges de données sur les réseaux, stockage…), et in fine sur l’empreinte carbone de toute la chaîne impliquée. Les développeurs, dans leurs pratiques de codage notamment, peuvent eux-aussi contribuer à un web plus responsable. Retour avec AdVaes sur quelques pistes à mettre en œuvre à l’appui des actions conduites par l’entreprise de services du numérique Globalis.

Fin 2020, AdVaes s’est entretenu avec Frédéric Hovart et Armel Fauveau, tous deux co-fondateurs de Globalis, respectivement DG et CTO, sur les engagements responsables de leur société (cf. rapport d’engagements responsables accessible sur le site web de la société). Un volet spécifique portait notamment sur les approches éco-responsables de leurs équipes de développeurs(ses). 

Pourquoi aborder cette problématique ? 

Les opérateurs de centres de données sont confrontés à des pressions de plus en plus fortes tant réglementaires que de leurs clients, pour diminuer leur empreinte carbone et leurs émissions de gaz à effet de serre (GES). En 2018, la consommation électrique des centres de données est estimée à 2,7% de la demande électrique totale européenne selon la Commission Européenne [1]. Elle devrait avoisiner les 3,2% d’ici 2030, favorisée par la croissance des besoins en solutions de cloud computing et en traitement des données sous tous ses prismes. 

Les opérateurs de centres de données peuvent agir en direct sur leur périmètre : bâtiments, infrastructures, refroidissement des équipements qui peut représenter jusqu’à 50% de la facture énergétique selon les techniques retenues, souscription à des programmes d’énergies vertes, achats éco-responsables... En revanche, ils ne peuvent intervenir sur les approches de leurs clients (éditeurs de logiciels, équipes de développement au sein de grands clients finaux, d’agences web ou d’entreprises de services du numérique…). Pour que les résultats soient à la hauteur des attentes et des objectifs fixés (cf. The Climate Neutral Data Centre Operator Pact and Self-Regulatory Initiative), il est impératif que tous les acteurs de la chaîne prennent leur responsabilité et agissent à leur niveau, sur les périmètres qu’ils contrôlent, dans un processus vertueux.

Or, la manière dont une application est développée, vérifiée et ensuite gérée peut avoir un impact plus ou moins important sur les briques sous-jacentes : ressources de traitement, ressources de stockage, ressources réseaux… Elle peut agir sur l’efficience globale d’un centre de données et contribuer à une meilleure maîtrise de son empreinte carbone

Quels sont les leviers possibles ?

Dans son rapport d’engagements responsables, la société Globalis évoque que “dans l’environnement du développement web, et plus largement celui des applications numériques, il existe une surenchère favorisant le recours à des outils et des technologies surdimensionnés par rapport à la finalité des besoins finaux. [...] Ce phénomène de surenchère est à l’opposé de démarches sobres et qui s’affranchissent de tout effet de mode, plus respectueuses de l’environnement.” 

Pour s’inscrire dans une telle démarche respectueuse, Globalis applique au quotidien les principes de base suivants :

  • Choix de serveurs de développement LAMP (Linux, Apache, MySQL et PHP) sur lesquels sont déposés le code à exécuter - poste client léger, consommant peu de ressources ;
  • Recompilation des briques applicatives essentielles sous Slackware, l’une des plus anciennes distributions Linux, dont la force réside dans sa robustesse et sa stabilité - approche qui évite de récupérer des extensions diverses et variées qui ne sont pas nécessaires ;
  • Apprentissage du développement par contrainte pour optimiser les traitements ;
  • Choix de langages de développement moins consommateurs tant côté serveur qu’environnement de développement (cf. PHP aux origines de la société vs. Java). Idem pour les frameworks de développement et les approches actuelles à base de micro-services réutilisables ;
  • Développement d’une culture de la maîtrise du code numérique où la technique est avant tout un moyen pour arriver à un objectif ;
  • Adhésion au principe “KISS” (Keep It Simple, Stupid).

Chaque projet qui passe en production chez Globalis est aussi évalué en termes de performance web (cf. les résultats obtenus dans le cadre de l’évolution du site Internet d’un de ses clients développé avec le CMS WordPress).

Source : extrait du rapport d’engagements responsables de Globalis réalisé par AdVaes - Janvier 2021

Les pistes retenues par Globalis en matière de codage et de développement ne sont pas exclusives bien sûr. Elles sont données ici à titre d’exemple. D’autres pistes existent et peuvent avoir des apports tout aussi bénéfiques. Quelles que soient celles privilégiées, les éléments systématiquement regardés, et sur lesquels des leviers d’optimisation sont possibles, portent entre autres sur :

  • Les langages de développement retenus ;
  • La réutilisation de composants applicatifs pour éviter de re-mobiliser des ressources déjà consommées à les créer. Sur ce registre, les nouveaux modèles de développement à base de micro-services et d’APIs peuvent aider sachant que d’autres enjeux y sont associés ;
  • L’amélioration de la latence d’accès aux services applicatifs (lourdeur, performance, bande passante mobilisée…) ;
  • L’amélioration de l’expérience utilisateur afin qu’il accède le plus rapidement possible au service recherché et consomme ainsi le moins de ressources possibles dans l’exécution du service ;
  • Les processus de vérification et de contrôle qualité du code (erreurs, duplications, boucles…) ;
  • La limitation des requêtes (intensité, volume…) ;
  • L’optimisation des tests pré-production ;
  • Le volume de données à stocker à distance, en cache du navigateur, sur le terminal (mobile, PC…) ;
  • Le poids des services annexes (sécurité, protection, plug-ins divers, services tiers, cookies…).

Travailler sur l’ensemble de ces éléments sont autant de facteurs qui peuvent agir positivement sur la consommation en ressources des applications développées, et in fine sur la consommation énergétique des infrastructures sous-jacentes les hébergeant, dont les centres de données.

[1] Energy-efficient Cloud Computing Technologies and Policies for an Eco-friendly Cloud Market

Vous avez aimé cette analyse, n'hésitez pas à la partager