Le numérique est généralement perçu comme non physique ou éphémère. Cependant, les services numériques fonctionnent sur des serveurs physiques qui nécessitent de l’énergie, et la majorité de notre énergie est encore fournie en brûlant des combustibles fossiles. Cela signifie que les services numériques ont un impact réel sur les émissions de carbone et le changement climatique. Cet impact et la manière de le minimiser étaient le sujet principal de l’intervention de Chris Adams de la Green Web Foundation au 36c3.
Les grandes entreprises informatiques mesurent déjà leur empreinte carbone. Le faites-vous également ?
Parlons d’abord de chiffres, en examinant l’impact des plus grandes sociétés informatiques. Amazon a récemment commencé à partager ses données d’émissions carbone. En 2018, Amazon a provoqué 44,4 mégatonnes d’émissions de carbone, soit autant que les émissions de la Finlande cette année-là. La plupart de ces émissions proviennent de tiers (par exemple, l’emballage et le transport de marchandises d’Amazon, les émissions dues aux voyages d’affaires, etc.)
Apple avait une empreinte carbone de 25,2 mégatonnes en 2018, soit l’équivalent de celle de la Mongolie. Cependant, si l’on ne compte pas les émissions provenant de la production de produits de marque Apple, les émissions propres d’Apple ne s’élèvent qu’à 0,6 mégatonne, soit à peu près autant que les émissions de la République de Gambie cette année-là. La moitié de ces émissions provient des voyages d’affaires, et 30 % des déplacements quotidiens des employés. L’empreinte carbone de Google est un peu plus importante – 1,2 mégatonnes, comparable à celle du Libéria.
Comme vous pouvez le constater, les entreprises informatiques ont un impact important sur les émissions de carbone. Que pouvez-vous faire au sujet de votre infrastructure informatique pour minimiser votre impact ?
1. Utilisez une architecture évolutive
Avec l’essor du cloud computing, de nombreuses entreprises ont commencé à migrer leur infrastructure vers le cloud. Cependant, l’approche typique de l’utilisation de l’infrastructure cloud est de louer un serveur toujours actif qui dépasse largement la charge de pointe actuelle de l’entreprise.
Cependant, les gens utilisent Internet (et donc vos services) différemment selon l’heure de la journée, ce qui entraîne de grandes différences de trafic. La charge de nuit est probablement beaucoup plus faible que celle de la mi-journée. Des outils d’analyse peuvent vous permettre de comprendre très clairement comment cela s’applique à vos services particuliers, mais vous avez compris l’idée générale.
C’est là que l’évolutivité se révèle très utile. Dans les logiciels à architecture évolutive, les équilibreurs de charge peuvent automatiquement ajouter plus de puissance de calcul sur une seule machine ou ajouter plus de serveurs selon le nombre de requêtes que vous recevez. Cela signifie que vous n’avez pas besoin de gaspiller de l’électricité et de l’argent pour des serveurs qui sont en mode veille.
La plupart des fournisseurs de cloud computing offrent un équilibrage de charge tant horizontal que vertical. Bien entendu, vous devrez concevoir vos services en tenant compte de l’évolutivité pour utiliser l’équilibrage de charge, mais une fois que vous aurez commencé, vous économise-rez beaucoup d’argent tout en réduisant l’empreinte carbone de votre infrastructure cloud.
2. Faites appel à des fournisseurs plus verts
Les fournisseurs de cloud présentent des différences en ce qui concerne leur approvisionne-ment en énergie. Tout d’abord, leurs choix peuvent dépendre de l’état général des services électriques dans la région. Certaines régions (la Suède, par exemple) utilisent principalement des sources d’énergie renouvelables telles que le vent et l’eau. D’autres, comme la France, ont massivement recours à l’énergie nucléaire, qui est également un choix plus écologique. Et certaines, comme la Pologne, obtiennent la majeure partie de leur énergie en brûlant du charbon.
Ainsi, les émissions de carbone de votre entreprise varient en fonction de l’emplacement du centre de données qui fournit son cloud. Les grands services comme AWS et Microsoft Azure accordent généralement plus d’attention que les petits à cet aspect de durabilité écologique.
Par exemple, les utilisateurs d’Amazon Web Services peuvent choisir l’emplacement physique de leur puissance de calcul, et il existe une carte montrant quels centres de données d’AWS fonctionnent à l’énergie verte et quels sont ceux pour lesquels ce n’est pas le cas.
Microsoft, à l’aide d’un groupe de scientifiques, a même construit un planificateur Kubernetes à faible teneur en carbone qui permet de migrer dynamiquement vos tâches vers des centres de données à travers le monde afin d’augmenter l’utilisation d’une énergie plus verte et de minimiser votre empreinte carbone. Ce planificateur peut être exporté pour fonctionner avec d’autres fournisseurs.
Pour vous mettre au vert, vous n’êtes pas obligé de choisir AWS ou Azure. La Green Web Foundation fournit un annuaire de petits fournisseurs qui travaillent avec de l’énergie verte. Cependant, faire fonctionner votre ordinateur sur votre propre matériel est généralement pire d’un point de vue écologique ; les systèmes cloud permettent une répartition plus égale des tâches entre les puissances informatiques, ce qui aide à conserver l’énergie.
3. Choisissez bien votre langage de programmation
Les langages de programmation diffèrent sur de nombreux aspects, comme la logique, la syntaxe, les capacités et plus encore. De plus, ils n’ont pas tous la même consommation de ressources. Les scripts dans des langages tels que JavaScript et Python ont tendance à consommer plus de ressources que les programmes compilés écrits dans des langages tels que Fortran, C++ et Rust. Et les langages orientés objet, à leur tour, consomment plus que les langages impératifs. Plus de ressources, c’est synonyme de plus de puissance et donc de plus d’émissions.
Cependant, nous tenons à souligner que plus rapide ne veut pas forcément dire plus vert. Dans certains cas, un programme peut être exécuté plus longtemps mais consommer moins d’énergie. Nous vous recommandons de lire cet article pour en savoir plus sur l’efficacité des langages en termes de temps, de mémoire et d’énergie.
Bien sûr, vous choisirez plutôt votre langage de programmation pour les tâches qu’il effectue, en fonction des capacités de votre personnel et du reste de votre pile technologique, mais il vaut la peine de prendre en compte l’aspect puissance ; les programmes écrits avec JavaScript, par exemple peuvent consommer deux fois plus de ressources de calcul que ceux écrits avec C.
Vous comprenez donc que l’optimisation du code peut contribuer à réduire votre empreinte carbone et à rendre votre code plus rapide et moins gourmand en énergie, quel que soit le langage. Le profilage de votre logiciel et la réécriture des parties inefficaces peuvent avoir un impact important.