Zoom sur le tandem FinOps et GreenOps dans le Cloud

En tant que professionnels de l’informatique, nous sommes témoins de l’impact monumental du Cloud sur tous les aspects du développement logiciel : de la manière dont nous développons et déployons des applications, à la façon dont nous structurons et gérons les infrastructures informatiques. Le Cloud Computing a redéfini les paradigmes de l’informatique en offrant une plus grande flexibilité, une évolutivité et une efficacité sans précédent. Il a permis aux entreprises de toutes tailles de repousser les limites de l’innovation, tout en permettant de réduire les coûts et en améliorant l’efficacité opérationnelle (source 1).

Cependant, avec ces avantages viennent de nouveaux défis. La sécurité, la confidentialité des données, la gestion des coûts, l’impact environnemental et la conformité réglementaire dans ce nouvel écosystème sont autant de problèmes qui nécessitent notre attention constante en tant qu’experts.

Cet article s’inscrit dans une série consacrée au Guide de l'IT Écologiquement et Financièrement Responsable. Cette série explore les différentes technologies numériques et cherche à identifier comment optimiser à la fois ses coûts et réduire son impact environnemental.
Cet article traite en particulier de ces sujets appliqués aux plateformes d’infrastructure hébergées dans le Cloud.


FinOps et GreenOps

Fruggr présente une définition des scopes 1,2,3 du GHG Protocol appliquée aux datacenters dans cet article : la connaissance de cette définition peut aider à la compréhension de cette partie.

Le FinOps, ou Financial Operations, est une pratique qui vise à apporter une meilleure visibilité et contrôle sur les coûts du cloud computing. Il s’agit d’un ensemble de pratiques qui permettent aux entreprises de comprendre leurs dépenses dans le cloud, de les prévoir avec précision et de les optimiser. Le FinOps repose sur trois principes clés :

  1. Visibilité : Avoir une compréhension claire et détaillée de toutes les dépenses liées au cloud.
  2. Optimisation : Utiliser cette visibilité pour prendre des décisions éclairées et réduire les coûts inutiles.
  3. Opérationnalisation : Intégrer ces pratiques dans les processus opérationnels de l’entreprise.

Historiquement, cette pratique est adoptée par les DSI après avoir commencé à utiliser en production leurs plateformes cloud car les coûts de leurs plateformes évoluent bien plus rapidement que leur usage. En effet les plateformes d'hébergement cloud permettent aux équipes de profiter d’une puissance de calcul (presque) infinie, disponible immédiatement, et parfois même sans préciser les besoins d’infrastructure nécessaires pour répondre aux besoins applicatifs (c’est le cas des offres serverless). Sans prudence, ces avantages peuvent favoriser des comportements qui vont entraîner une augmentation des besoins d’infrastructure pour un même besoin applicatif :

  • Recherche d’un confort opérationnel par les équipes de développement en cherchant à diminuer au maximum les temps de chargement et d’attente, ceci en profitant de puissance de calcul largement supérieure au besoin réel applicatif ;
  • L’ignorance des besoins d’infrastructure de son application entraîne également un surdimensionnement, même après plusieurs semaines de travail car l’étude du besoin d’infrastructure n’a jamais été réalisée ;
  • Itération dans les phases de développement applicatives et d'exploration technique de plusieurs versions parallèles. Les itérations des versions préliminaires des applications ne sont pas toujours supprimées lorsque les travaux convergent vers une version finale, alors même qu’elle ne sont plus utiles car reliquat d’un travail de conception terminé ;
  • Les environnements intermédiaires (dev, int, etc.) nécessaires lorsque les applications sont dans une phase de développement ou de mise à jour ne sont pas supprimés lorsque ces applications passent dans une phase d’exploitation et ne font plus l’objet de mise à jour. A l’instar de l’évolution des applications dans leur cycle de vie, les environnements et chaînes CI/CD associées devraient évoluer pour réduire en nombre avec la maturité des applications, et tendre vers un unique environnement de validation à la demande pour traiter des mises à jour ponctuelles.

Chez Ippon nous intégrons dès le début de nos projets la pratique du FinOps de manière à éviter la mauvaise expérience des premières factures cloud trop élevées. Fournir de la visibilité sur les coûts des solutions nécessaires au fonctionnement applicatif permet de responsabiliser l’ensemble des DSI de nos clients (du CTO aux développeurs) afin d’utiliser les ressources les plus adaptées au besoin réel.

