FinOps sur Google Cloud : comment maîtriser vos coûts Cloud ?

Johan Protin
Zenika
Published in
7 min readOct 11, 2023

--

Image générée depuis une IA avec Bing Image Creator

Le cloud computing a révolutionné la façon dont les entreprises exploitent leurs ressources informatiques. Il offre une grande flexibilité et une scalabilité à la demande, ce qui permet aux entreprises d’être plus agiles, d’innover plus rapidement et de se concentrer sur leur cœur de métier.

Cependant, il peut également être difficile de maîtriser les coûts Cloud. En effet, les entreprises peuvent rapidement se retrouver à payer pour des ressources qu’elles n’utilisent pas ou qui ne sont pas optimisées.

C’est là qu’intervient le FinOps. Le FinOps est une approche de la gestion des coûts Cloud qui vise à garantir une utilisation efficace des ressources et à réduire les dépenses.

Cet article se focalise sur la maîtrise de vos coûts sur le Cloud.

Qu’est-ce que le FinOps ?

Le FinOps est une approche visant à optimiser les coûts liés à l’utilisation des services Cloud en fournissant une transparence financière et en favorisant la collaboration entre les équipes techniques et financières.

Cela permet aux entreprises de prendre des décision éclairées, de gérer efficacement leurs budgets Cloud et de soutenir leur croissance.

Quels sont les leviers d’optimisation des coûts ?

(Schéma qui détaille les différentes pratiques à appliquer. Inspiration : présentation de Google Cloud)

Sur Google Cloud, voici les 8 possibilités permettant d’optimiser les coûts de votre plateforme Cloud :

  • Engagement des ressources : mettre en place une campagne Committed Use Discount afin de réserver des ressources sur une période de 1 à 3 ans pouvant aller jusqu’à 57% de réduction.
  • Redimensionnement : en fonction de votre stratégie d’auto-scaling et des besoins en terme de sizing machine, vous pouvez soit le baisser ou augmenter afin de maîtriser le coût de vos ressources tout en gardant des performances optimales.
  • Planification : ne laissez pas tourner des ressources avec zéro activité, pensez à les éteindre et à les rallumer quand c’est nécessaire.
  • Ressources inutilisées : il est important de faire la chasse aux ressources qui fonctionnent encore alors que le service n’est plus utilisé. Un bon moyen de réduire les coûts.
  • Ressources préemptibles : vous pouvez utiliser des ressources non utilisées de l’infrastructure de Google avec des réductions pouvant aller jusqu’à 80% mais attention il y a des contraintes comme une durée de vie de 24h maximum.
  • Niveaux de stockage : Le lifecycle management est l’ensemble des processus et des outils qui permettent de gérer le cycle de vie des données. Il permet de garantir que les données sont stockées de manière sécurisée et optimisée.
  • Architecture : l’objectif est l’utilisation de services plus économiques comme le serverless ou des services managés. Cela nécessite des transformations sur une architecture technique.
  • BigQuery Analysis : mise en place de processus permettant d’observer les requêtes sur BigQuery et ensuite de les optimiser afin qu’elles coûtent moins cher.

Les leviers d’optimisation des coûts Cloud nécessitent un engagement des équipes, de l’analyse des données et la mise en place de bonnes pratiques.

Quels sont les efforts nécessaires pour réaliser des économies ?

Les efforts nécessaires pour réaliser des économies dans le FinOps sont généralement mesurés par le retour sur investissement (ROI). Le ROI est le rapport entre les économies réalisées et les coûts initiaux de mise en place des mesures d’optimisation des coûts.

Cependant, il est important de noter que le ROI peut varier en fonction de la taille et de la complexité de l’infrastructure Cloud.
Ci-dessous un aperçu de patterns pouvant s’appliquer sur Google Cloud

Schéma qui décrit le rapport entre l’effort et les économies sur Google Cloud

Quelles sont les bonnes pratiques pour se lancer ?

1. Ajouter des labels dans vos projets

Les labels sont des paires clé/valeur qui peuvent être appliquées à des ressources Google Cloud. Ils sont utilisés pour identifier et organiser les ressources, et ils peuvent également être utilisés pour suivre les coûts et l’utilisation.

Dans le cadre du FinOps, les labels sont utilisés pour :

  • Identifier les ressources utilisées par les différentes équipes ou départements. Cela permet de suivre les coûts et l’utilisation par équipe ou département.
  • Distinguer les ressources de production des ressources de test ou de développement. Cela permet de garantir que les ressources de production ne sont pas utilisées pour des charges de travail non critiques.
  • Suivre les coûts et l’utilisation des ressources au fil du temps. Cela permet d’identifier les opportunités d’optimisation.

Google Cloud propose un ensemble de labels prédéfinis qui peuvent être utilisés pour le FinOps. Ces labels comprennent :

  • team : L’équipe ou le département responsable d’une ressource.
  • environment : L’environnement dans lequel une ressource est utilisée (production, test, développement, etc.).
  • cost-center : Le centre de coûts auquel une ressource est associée.

