Lorsque le numérique a commencé à se développer, on a d’abord pensé aux bienfaits et, notamment, la réduction de l’usage du papier et l’optimisation du travail collaboratif dans les organisations. Ce qui n’est pas faux. N’oublions pas que le numérique est avant tout un moyen d’éviter l’abondance de papier consommateur de ressources physiques pour sa production et son stockage et, donc, de participer à la sobriété numérique.

Cependant, les flux d’informations, les données que nous stockons, les back-ups, la duplication des données par sécurité, nécessitent des infrastructures, des réseaux… elles-mêmes gourmandes en énergie, et beaucoup de matières premières. L’empilement incontrôlé de différentes technologies, applications et architectures, le sentiment d’une capacité infinie est tel que nous sommes arrivés à l’ère de l’infobésité !

Si on n’y prend garde, le numérique devient un problème par l’augmentation du volume d’informations, alors qu’il doit être la solution à la sobriété numérique.

Les pistes vers la sobriété numérique

1ère piste : agilité, design thinking et MVP

Plus qu’une méthodologie de gestion de projet, l’agilité est un état d’esprit à adopter avec, pour principal objectif d’optimiser l’alignement des équipes, d’éviter l’effet tunnel et d’être plus proche du besoin de l’utilisateur.

En centrant la conception du produit autour de l’utilisateur, l’agilité permet l’accélération de sa mise à disposition et de maximiser sa valeur ajoutée. En synthèse, l’agilité est un bon moyen de répondre aux 3U :

  • Utile : utilisation du design thinking pour prioriser les besoins utilisateurs de sorte de garantir l’utilité du produit. Le Design Thinking est un processus d’innovation qui favorise la collaboration entre profils variés et la cocréation avec les clients
  • Utilisable : la mise à disposition rapide d’un MVP pour tester en condition réelle le produit auprès des utilisateurs. Le mimumum viable product permet de valider les grandes lignes du projet et de s’assurer que le produit réponde parfaitement au besoin. Cette stratégie permet, non seulement un réel alignement entre le produit et sa cible, mais aussi de se centrer sur l’essentiel
  • Utilisé : mise en place de retours utilisateurs pour améliorer et itérer sur le produit en continu afin qu’en plus d’être utile, il soit utilisé

Plutôt que choisir la facilité, l’agilité permet de privilégier la simplicité et de remplacer les user stories par des responsible citizen stories avec des formulations de type ‘en veillant à’ (valeurs) ou ‘en se limitant à’ (version allégée des fonctionnalités)

 

2ème piste : le cloud

Les applications cloud natives consomment moins d’infrastructures et d’énergie par utilisateur avec potentiellement la mutualisation des ressources… Le cloud est également d’une grande flexibilité, permettant de répondre ponctuellement à ces contraintes de performance, volumétrie, souplesse en cas de pics d’activité, ce qui ne peut pas être le cas d’un serveur en local. Le cloud favorise la dématérialisation est en cela, réduit la quantité de déchets à gérer ou à recycler et aide les entreprises à se passer de papier

Du fait d’une utilisation à la demande, le cloud apporte une certaine adaptabilité

  • Rapidité de mise en œuvre : tester et déployer rapidement
  • Elasticité de l’infrastructure : monter en charge

Le cloud écologique peut donc potentiellement permettre de réduire efficacement l’empreinte carbone.

Cela suppose cependant de bien veiller à éviter les transferts intempestifs de données, car la consommation de bande passante induit un coût écologique du fait de toute la chaine réseau.

3ème piste : Le DevOps

Les bonnes pratiques liées à la démarche DevOps peuvent être mises à profit dans le sens d’une éco-conception des logiciels :

  • Standardiser les outils et processus : DevOps représente l’opportunité de changer les outils anciens pour des solutions plus technologiques et moins polluantes et pratiques notamment pour : le contrôle de version ; la gestion de configuration ; l’intégration continue ; le déploiement ; et le suivi
  • Automatiser des tâches de programmation : permet un code l’état de l’art technologique, déjà éprouvé en production, documenté et surtout, supprime toutes notions de code inutile dont on sait maintenant qu’il est néfaste à l’environnement
  • Réduire la taille des frameworks et l’impact des applications : notamment dans la configuration afin d’éviter au maximum les notifications périodiques à des serveurs distants ainsi que les interactions entre le client et le site, et donc le nombre de requêtes, les ressources serveurs utilisées, etc

 

4ème piste : Infrastructure as code

IaC est le fait d’appliquer les bonnes pratiques DevOps à l’infrastructure de sorte qu’elle soit automatisée, cohérente et reproductible. Outre l’augmentation de la qualité, le gain de temps, IaC permet de faire des économies en jours homme et de limiter les risques financiers potentiels.

L’IaC supprime également la nécessité d’assurer la maintenance des environnements de déploiement individuels, avec des configurations uniques qui ne peuvent pas être reproduites automatiquement, et garantit que l’environnement de production sera cohérent.

Attention encore cependant, à ne pas céder à la facilité de multiplier les environnements inutiles, risque d’obésité numérique induit par l’approche.

 

5ème piste : le FinOps

Pour bien contrôler les dépenses Cloud il faut comprendre comment elles sont générées. Cela nécessite de maitriser :

  • L’ensemble des services utilisés côté IaaS (compute, storage, transferts, backups, logs, monitoring, …) et côté PaaS (middlewares, services managés, …) ainsi que leur modèle de Pricing, propre à chaque composant et souvent abscons.
  • Les modèles de dégressivité ou les effets de seuil mais aussi l’art de ‘monitorer’ et d’alerter au niveau le plus pertinent (ni trop, ni pas assez) tout en automatisant au maximum les actions préventives et correctives.
  • Les techniques de rightsizing, les approches Serverless, mais aussi les programmes de discount des fournisseurs de cloud.
  • Les politiques de tagging et leur automatisation afin d’assurer que 100% des dépenses soient bien affectées et d’assurer un reporting clair et précis.

 

Depuis l’avènement du Cloud et la possibilité d’optimiser son budget, un nouveau rôle est apparu comme essentiel pour que les économies attendues soient effectivement au rendez-vous, le FinOps.

  • Le FinOps rejoint une autre dimension, il faut arrêter de gaspiller et ne consommer que ce dont on a besoin. Rien de tel qu’une infrastructure partagée et élastique. Quand la culture FinOps se propage, que les équipes se prennent au jeu, elles optimisent leur code, leur environnement, elles deviennent responsables de l’impact environnemental et le cloud peut être un vrai atout.
  • La démarche FinOps vise à créer de la valeur sans gaspiller les ressources. Une recherche d’efficience bénéfique à la fois pour le porte-monnaie mais aussi pour l’empreinte carbone

Le « FinOps by Design » permet d’appliquer systématiquement les principes de transparence des coûts, d’optimisation des composants, avec des « best practices » d’architecture adaptées au contexte, voire même des Templates prêts à l’emploi « FinOps ready » afin de concevoir de meilleures applications tout optimisant les coûts.

L’optimisation financière permet d’optimiser les ressources et donc, mécaniquement, de réduire l’empreinte carbone.

Nous venons de voir 5 leviers potentiels de réduction de l’impact du numérique sur le réchauffement climatique.

Assurer une frugalité aussi bien fonctionnelle, technique et énergétique de nos applications se joue dès la conception.

Nous avons consacré à un article complet à ce sujet : Eco-conception et conception responsable

Ne ratez plus aucune actualité avec la newsletter mensuelle de SoftFluent

Newsletter SoftFluent