Alors que le FinOps se concentre sur la réduction des coûts du Cloud, le GreenOps se concentre sur la réduction de l’empreinte environnementale (du Cloud, mais aussi de l’IT en général). Majoritairement, ces deux approches sont complémentaires et travaillent en tandem pour aider les entreprises à optimiser leur utilisation du Cloud tout en minimisant leur impact environnemental. A l’instar du FinOps, le GreenOps s’appuie sur un pilier de visibilité avec la mise en place de tableaux de bords de suivi de la consommation énergétique et de l’empreinte carbone des ressources du Cloud. Le second pilier, la rationalisation, consiste à optimiser l’utilisation des ressources IT et à réduire l’empreinte carbone et environnementale des systèmes informatiques d’une entreprise.
L’empreinte carbone du numérique est l’ensemble des émissions de gaz à effet de serre (GES) produites par la fabrication, l’utilisation et l’élimination des équipements numériques (scope 3 - à hauteur de 80% des GES), ainsi que par la consommation d’énergie des centres de données et des réseaux de communication (scope 2 - 20% restants des GES) (sources 2-3).
Le scope 3 est globalement incompressible en valeur absolue de GES produits (c’est la raison pour laquelle il faut encourager à allonger la durée de vie des équipements).

Plus spécifiquement pour les datacenters, colonne vertébrale du Cloud : le scope 2 (la consommation d’énergie) est largement optimisable en travaillant sur l’origine de la production électrique (énergies fossiles versus nucléaires ou renouvelables) et la consommation électrique des applications (que nous détaillerons plus loin dans cet article). C’est sur ce dernier point que le GreenOps se concentre afin d’ajuster au plus juste la consommation énergétique des applications et donc de l’infrastructure sous-jacente.

Il est utile de rappeler que l’empreinte environnementale du numérique regroupe quatre catégories :

  1. L’empreinte carbone et le calcul des GES produits dans l'atmosphère
  2. L’épuisement de la ressource critique de l’eau
  3. L’épuisement des ressources abiotiques (les ressources naturelles non vivantes, telles que le sol, l'eau, les minerais, avant transformation éventuelle par l'homme)
  4. La pollution des sols

Les CSP (Cloud Service Providers) communiquent principalement sur les GES et les scopes 1 et 2, quoique les méthodes et périmètres de calculs divergent d’une entreprise à une autre. Le scope 3 et les autres aspects de l’empreinte environnementale sont malheureusement encore globalement ignorés lors de ces discussions et comparaisons.

Enfin depuis janvier 2024, l’Europe a mis en place une nouvelle réglementation (la CSRD)  imposant aux grandes entreprises de mettre en place un reporting environnemental et extra-financier. Là où le FinOps permet d’améliorer les rapports financiers des DSI, le GreenOps permet d’alimenter et de conforter ce nouveau reporting obligatoire.
Retrouvez plus d’informations sur le CSRD dans cet article : L’Europe invite les DSI au “Sustainability by design” en janvier 2024


Quels avantages issus de la mutualisation offerte par le cloud versus des installations on-premises

La mutualisation offerte par le cloud présente des avantages significatifs par rapport à une installation on-premise, tant du point de vue du FinOps que du GreenOps. Cependant, chaque entreprise doit évaluer ses propres besoins et capacités avant de prendre une décision.

Avec une installation on-premise, les entreprises doivent investir dans leur propre infrastructure, ce qui peut être coûteux et manquer d’agilité : afin de supporter un pic de charge une entreprise est contrainte de mettre en place une infrastructure à même de supporter la valeur maximale du pic de charge attendue. Même si ses ressources supplémentaires peuvent (dans le meilleur des cas) être éteintes dans l’attente d’une telle situation, la commande et la construction des solutions de pilotage seront onéreuses. De plus, les entreprises doivent gérer et maintenir cette infrastructure, ce qui peut nécessiter des ressources supplémentaires : humaines avec des compétences dédiées et multiples (réseau, cybersécurité, techniciens d’astreintes, etc.), et techniques pour la surveillance et la supervision permanente de cette infrastructure.

De la même manière, une installation on-premise signifie également que les entreprises sont responsables de leur gestion environnementale. Cela peut être un défi, surtout pour les petites et moyennes entreprises qui n’ont pas les ressources nécessaires pour investir dans des solutions écoénergétiques qui ne devienne dans la majorité des cas rentable que sur des parcs importants et rarement atteint par les entreprises (en dehors des CSP).

