La démarche FinOps
Références :
- Meetup FinOps du 04/03/2025 du groupe FinOps x GreenOps France
- 8 causes qui gonflent la facture Cloud chez Le Monde Informatique
Mais qu’est-ce donc que le FinOps ?
La démarche de FinOps a pour ambition de tirer le maximum de bénéfices du système d’informations en optimisant les pratiques des différentes équipes de l’entreprise. Le bénéfice ainsi dégagé doit permettre à l’entreprise d’accroître sa création de valeur. Les pratiques portent sur la façon d’utiliser les ressources mises à la disposition des différentes équipes.
L’idée est d’améliorer le contrôle et d’anticiper les besoins financiers des équipes tout en améliorant la productivité, sans impacter les bénéfices apportés aux clients, voir en les augmentant.
Dit autrement, FinOps veut ajouter la notion de “Finance” au “DevOps” pour intégrer les équipes business dans les équipes techniques.
Comment ça fonctionne ? Quelques cas d’usage
Premier cas (GCP) : BigQuery - coûts de plateforme data
NB: BigQuery est un service de base de donnée Serverless accessible en sql, proposant notamment l’agrégation de données hétéroclites pour analyse et prise de décision).
Principe de base : Audit (état des lieux) → étude des gains possibles → optimisation de consommation → suivi d’évolution de la consommation.
Optimisation d’usage, par SKU, par requête (format des données, volume de donnée, …), volume de stockage.
Limitation : le service ne fournit que des coûts estimés, ce qui rend incertain la portée des gains lorsqu’on essaie de les estimer.
Optimisation du volume des transactions, du volume de donnée stocké.
Piste de réflexions à explorer avec BigQuery :
- Chercher les optimisations de configuration, d’offres (suivant les modèles de facturation de BigQuery), etc.
- Explorer les type de stockage proposés (typiquement, le stockage physique consomme beaucoup moins d’espace que le stockage logique grâce à la compression de donnée aka meilleure maîtrise du stockage).
- Étudier les mécanismes d’indexation, de partitionnement, etc. pour optimiser la performa,ce des requêtes de recherche (et donc la consommation d’i/o).
- Voir également les mécanismes d’expiration des données, pour limiter le stockage de données expirées, ou qui ne servent plus.
- Google propose également une série d’utils sous la forme de scripts d’analyse (projet, table, query, etc.).
Aurpès des équipes, intégrer la démarche FinOps consiste à sensibiliser sur les
coûts. Pour cela, la console de GCP de donner de la visibilité sur les dépenses
(presque) en temps réel (e.g. à la création des ressources). Par exemple, BigQuery
permet de voir quasiment en direct l’optimisation du coût de la requête en direct
(e.g. consultation des coûts, retrait d’un select *
, et l’optimisation se voit
dès qu’une nouvelle requête est exécutée).
Second cas (GCP) : CUD - Committed Use Discount
NB: les CUD correspondent plus ou moins un équivalent à un mécanisme de réservations, ou de forfait.
Ce genre de système doit entrer de base dans une stratégie FinOps pour l’optimisation des coûts.
Coûts = optimisation x taux, c’est-à-dire se limiter à ce dont nous avons besoin avant de chercher les gains via les systèmes de réductions.
Typiquement,
- la première étape est d’analyser la consommation,
- l’optimiser comme vu avec l’exemple BigQuery,
- enfin, étudier les offres de CUD,
- proposer des réservations et equivalent en fonction de la stratégie du client (e.g. renvoyer vers l’offre commerciale correspondante), durée de réservation, montant de réduction, etc.
- pour ensuite appliquer ces offres de façon pertinente sur l’infrastructure du client.
NB: la capacité réservée n’est pas garantie chez GCP.
GCP propose deux mécanismes d’attribution des ressources aux services :
- proportionnelle à la consommation actuelle (sans discrimination ni favoritisme), ou
- selon des priorités définies par le client (e.g. en fonction de la criticité des services).
Optimisation sur la base des dépenses (consommation variable mais prévisible) ou bien directement sur la base de la consommation des ressources elles-mêmes (lorsqu’elle est stable).
- outils d’analyse (opportunités, risques, rentabilité, etc.)
- approbation (validation du concept et processus d’évolution de la consommation)
- achat
- suivi/optimisation (revue des gains / pertes, retours d’exploitation, revue du plan).
La démarche FinOps partira généralement du haut de la hiérarchie (ou de la compta, via le compte de facturation) et redescendra jusqu’aux équipes (dans le cadre d’un projet donné).
Troisième cas (AWS) : Coûts cachés sur s3, NAT Gateway et CloudWatch
s3 :
- coûts des requêtes (call API),
- choix de classe de stockage (optimisation en fonction des besoins / cas d’usages, avec des optimisations adaptées),
- transfert de donnée (les backups reviennent cher).
Projection des tarifs sur des usages grandeur nature (e.g. les nombres de requête peuvent grimper très vite), proposition de solutions alternatives moins coûteuses (e.g. mise en cache, compression des fichiers, traitement par lot, optimisation réseau type vpc endpoint etc.).
NAT Gateway :
- coût fixe (l’exemple des NAT Gateway montre que l’information peut être difficile d’accès),
- trafic entrant et sortant (donc la facturation semble être appliquée deux fois, alors que c’est en réalité une question de communication),
- utilisé par d’autres services (e.g. s3 qui passe par internet).
Il est notamment important d’Identifier les coûts par i/o, car ils peuvent grimper très vite, et proposer des solutions de contournement (e.g. éviter le trafic jusqu’à la source, routage du trafic par un point d’accès moins coûteux comme les VPC Endpoint, etc.).
CloudWatch : ici, nous pouvons jouer sur le volume de métriques, de logs, d’alarmes et dashboards, etc.
Typiquement, optimiser les volumes pourra passer par :
- la compression des données,
- la réduction de la fréquence d’échantillonnage,
- en se limitant aux points de contrôle essentiel,
- par le nettoyage des données les plus anciennes, et
- en jouant délai de rétention.
Le choix des services ne doit pas seulement être piloté par la sécurité et l’optimisation de la performance, mais aussi par les coûts. Les optimisations de coût devront se subordonner aux besoins. Par exemple quand des ressources sont peu sollicitées, le besoin de suivi sera moins pressant (bien entendu, à moduler en fonction de la criticité de ces ressources).
Les outils des fournisseurs Cloud
Dans le domaine du Cloud, la démarche FinOps est déjà bien intégrée. Ci dessous, nous explorons les trois grands acteurs américains, mais les acteurs français (OVH, Scaleway, Clever Cloud, etc.) proposent également des solutions et outils pour maîtriser ses coûts.
AWS
- AWS Princing Calculator permet d’estimer le coût d’une architecture cloud.
- AWS Cost Explorer permet de visualiser, manipuler et faire de l’analyse prédictive sur les coûts des différents services cloud via un tableau de bord.
- AWS Trusted Advisor analyse et permet de réaliser des actions automatiques sur les ressources (redimensionnement, désactivation des VM, etc.).
- EC2 Right Sizing fournit des recommendations pour optimiser le coût des ressources.
- AWS Budget permet de se fixer un budget, et d’être prévenu en cas de dépassement.
Le système de Reserved Instances encourage également à optimiser les dépenses sur les ressources.
Azure
- Une calculatrice pour estimer le coût d’une architecture cloud.
- Azure Cost Management est l’équivalent d’AWS Cost Explorer.
- Azure Advisor fournit le même genre de service qu’EC2 Right Sizing, mais sur la base de la consommation actuelle.
GCP
Eux fournissent un seul outil, Cost Management, rassemblant les fonctionnalités de :
- console de suivi (global et par projet, voir personnalisé),
- de gestion des habilitations financières (budgets, alertes),
- un export des données pour Data Studio de Google.
Synthèse
Après la sécurité ou la performance, la démarche FinOps apporte un nouvel axe d’amélioration du système d’information. Elle repose sur une stratégie d’ajustement des dépenses en fonction des besoins réels des clients, afin de préserver l’expérience utilisateur tout en éliminant le superflu.
Les bénéfices ainsi dégagés pourrons ensuite être réinvestis par l’entreprise dans de nouveaux projets, au niveau des équipes pour apporter des innovations sur leurs produits et fonctionnalités, etc. Savoir identifier et démontrer ces bénéfices permet d’évangéliser auprès des équipes sur les bénéfices de la démarche FinOps, ce qui en constitue une étape cruciale.
La démarche FinOps passe généralement par les étapes suivantes :
- établir un état des lieux de la consommation à l’instant donné ;
- explorer les services proposés par nos fournisseurs, notamment sur les coûts de ces services ;
- établir un plan d’optimisation des dépenses ;
- une fois le plan validé (d’un côté avec les équipes techniques, de l’autre avec la finance), appliquer le plan ;
- suivre l’évolution de la consommation ;
- explorer les offres de réservation, de forfait, etc. ;
- établir un nouveau plan d’optimisation prenant en compte l’exploitation déjà optimisée au niveau des services, et repartir dans un cycle de validation et application de ce nouveau plan ;
- enfin, conserver un suivi des évolutions de la consommation, pour rester constamment en veille de nouvelles optimisations.
Le FinOps repose sur une solide expertise technique, notamment la connaissance des solutions que propose le fournisseur (ici Cloud) susceptibles de répondre au besoin à moindre frais, et ce autant sur les aspects techniques que sur les aspects financiers de ces solutions. Typiquement, dans le cas du Cloud, la démarche devra reposer sur des architectes Cloud expert de l’opérateur de Cloud de l’entreprise (GCP, AWS, etc.).