Développement de logiciels verts – Que pouvez-vous faire maintenant et où va l’industrie ?
Rendre le code plus efficace finit souvent par économiser du carbone. Stocker moins d’informations et les compresser peut également réduire votre empreinte carbone. Il existe des projets, des normes et des guides open source disponibles qui peuvent être utilisés pour accroître la durabilité du développement de logiciels. La normalisation des mesures est nécessaire pour comparer l’impact environnemental des fournisseurs de cloud.
Adrian Cockcroft a parlé de la durabilité dans le développement et les opérations à QCon San Francisco 2022 et donnera une conférence sur l’avenir des mesures de durabilité à QCon Londres 2023.
Dans la plupart des cas, travailler pour optimiser les économies d’argent en rendant le code plus efficace finira également par économiser du carbone, a déclaré Cockcroft. Cela aide à concentrer le travail, car si vous ne dépensez pas beaucoup d’argent pour exécuter le code, cela ne vaut probablement pas la peine de s’en soucier du point de vue de la durabilité.
Certaines idées spécifiques pour les développeurs mentionnées par Cockcroft sont de faire moins de travail en premier lieu en étant attentif aux besoins de l’entreprise et en utilisant de meilleurs algorithmes. Ensuite, pour utiliser des langages plus efficaces comme Rust pour implémenter du code intensif en calcul, choisissez des bibliothèques hautement optimisées comme simdjson.org pour le traitement JSON et Z-STD pour la compression.
De plus, il a suggéré de stocker moins d’informations et de les compresser si elles devaient persister. Configurez l’optimisation du cycle de vie du stockage comme la hiérarchisation intelligente S3 ou l’archivage sur bande qui a l’empreinte carbone la plus faible. Pour le travail frontal, minimisez la taille des images et du code dans les pages Web et réglez les applications mobiles pour qu’elles consomment moins d’énergie.
Cockcroft a mentionné plusieurs projets open source visant à mesurer la consommation d’énergie des charges de travail basées sur Kubernetes : KEPLER : Kubernetes Efficient Power Level Exporter, Quarkus, un framework Java très efficace qui permet des économies importantes par rapport aux piles Java traditionnelles, CLEVER (Container Level Energy-efficient VPA Recommandateur qui utilise Kepler comme entrée pour un recommandateur Vertical Pod Autoscaler et PEAKS (Power Efficiency Aware Kubernetes Scheduler).
InfoQ a interviewé Adrian Cockcroft sur le développement logiciel durable.
InfoQ : Que peut-on faire dans le développement de logiciels pour accroître la durabilité ?
Adrien Cockcroft: Lorsque des projets d’optimisation importants tentent de calculer leurs économies de coûts, il est bon d’essayer d’estimer et de rapporter les économies de carbone en même temps. Le domaine qui n’est pas évident est que le carbone varie selon l’emplacement, d’une manière qui n’est pas en corrélation avec le coût.
Du point de vue de la consommation d’énergie, les charges de travail exécutées sur tous les principaux fournisseurs de cloud en Europe et aux États-Unis utilisent aujourd’hui près de 100 % d’énergie renouvelable. Les émissions de carbone sont dominées par les charges de travail exécutées en Asie, où il est plus difficile de construire et d’acheter des énergies renouvelables.
Cependant, du point de vue de l’infrastructure, le carbone utilisé pour créer du silicium, le conditionner dans des ordinateurs et les placer dans des centres de données est à peu près le même pour tout le monde, partout, et domine désormais l’empreinte carbone de l’informatique en tant qu’émissions de portée 3, qui mesurent l’empreinte carbone. de votre chaîne d’approvisionnement.
InfoQ : Où les lecteurs d’InfoQ peuvent-ils obtenir des conseils et des informations s’ils souhaitent accroître la durabilité ?
Cockcroft: Le pilier AWS Well Architected pour la durabilité et le guide Azure Well Architected fournissent une prise en charge pour l’optimisation du cloud. J’ai aidé à écrire celui d’AWS il y a quelques années, et le guide Azure est basé sur les travaux de la Green Software Foundation, qui couvre également certaines idées d’optimisation de centre de données, de front-end et de bureau, y compris un SDK Carbon Aware. Le GSF a publié la norme Software Carbon Intensity (SCI), qui peut être utilisée pour déclarer le carbone par utilisateur ou par transaction de manière cohérente.
Pour obtenir des estimations de l’empreinte carbone pour le travail d’optimisation, l’outil d’empreinte carbone cloud open source utilise les données de facturation cloud comme données d’entrée pour estimer la consommation d’énergie (scope 2) et l’empreinte carbone de la chaîne d’approvisionnement (scope 3). Pour les rapports d’audit carbone, les fournisseurs de cloud produisent des données plus précises, mais pas assez détaillées pour les projets d’optimisation, et retardées de plusieurs mois. Utilisez les rapports du fournisseur de cloud pour confirmer que les projets ont les effets attendus à long terme.
InfoQ : La durabilité est un domaine émergent ; à quoi pourrait-il ressembler lorsqu’il mûrit?
Cockcroft : Au cours des prochaines années, tous les principaux fournisseurs de cloud s’attendent à atteindre 100 % d’énergie verte pour le scope 2 à l’échelle mondiale via des accords d’achat d’électricité, et les réseaux électriques locaux du monde entier passent rapidement à l’énergie verte, de sorte que le scope 2 deviendra moins important au fil du temps. Le champ d’application 3 dominera, car il dépend de bâtiments à faible émission de carbone, de processus de fabrication et de mécanismes de livraison qui sont sur des échelles de temps beaucoup plus longues.
L’autre domaine est la normalisation des mesures, le point final idéal serait une méthodologie, une API et un schéma communs pour l’instrumentation carbone haute résolution que tous les fournisseurs de cloud prendraient en charge. À l’heure actuelle, l’instrumentation de chaque fournisseur de cloud est complètement différente et insuffisante pour que les fournisseurs d’outils puissent s’appuyer dessus.