Avec le cloud, les entreprises peuvent mutualiser leurs ressources informatiques, ce qui signifie qu’elles peuvent partager l’infrastructure avec d’autres entreprises. Cela permet de réduire les coûts, car les entreprises ne paient que pour les ressources qu’elles utilisent. De plus, le cloud offre une flexibilité accrue, car les entreprises peuvent facilement augmenter ou diminuer leur utilisation en fonction de leurs besoins et des pics de charge. Cette consommation au plus juste des ressources nécessaires permet l’économie des ressources supplémentaires indispensables dans la situation on-premise.
En revanche, il est indispensable de mettre en place des garde-fous pour garder le contrôle des coûts et éviter l’effet rebond généralement constaté avec la mise à disposition des ressources (ressenties comme) infinies du cloud aux équipes.

Les CSP vont eux aussi devoir gérer un parc de serveurs supérieur à l’utilisation réelle (ne serait-ce que pour conserver leur flexibilité face à l’augmentation de la demande de serveurs des clients), mais leur supervision étant plus avancée elle est (en théorie) plus fine et par conséquent l’adéquation demande/ressources disponibles mieux anticipée.

Sur le volet environnemental, la mutualisation des ressources permet un partage entre les entreprises clientes du coût total de l’environnement du datacenter et donc une réduction de leurs empreintes carbones. Le regroupement de l’ensemble des besoins de calcul de l’ensemble des clients permet d’atteindre la taille critique pour que les solutions écoénergétiques soient efficaces et rentables et donc attrayantes aux investisseurs. Enfin, les fournisseurs cloud s’engagent de plus en plus à utiliser des énergies renouvelables pour alimenter leurs datacenters, ce qui peut contribuer à réduire encore plus l’empreinte carbone sur le scope 2.

Un investissement financier et environnemental est cependant nécessaire pendant la phase de transition où un “double run” entre les deux plateformes va être nécessaire.
Une fois la migration vers le cloud effectuée, il existe quelques contre-exemples où FinOps et GreenOps peuvent être concurrents : la sélection de la région chez le CSP où seront exécutées les charges de travail. En effet, la sélection d’une région impacte la facture fournie par le CSP et -en Europe- les régions allemandes ou irlandaises sont régulièrement plus intéressantes financièrement alors même que l’énergie alimentant ces régions sont parmi les plus émettrices de GES d’Europe. Un second exemple sont les réservations de ressources, permettant une réduction de la facture du CSP, mais qui contraignent les souscripteurs qui ont alors moins de flexibilité pour mettre en place certaines améliorations GreenOps.

Si la migration globale de parcs informatiques on-premises vers le cloud est globalement avantageuse tant sur les plans financier et environnemental, une fois sur le cloud l’on constate parfois quelques contre-exemples dans le tandem FinOps & GreenOps même s’il reste globalement applicable.


Quels avantages issus de la conteneurisation des applications

L'écosystème des containers permet d’améliorer l’efficacité des ressources, ce qui participe à une réduction financière tout en offrant une grande flexibilité. Ce gain d’efficacité est par voie de conséquence aussi un gain d’efficacité énergétique et celà permet aussi de prolonger de la durée de vie des équipements. Ainsi, les containers peuvent jouer un rôle clé dans la promotion de la sobriété numérique.

Les containers permettent une utilisation plus efficace de ressources mutualisées. Au sein d’un cluster, chaque container fonctionne de manière isolée et partage le système d’exploitation de l’hôte. Cette économie, réalisée plusieurs fois, permet de réduire la quantité de ressources nécessaires pour exécuter chaque application. Cela entraîne des économies significatives et croissantes avec le nombre d'applications déployées en termes de coûts d’infrastructure.

Les conteneurs offrent une grande flexibilité et une évolutivité rapide. Ils peuvent être déployés, mis à l’échelle et arrêtés rapidement, ce qui permet d’adapter l’utilisation des ressources aux besoins réels et d’éviter les coûts inutiles liés à la sur-provision des ressources hôtes. Simplifié par l’usage des containers, il est recommandable d’automatiser l’extinction et l’allumage des ressources inutiles la nuit, les weekends et jours fériés pour les environnements de développement, de test, d’intégration, etc.

Grâce à leur efficacité en termes de ressources, les containers peuvent également contribuer à réduire l’empreinte environnementale. En nécessitant moins de ressources pour exécuter les applications, ils peuvent réduire la consommation d’énergie des datacenters (scope 2). De plus, en réduisant la nécessité de matériel supplémentaire, les containers peuvent contribuer à prolonger la durée de vie des équipements existants et à réduire l’empreinte carbone associée à la production de nouveaux équipements (scope 3).


La gestion de la consommation électrique des applications