Les labels peuvent également être personnalisés pour répondre aux besoins spécifiques d’une entreprise. (cf. documentation Google Cloud pour manager les labels)

2. Maîtriser le billing dans la console de Google Cloud

Dashboard Billing dans la Console de Google Cloud

Google Cloud sur sa console met à disposition un dashboard Billing permettant de visualiser la consommation de vos ressources.

  • Reports : permettant de checker au plus précis ce que coûte le projet (plusieurs niveaux de détail : Project, Services, SKU, Location region ou multi-region, Label Key)
  • Budgets & Alerts : pour la surveillance de projets qui ont un budget bien précis, avec possibilité de créer des notifications d’alerting pour réagir au plus vite. Cette partie ne bloque pas le projet si le budget est dépassé (dangereux sur un projet en production dont le service serait stoppé)
  • Billing Export : permet de configurer un export de data du billing dans un bigquery. Ensuite les données peuvent être exploitées par un outil tel que Looker studio
  • FinOps hub : Nouveau sur la partie billing et très intéressant pour visualiser votre score en termes de maturité sur la pratique FinOps et il propose un classement des top recommandations afin d’optimiser les coûts.
  • Les Committed Use Discounts : réservation de ressources avec un engagement de 1 ou 3 ans. Google Cloud s’engage à proposer un tarif réduit.
  • Des CUDs analysis pour bien comprendre ce qu’il faudrait mettre en place en termes de campagne de réservation de ressources sur 1 ou 3 ans.
  • Un tableau des prix qui sont appliqués sur votre compte de facturation et en fonction de ce que vous consommez.

3. Mettre en place un billboard sur Looker Studio

Mettre en place le Billboard de Google Cloud sur l’outil Looker Studio, vous permettra de visualiser les coûts avec précision mais vous pourrez également travailler sur les données pour donner une vision produit et business. Principalement le Billboard sur Looker Studio permet :

  • Apporter de la visibilité
  • Présenter les informations les plus importantes de manière claire et concise
  • Aider à définir un plan d’actions pour réduire les coûts

Il faut activer l’exportation de la data concernant le billing sur BigQuery, ainsi votre Billboard sera alimenté en données pour suivre vos coûts.

Voici les éléments nécessaires pour installer le Billboard sur votre espace de Looker Studio : Tutoriel installation Billboard sur Looker Studio

4. Utiliser des outils permettant de contrôler vos coûts

Analyser les coûts depuis la CI/CD ou en live sur la plateforme

Les avantages du cloud computing, tels que la flexibilité et la scalabilité, peuvent entraîner une hausse des coûts si des pratiques de FinOps ne sont pas mises en place.

Pour maîtriser les coûts Cloud, il est important d’utiliser des outils permettant de contrôler votre utilisation des ressources. Ces outils peuvent vous aider à identifier les opportunités d’optimisation et à prendre des mesures pour réduire vos coûts.

Nous allons voir comment utiliser deux outils populaires pour contrôler vos coûts Cloud sur Google Cloud : Infracost et Kubecost.

Infracost est un outil open source qui permet de calculer le coût d’une infrastructure Cloud. Il est basé sur les tarifs de Google Cloud et il prend en compte les coûts des instances, du stockage, du réseau, etc.

Infracost est un outil puissant qui peut vous aider à identifier les ressources les plus coûteuses de votre infrastructure. Il peut également vous aider à comparer différents scénarios d’utilisation pour voir comment ils affectent vos coûts.

Voici une vidéo Youtube permettant de voir comment Infracost intervient sur Github, Jira, etc. et visualiser le résultat avec le prix estimé à partir de votre infrastructure as code (IaC) en Terraform.

Accéder à la documentation pour intégrer Infracost dans votre CI/CD

Kubecost est un outil open source qui permet de calculer le coût d’un cluster Kubernetes. Il est basé sur les tarifs de Google Cloud et il prend en compte les coûts des instances, du stockage, du réseau, etc.

Kubecost est un outil spécialisé pour les clusters Kubernetes. Il peut vous aider à identifier les ressources les plus coûteuses de votre cluster et à prendre des mesures pour les optimiser.

Accéder à la documentation pour installer et configurer Kubecost

Conclusion

Le FinOps est une approche qui vous aide à maîtriser vos coûts cloud et à garantir une utilisation efficace de vos ressources. Il est important de mettre en place une stratégie globale qui comprend les trois piliers suivants : l’engagement des équipes, l’analyse des données et la mise en place de bonnes pratiques.

En adoptant les bonnes pratiques, vous pouvez gagner en maturité FinOps et réaliser des économies significatives.

  • Quelles sont les principales leçons que vous avez tirées de cet article ?
  • Comment allez-vous mettre en œuvre les principes du FinOps dans votre entreprise ?
  • Avez-vous les compétences nécessaires dans votre organisation pour traiter les sujets FinOps ?

--

--

Johan est Cloud addict et s'est spécialisé depuis plusieurs années vers les technologies Cloud.