Vers le Lean Computing: Intégrer la consommation énergétique dès le design des applications

Vers le Lean Computing: Intégrer la consommation énergétique dès le design des applications

Tech

Dans la quête d'une meilleure efficacité énergétique, les applications elles-mêmes sont souvent négligées. Notre industrie veut prétendre que toutes les technologies sont équivalentes et a oublié que les choix de langages de programmation, de frameworks et d'architecture ont un impact majeur sur la consommation d'énergie.

Le constat

Aujourd’hui nous sommes tous sensibilisés à l’impact environnemental des objets, outils, appareils que nous utilisons. Nous savons tous que lorsque nous utilisons notre voiture, celle-ci aura un impact "carbone" lors de son usage. Tout un pan de l’industrie travaille à réduire l’impact énergétique des appareils que nous utilisons. Notre conscience environnementale nous conduit à modérer nos usages, en utilisant des appareils qui consomment moins d’énergie, un mix avec des énergies plus renouvelables, et même à considérer des alternatives, comme le remplacement de la voiture par un transport en commun, ou le vélo.

La prise en compte de l’empreinte carbone de nos actions est plus évidente sur les transports. Nous n’en sommes qu’au début pour ce qui est de l’informatique, mais les usages massifs que nous faisons désormais d’Internet en font une source de consommation d’énergie majeure.

En 2017, Greenpeace estimait la consommation d’électricité d’Internet à 7% de la consommation d’électricité mondiale. Le rapport se base sur des données de 2016, et il est probable que nous soyons bien au-delà aujourd’hui. La croissance du traffic de données dépasse les avancés dans l'efficacité énergétique des équipements réseaux. Le "Low Tech Magazine" explique très bien le problème: About Low Tech Magazine.

En d’autres termes, cela veut dire que l’ensemble des services informatiques du monde, des téléphones, des data centers, etc. dégagent plus de carbone que le transport aérien, pour donner une comparaison.

Vers la maitrise des infrastructures et usages

La prise de conscience est en train d’avoir lieux, mais les solutions explorées se concentrent seulement sur deux axes d’actions, en oubliant un troisième, fondamental.

Le premier axe d’action sur la consommation énergétique d’Internet est l’infrastructure. La consommation énergétique de l’infrastructure est traitée à deux niveaux :

  1. La diminution de la consommation énergétique des data centers. On peut par exemple citer les travaux d’OVH sur les systèmes de refroidissement hydraulique, remplaçant à la fois les ventilateurs dans les serveurs et la climatisation des data centers.
  2. La source d’approvisionnement en électricité. Un effort est fait par de grands groupes comme Facebook, ou Google pour acheter une électricité renouvelable, c'est-à-dire produite à base d’énergie renouvelable.

Le deuxième axe d’action pour diminuer l’impact énergétique est sur l'usage. Du point de vue des usagers, nous avons tous vu des campagnes de sensibilisation recommandant de diminuer son usage du mail ou même de réduire la résolution des vidéos consommées pour réduire la consommation en bande passante et en électricité. C'est une sensibilisation importante, mais nous devons aujourd’hui aller au-delà, pour réduire l'impact énergétique à usage constant.

Concevoir des applications légères et efficaces

Le cloud computing a changé la manière de concevoir des applications. C'est une industrie, la plupart des grands acteurs étant maintenant fournisseurs d’infrastructure pour les entreprises. Les acteurs du cloud offrent des services toujours plus sophistiqués et ont simplifié l’usage de ressources en ligne.

À tel point qu’il est courant aujourd’hui de concevoir des architectures “scalables” automatiquement. Il est même couramment admis que le temps homme est la ressource la plus chère et la plus précieuse et qu’il vaut mieux mettre plus de serveurs et des serveurs plus gros pour faire tourner son service que de passer du temps à l’optimiser. Le coût environnemental de la pression sur le temps est réel. Le cloud computing a rendu simple la mise en œuvre de ressources toujours plus importantes.

Dans cette course à la consommation, notre industrie en vient à oublier que cette attitude contribue en grande partie aux émissions de gaz à effet de serre. Cette attitude est l’équivalent informatique de l’agriculture intensive. Il faut changer d’approche.

Un troisième axe d'action: Mesurer et optimiser

Un axe d’action pour diminuer l’impact d’Internet sur la planète est de retrouver ce savoir-faire de l’optimisation, d’être conscient de l’impact des décisions d’architecture sur nos applications.

De nombreux paramètres sont à prendre en compte et peuvent avoir un réel impact sur l’environnement :

  • Le choix d’architecture. Certaines architectures sont plus efficaces que d’autres. L’usage intensif de middleware et de microservice peut avoir un impact négatif sur le bilan énergétique d’un service.
  • Le choix de technologie. Il faut être réaliste, certaines technologies sont pratiques pour les développements, mais très consommatrices en énergie. Par exemple, chez ProcessOne, nous avons repris la gestion d’un service de messagerie sur nos infrastructures. L'application tournait auparavant sur 30 serveurs. Nous l’opérons désormais sur 4 serveurs de même taille. Le choix de technologie d’implémentation fait une énorme différence (Erlang, Elixir, Go).
  • Le choix de fonctionnalités. Le big data, l'exploitation de données massive, est une belle promesse de création de richesse. Elle n'est cependant pas toujours au rendez-vous et stocker et traiter de gigantesques volumes de données au cas où ne semble pas rationnel. Il faut réfléchir en amont à ce que l’on veut analyser et pourquoi. Cette approche n’est en outre pas réellement compatible avec le Règlement général sur la protection des données (RGPD).

Conclusion

Au final, les entreprises ont une responsabilité importante dans la consommation d’Internet. Elles ne peuvent se dédouaner, en reportant les efforts sur les fournisseurs d’infrastructure et les utilisateurs. Elles doivent prendre leur part de l’effort.

Si vous souhaitez savoir comment vous y prendre pour aborder le problème, ProcessOne peut certainement vous aider, en travaillant sur l’ensemble de la chaine, sur les trois axes mentionnés et en vous aidant à benchmarker votre application pour en contrôler les performances.

Alors, prêt pour aborder le challenge ensemble et réduire l’empreinte énergétique de vos applications ?