Le GreenOPS est une nouvelle approche d’optimisation des infrastructures Cloud qui a pour objet principal de réduire l’impact énergétique des services Cloud, et de promouvoir au sein des entreprises un état d’esprit Green et des prises de décisions conscientes de la nature et de l’environnement.

Dans les prochaines années, le Cloud génèrera une augmentation exponentielle de trafic, ce qui se traduira impérativement par une augmentation parallèle de ses besoins en énergie et en climatisation, et en particulier une surconsommation inévitable d’eau et d’électricité. Il est donc devenu primordial de prendre en considération l’impact énergétique des services Cloud sur l’environnement.

L’approche GreenOPS

Le GreenOPS se concentre sur deux types principaux d’optimisation :

  • L’optimisation du code informatique.
  • L’optimisation architecturale du Cloud, tant au niveau du design fonctionnel que des choix d’implantations physiques dans le monde réel.

L’optimisation du code

Pour réduire l’impact énergétique des applications déployées sur une infrastructure, l’optimisation du code est une démarche ayant un impact très significatif.

Dans les premières décennies de l’informatique, la mémoire, le temps de calcul ou l’usage des réseaux étaient des ressources coûteuses et l’optimisation de code une nécessité et une science en soi.

L’innovation technologique est passée par là et ces ressources ont été de plus en plus perçues comme « gratuites ». On a donc privilégié la baisse des coûts de personnel et mis en œuvre une optimisation des coûts de développement basée sur la réutilisation de bibliothèques génériques, l’usage d’outils de développement automatisé, etc. Le big data et l’AI ont même généralisé l’idée que plus on collectait, traitait et conservait de données, mieux c’était.

En tout cas tant qu’on ne se préoccupait pas d’impact environnemental. Ceci d’autant plus que le coût « écologique » était par essence caché (ni pollution apparente ni déchets physiques visibles).

Il est donc aujourd’hui à nouveau nécessaire de prendre en considération la complexité en temps et en espace des algorithmes implémentés dans les applications. Un algorithme d’ordre n, par exemple, consomme nettement moins d’énergie qu’un algorithme d’ordre n^2.

Dans une moindre mesure, le choix du langage et des outils de programmation est aussi important. En particulier afin de garder la capacité d’optimiser la gestion de mémoire plutôt que de la confier à des automatismes (type Garbage Collectors) qui ne sont pas toujours optimisés en matière de consommation énergétique.

L’optimisation de l’architecture

Le design de l’infrastructure de support des services Cloud est toute aussi critique dans l’optimisation de la consommation énergétique.

Cette optimisation concerne à la fois :

  • Les technologies informatiques et réseaux sélectionnées pour créer et opérer le Cloud.
  • Et les choix géographiques et architecturaux liés à la construction « physique » du Cloud et à son impact sur l’environnement.

Il convient ainsi de dimensionner adéquatement les serveurs selon le besoin de calcul et les prévisions de trafic. On privilégiera les technologies disponibles les moins gourmandes. Par exemple aujourd’hui on pourra préférer la virtualisation à base de conteneurs aux technologies s’appuyant sur des hyperviseurs.

Il sera aussi pertinent de s’interroger sur la nécessité réelle de conserver « en ligne » 24 heures sur 24 certains services ou certaines données face à la possibilité d’arrêter temporairement certaines ressources pendant des périodes de moindre activité. La diminution systématique du temps de réponse a longtemps été vue comme un bénéfice évident car on ne prenait pas en compte le coût environnemental associé : revenir à des délais d’attente à la fois raisonnables et vertueux nécessitera cependant une sensibilisation fine des utilisateurs.

On aura aussi le souci de déployer l’infrastructure dans des régions où l’électricité est localement facilement disponible et provient en grande partie d’énergies renouvelables. Et de choisir des implantations dans des lieux où le réchauffement de l’environnement (de l’eau ou de l’air) par la climatisation et la création d’immenses salles blanches auront le moins d’impact sur le milieu naturel.

Méthodologie et outils

L’objectif du GreenOps est donc de donner aux entreprises une méthodologie, des indicateurs et des outils pour diminuer leur empreinte écologique liée au Cloud Computing.

Cela étant, le GreenOPS n’est pas un framework ou une méthodologie définie de manière standardisée. Les principaux acteurs, en particulier les grands du service Cloud, ont défini leur propre framework. On peut citer en exemple le Cloud Sustainability Framework du Dr. Magesh Kasthuri, qui se focalise sur la mise en place de cinq workflows principaux :

  • Une architecture green de l’infra consommant le moins d’énergie possible.
  • Un modèle opérationnel responsable de monitoring de l’état de l’infrastructure et d’optimisation de sa consommation d’énergie.
  • Une approche active dont l’objectif est d’éviter le gaspillage des ressources : le GreenOPS peut ainsi être couplé au FinOPS et optimiser aussi les coûts opérationnels.
  • Une approche passive de développement des bons réflexes GreenOPS lors du design et de l’implémentation des applications.
  • L’intégration d’outils de suivi de la consommation énergétique et de l’empreinte carbone des services Cloud (comme “Customer Carbon Footprint” d’AWS).

Le GreenOPS reste donc une approche flexible et personnalisable selon les cas d’usage. Elle prône l’usage de plusieurs bonnes pratiques pour sauver notre planète. Il est maintenant de la responsabilité de chacun de s’approprier cette approche, de définir les workflows nécessaires pour le mettre en place selon les cas d’usage et d’essayer de les diffuser au sein l’entreprise, pour que chacun soit conscient de l’impact de ses actions envers l’environnement.

Ainsi, le GreenOPS pourrait aussi contribuer au bien-être des employés constructeurs ou utilisateurs du Cloud, en développant une culture de durabilité environnementale et en donnant du sens à leurs missions au sein de l’entreprise.

Créé en France en 2020, dreamIT est un cabinet de conseil, filiale du Groupe Astek, spécialisé en infrastructure, DevOps, Cloud et cybersécurité.