La consommation électrique en rapide hausse des applications est un sujet de préoccupation majeur dans le monde du numérique. En surveillant et en gérant cette consommation, les entreprises peuvent non seulement optimiser leurs coûts, mais aussi réduire leur impact environnemental.

La consommation électrique des applications possède des coûts directs et indirects :

  • Coûts directs : la consommation électrique des applications est directement corrélée aux coûts opérationnels. Plus une application consomme d’électricité, plus les coûts associés à son fonctionnement sont élevés. Du point de vue du FinOps, il est donc essentiel de surveiller et de gérer cette consommation pour optimiser les coûts.
  • Coûts indirects : une consommation électrique élevée peut nécessiter des investissements supplémentaires dans l’infrastructure de refroidissement, ce qui peut augmenter les coûts opérationnels. l’augmentation rapide de la consommation électrique des applications nécessite également du matériel de plus en plus performant et en plus grande quantité.

La consommation électrique des applications a également un impact environnemental significatif. En effet, la production d’électricité nécessaire au fonctionnement des datacenters (scope 2) est souvent associée à l’émission de gaz à effet de serre, ce qui contribue au changement climatique. Du point de vue du GreenOps, il est donc essentiel de réduire la consommation électrique des applications pour minimiser leur empreinte carbone. Cette efficacité énergétique est rendue possible via l'optimisation de code et l’utilisation de techniques de programmation écoénergétique dont en voici quelques exemples :

  • Optimisation algorithmique : choisir un algorithme de complexité mathématique inférieure et des structures de données adaptées ;
  • Réduire les I/O en faisant des appels directs aux ressources (quand celà ne met pas en péril la sécurité de l’architecture). Par exemple une base de données appelées au travers d’un backend, au lieu d’un appel direct à celle-ci ;
  • Profiter des optimisations apportées par chaque technologie, en réalisant par exemple le filtrage des données dès la requête à la base de données (qui est optimisée pour), plutôt que dans un second temps dans le backend ;
  • Optimisation au niveau du langage de développement : coordonner au mieux les instructions et utiliser des bibliothèques disponibles et frugales ;
  • Utilisation de techniques de programmation écoénergétiques : par exemple, éviter les boucles inutiles, minimiser l’utilisation de la mémoire, et utiliser efficacement les threads et les processus. Il est intéressant de remarquer que ces techniques sont souvent maîtrisables dans des langages de programmation dits de “bas niveau”, ce qui explique que les langages plus récents de “haut niveau” ont une performance énergétique moins intéressante.

L’adoption de technologies de cloud computing tels que les containers évoqués plus tôt dans cet article mais également certains services serverless ayant fait l’objet d’importantes optimisations sont des outils à considérer.

Enfin sur un modèle de tech-for-green : certaines applications basées sur des Intelligences Artificielles (IA) détectent des problèmes de performances d’utilisation du processeur et de la mémoire au niveau du code et fournissent des recommandations sur les façons de les résoudre. Cette mesure est à tempérer en fonction du propre impact carbone de ces solutions d’IA afin que le remède ne fasse pas plus de mal que de bien…


En conclusion de cet article, l’association de FinOps et GreenOps offre une approche innovante pour optimiser les coûts et l’efficacité énergétique dans le domaine de l’informatique. Cette synergie permet non seulement de réaliser des économies significatives, mais aussi de contribuer à la réduction de l’empreinte carbone.

Cette réflexion peut être élargie avec les disciplines Produit et Design qui, en se concentrant sur la création de produits et fonctionnalités qui apportent de la valeur, et en éliminant ceux qui n'en ont pas ou peu, concourent à créer des logiciels plus frugaux, et à utiliser les ressources informatiques de manière plus responsable. Cela pourrait non seulement améliorer l’efficacité opérationnelle, mais aussi favoriser une utilisation plus responsable des ressources informatiques.

Sources :

  1. Transformation de l'informatique | Cloud computing | Énergie et services AWS
  2. Les réductions d'émissions de CO2 promises par les Cloud providers sont elles réalistes? | Boavizta
  3. Impact datacenters AWS - AWS Cloud Summit Paris 2023
  4. VMs vs. Containers: A Cyclopedic Take on Virtualization & Containerization
  5. Electricity Maps

Pour aller plus loin :

  1. Bilan carbone : Comment le scope 3 mesure l’impact environnemental du numérique | Fruggr
  2. Meetup FinOps #18 | Empreinte environnementale de l'IA + Synergies FinOps/GreenOps
  3. Boavizta's Cloud-scanner returns environmental impacts of your AWS Instances (EC2) usage.
  4. L’Europe invite les DSI au “Sustainability by design” en janvier 2024