La démarche « green coding » d’AXA… au-delà du code

AXA développement logiciel écoresponsable

Engagé dans une démarche de communication sur son approche « green coding », AXA élargit la perspective au « développement logiciel écoresponsable ».

Engagé dans une démarche de green coding ? Essayez la compilation en image native.

Il y a quelques semaines, AXA avait exposé son usage de cette pratique. Il la mentionne à nouveau dans le cadre d’une revue plus globale de ses pratiques de « développement logiciel écoresponsable ».

Ces pratiques comprennent, sur la partie front, plusieurs techniques destinées à réduire le nombre de requêtes HTTP. Parmi elles, l’utilisation des sprites CSS (combinaison de plusieurs images en une). Ainsi que la concaténation des fichiers CSS et JS.
Côté images, au-delà de la compression et du lazy loading, AXA exprime une préférence pour les formats WebP et AVIF.

Le volet back-end aborde trois aspects : cache, bases de données et algorithmes. Sur ce dernier point, AXA cite notamment l’algo de tri rapide (quicksort). Avec sa complexité de O(n*log(n)), il est« le plus efficace dans la plupart des cas » lorsqu’il s’agit de trier un tableau.

SlimFaaS, Daily Clean : AXA pousse sa boîte à outils open source

Au niveau de l’infrastructure, outre les images natives, AXA évoque le serverless comme vecteur d’optimisation de la consommation de ressources. En la matière, il ajoute le CI/CD. Entre autres pour le fait qu’il accélère les boucles de feedback… et permet donc de résoudre plus vite les problèmes de surconsommation.

AXA recommande, en complément, deux outils maison destinés à améliorer l’efficacité des infras : Daily Clean (extinction automatique de pods Kubernetes) et SlimFaaS (fonctions en tant que service). Il met aussi, sur sa liste, les plug-in ecoCode (de la Green Code Initiative), Ecoindex et Lighthouse (de Google ; analyse de web apps). Ainsi que le middleware PowerAPI, qu’on doit à un groupe de recherche associant université de Lille et Inria.

Autre outils conseillés sur la partie monitoring : Dynatrace, New Relic, Datadog, Prometheus et Kepler. Et sur la partie profilage :

– cProfile, line_profiler, memory_profiler, Py-Spy (Python)
– VisualVM, YourKit Java Profiler, Java Mission Control (Java)
– gprof, Valgrind, Intel VTune Profiler (C/C++)
– profiling (Node)

À consulter en complément, l’aspect « gestion durable des données » de la politique green coding d’AXA.

Illustration © Seventyfour – Adobe Stock