Sascha Giese, Head Geek chez SolarWinds
Malgré la banalité apparente de cette question, la réponse n’est pas aussi évidente qu’il n’y parait. Les vols commerciaux représentent 2,4 % des émissions totales de CO2, et arrivent en deuxième position. Avec une part totale allant de 2,5 % à 3,7 %, les centres de données arrivent en tête. Et Netflix et les autres plateformes en ont besoin pour fournir leurs services.
En toute honnêteté, même les avions sont dépendants des services des hyperscalers et les centres de données prennent à leur compte une partie de leurs émissions. Fondamentalement, aujourd’hui, presque tout nécessite un centre de données d’une manière ou d’une autre en raison de la numérisation globale. Et la consommation d’énergie pour les opérations et le refroidissement est énorme. La logique est de faire preuve de plus de durabilité également dans ce domaine, et de commencer par l’élément le plus petit : le code des applications est exécuté sur les centres de données.
Plus petit, plus rapide, plus efficace
La philosophie derrière le green coding consiste à optimiser le code de manière efficace pour qu’il devienne durable. Après tout,un code efficace n’a pas besoin de beaucoup d’énergie. Trois critères doivent être ajustés pour obtenir un green code :
Taille : un « petit » code prend moins d’espace lors du déploiement, et plus important encore, lors du transfert entre les points de terminaison.
Rapidité : si un code est exécuté rapidement, la période pendant laquelle l’énergie est nécessaire est plus courte. Des économies d’énergie sont également réalisées.
Efficacité des ressources : dès le début, les codes peuvent être écrits de manière à ce qu’ils utilisent moins de ressources pendant leur exécution.
De plus, même des changements minimaux apportés au code peuvent avoir un impact important. Par exemple, si vous réduisez la résolution des images dans une application, l’impact sur la consommation d’énergie des appareils sera minime. Mais lorsque vous considérez que des centaines de milliers d’utilisateurs ouvrent cette application chaque jour, cela représente de réelles économies. Il est peu probable que les utilisateurs remarquent la différence en raison des petits écrans.
L’utilisation des fournisseurs de réseaux de diffusion de contenu (CDN) peut représenter une autre approche de la rapidité. En règle générale, les applications web de toutes sortes doivent être hébergées dans des centres de données. Ils sont rattachés localement et peuvent être inégalement répartis. Lorsqu’un utilisateur accède à une application web, il le fait sur le centre de données le plus proche de lui. Pour un utilisateur allemand, cela implique d’accéder peut-être à un centre en Espagne simplement parce qu’il n’y en a aucun en Allemagne et que les autres se trouvent encore plus loin. Les fournisseurs CDN utilisent un réseau de serveurs proxy réparti géographiquement ainsi que leurs centres de données pour que l’utilisateur accède à l’application plus efficacement et rapidement. Plus de rapidité équivaut à moins d’énergie consommée. Encore une fois, les économies par individu peuvent sembler minimes mais dans l’exemple de Netflix, qui utilise un CDN avec Open Connect, cela peut faire une réelle différence au bout du compte.
Courir un marathon pour créer un logiciel durable
Les développeurs de logiciels sont souvent soumis à des budgets restreints. En général, ils écrivent du code, qui passe ensuite par l’étape de l’assurance qualité (QA). Si tout fonctionne, ils procèdent au déploiement. Ce n’est pas le processus le plus efficace, mais c’est le plus rentable. Dans le secteur, la réalisation d’une telle tâche aussi rapidement que possible dans un délai imparti est appelée un sprint.
Avec le green code, la situation différente. Avant que le code ne soit soumis à l’étape de QA, il est déployé plusieurs fois dans un environnement de test, puis il est testé, mesuré et modifié. Au cours du processus, vous devez modifier le code jusqu’à ce que vous obteniez la version la plus efficace mais également la plus économique. Elle passe ensuite par l’étape de QA, puis elle est déployée. Par exemple, vous testez les performances des bases de données lorsque vous modifiez le code, ce qui est un indicateur de son efficacité. Ou vous utilisez des outils de surveillance des performances des applications pour vérifier la rapidité et l’efficacité de l’exécution du code. Il existe désormais des applications qui allient de telles fonctions pour une optimisation continue, comme SolarWinds Observability.
Dès lors, un sprint n’est plus un sprint, mais un marathon coûteux et long, ce qui est moins rentable pour les entreprises. En principe, la possibilité d’optimiser efficacement le code existait déjà avant les solutions de surveillance et d’observabilité de grande envergure, mais personne n’a encore essayé. Toutefois, compte tenu de l’énorme part des émissions mondiales de CO2 que représentent les centres de données, le green code offre un potentiel inexploité pour une plus grande durabilité. Il est temps d’en tirer profit.
En toute honnêteté, même les avions sont dépendants des services des hyperscalers et les centres de données prennent à leur compte une partie de leurs émissions. Fondamentalement, aujourd’hui, presque tout nécessite un centre de données d’une manière ou d’une autre en raison de la numérisation globale. Et la consommation d’énergie pour les opérations et le refroidissement est énorme. La logique est de faire preuve de plus de durabilité également dans ce domaine, et de commencer par l’élément le plus petit : le code des applications est exécuté sur les centres de données.
Plus petit, plus rapide, plus efficace
La philosophie derrière le green coding consiste à optimiser le code de manière efficace pour qu’il devienne durable. Après tout,un code efficace n’a pas besoin de beaucoup d’énergie. Trois critères doivent être ajustés pour obtenir un green code :
Taille : un « petit » code prend moins d’espace lors du déploiement, et plus important encore, lors du transfert entre les points de terminaison.
Rapidité : si un code est exécuté rapidement, la période pendant laquelle l’énergie est nécessaire est plus courte. Des économies d’énergie sont également réalisées.
Efficacité des ressources : dès le début, les codes peuvent être écrits de manière à ce qu’ils utilisent moins de ressources pendant leur exécution.
De plus, même des changements minimaux apportés au code peuvent avoir un impact important. Par exemple, si vous réduisez la résolution des images dans une application, l’impact sur la consommation d’énergie des appareils sera minime. Mais lorsque vous considérez que des centaines de milliers d’utilisateurs ouvrent cette application chaque jour, cela représente de réelles économies. Il est peu probable que les utilisateurs remarquent la différence en raison des petits écrans.
L’utilisation des fournisseurs de réseaux de diffusion de contenu (CDN) peut représenter une autre approche de la rapidité. En règle générale, les applications web de toutes sortes doivent être hébergées dans des centres de données. Ils sont rattachés localement et peuvent être inégalement répartis. Lorsqu’un utilisateur accède à une application web, il le fait sur le centre de données le plus proche de lui. Pour un utilisateur allemand, cela implique d’accéder peut-être à un centre en Espagne simplement parce qu’il n’y en a aucun en Allemagne et que les autres se trouvent encore plus loin. Les fournisseurs CDN utilisent un réseau de serveurs proxy réparti géographiquement ainsi que leurs centres de données pour que l’utilisateur accède à l’application plus efficacement et rapidement. Plus de rapidité équivaut à moins d’énergie consommée. Encore une fois, les économies par individu peuvent sembler minimes mais dans l’exemple de Netflix, qui utilise un CDN avec Open Connect, cela peut faire une réelle différence au bout du compte.
Courir un marathon pour créer un logiciel durable
Les développeurs de logiciels sont souvent soumis à des budgets restreints. En général, ils écrivent du code, qui passe ensuite par l’étape de l’assurance qualité (QA). Si tout fonctionne, ils procèdent au déploiement. Ce n’est pas le processus le plus efficace, mais c’est le plus rentable. Dans le secteur, la réalisation d’une telle tâche aussi rapidement que possible dans un délai imparti est appelée un sprint.
Avec le green code, la situation différente. Avant que le code ne soit soumis à l’étape de QA, il est déployé plusieurs fois dans un environnement de test, puis il est testé, mesuré et modifié. Au cours du processus, vous devez modifier le code jusqu’à ce que vous obteniez la version la plus efficace mais également la plus économique. Elle passe ensuite par l’étape de QA, puis elle est déployée. Par exemple, vous testez les performances des bases de données lorsque vous modifiez le code, ce qui est un indicateur de son efficacité. Ou vous utilisez des outils de surveillance des performances des applications pour vérifier la rapidité et l’efficacité de l’exécution du code. Il existe désormais des applications qui allient de telles fonctions pour une optimisation continue, comme SolarWinds Observability.
Dès lors, un sprint n’est plus un sprint, mais un marathon coûteux et long, ce qui est moins rentable pour les entreprises. En principe, la possibilité d’optimiser efficacement le code existait déjà avant les solutions de surveillance et d’observabilité de grande envergure, mais personne n’a encore essayé. Toutefois, compte tenu de l’énorme part des émissions mondiales de CO2 que représentent les centres de données, le green code offre un potentiel inexploité pour une plus grande durabilité. Il est temps d’en tirer profit.