Ce document de la Google Cloud perspective Services financiers (SF) du framework d'architecture Well-Architected fournit une présentation des principes et des recommandations permettant d'optimiser le coût de vos charges de travail SF dans Google Cloud. Les recommandations de ce document sont conformes au pilier d'optimisation des coûts du framework d'architecture Well-Architected.
Une optimisation robuste des coûts pour les charges de travail des services financiers nécessite les éléments fondamentaux suivants :
- La capacité à identifier l'utilisation des ressources qui est inutile par rapport à celle qui génère de la valeur.
- Une culture intégrée de responsabilité financière.
Pour optimiser les coûts, vous devez comprendre de manière exhaustive les facteurs de coûts et les besoins en ressources de votre organisation. Dans certaines grandes organisations, en particulier celles qui en sont au début de leur parcours cloud, une seule équipe est souvent chargée d'optimiser les dépenses dans un grand nombre de domaines. Cette approche suppose qu'une équipe centrale est la mieux placée pour identifier les opportunités à forte valeur ajoutée afin d'améliorer l'efficacité.
L'approche centralisée peut être efficace lors des premières étapes de l'adoption du cloud ou pour les charges de travail non critiques. Toutefois, une seule équipe ne peut pas optimiser les coûts dans l'ensemble d'une organisation. Lorsque l'utilisation des ressources ou le niveau de contrôle réglementaire augmente, l'approche centralisée n'est pas durable. Les équipes centralisées sont confrontées à des défis d'évolutivité, en particulier lorsqu'elles traitent un grand nombre de produits et services financiers. Les équipes de projet propriétaires des produits et services peuvent s'opposer aux modifications apportées par une équipe externe.
Pour une optimisation efficace des coûts, les données liées aux dépenses doivent être très visibles, et les ingénieurs et autres utilisateurs du cloud qui sont proches des charges de travail doivent être motivés à prendre des mesures pour optimiser les coûts. D'un point de vue organisationnel, le défi de l'optimisation des coûts consiste à identifier les domaines à optimiser, à identifier les ingénieurs responsables de ces domaines, puis à les convaincre de prendre les mesures d'optimisation requises. Ce document fournit des recommandations pour relever ce défi.
Les recommandations d'optimisation des coûts de ce document sont associées aux principes fondamentaux suivants :
- Identifier les gaspillages à l'aide d' Google Cloud outils
- Identifier la valeur en analysant et en enrichissant les données de dépenses
- Répartir les dépenses pour responsabiliser les équipes
- Responsabiliser les équipes et motiver les ingénieurs à agir
- Se concentrer sur la valeur et le coût total de possession plutôt que sur le coût
Identifier les gaspillages à l'aide d' Google Cloud outils
Google Cloud propose plusieurs produits, outils et fonctionnalités pour vous aider à identifier les gaspillages. Tenez compte des recommandations suivantes.
Utiliser l'automatisation et l'IA pour identifier systématiquement les éléments à optimiser
Active Assist fournit des recommandations intelligentes pour des services tels que Cloud Run pour les microservices, BigQuery pour l'analyse de données, Compute Engine pour les applications principales et Cloud SQL pour les bases de données relationnelles. Les recommandations d'Active Assist sont fournies sans frais et sans aucune configuration de votre part. Elles vous aident à identifier les ressources inactives et les engagements sous-utilisés.
Centraliser la surveillance et le contrôle FinOps via une interface unifiée
Les rapports Cloud Billing et le hub FinOps vous permettent de mettre en œuvre une surveillance complète des coûts. Cette vue complète est essentielle pour que les auditeurs financiers et les équipes financières internes puissent suivre les dépenses cloud, évaluer la situation financière, évaluer la maturité FinOps dans différentes unités commerciales ou centres de coûts, et fournir un récit financier cohérent.
Identifier la valeur en analysant et en enrichissant les données de dépenses
Active Assist est efficace pour identifier les gaspillages évidents. Toutefois, il peut être plus difficile de déterminer la valeur, en particulier lorsque les charges de travail sont exécutées sur des produits inadaptés ou lorsqu'elles ne sont pas clairement alignées sur la valeur commerciale. Pour les charges de travail SF, la valeur commerciale va au-delà de la réduction des coûts. Elle inclut l'atténuation des risques, le respect des réglementations et l'obtention d'avantages concurrentiels.
Pour comprendre les dépenses et la valeur cloud de manière globale, vous devez avoir une compréhension complète à plusieurs niveaux : d'où proviennent les dépenses, quelle fonction commerciale elles génèrent et la faisabilité technique de la refactorisation ou de l'optimisation de la charge de travail en question.
Le schéma suivant montre comment appliquer la pyramide données-informations-connaissances-sagesse (DIKW) et les Google Cloud outils pour obtenir une compréhension globale des coûts et de la valeur cloud.
Le schéma précédent montre comment utiliser l'approche DIKW pour affiner les données brutes de dépenses cloud en insights et décisions exploitables qui génèrent de la valeur commerciale.
- Données : dans cette couche, vous collectez des flux bruts et non traités de données d'utilisation
et de coûts pour vos ressources cloud. Votre équipe FinOps centrale utilise des outils tels que les factures Cloud Billing, les exportations de facturation et Cloud Monitoring pour obtenir des données granulaires et détaillées. Par exemple, un point de données peut indiquer qu'une VM nommée
app1-test-vmAa été exécutée pendant 730 heures dans la régionus-central1et a coûté 70 USD. - Informations : dans cette couche, votre équipe FinOps centrale utilise des outils tels que les rapports Cloud Billing et le hub FinOps pour structurer les données brutes afin de répondre à des questions telles que "Quelles catégories de ressources les utilisateurs dépensent-ils ?". Par exemple, vous pouvez constater qu'un total de 1 050 USD a été dépensé pour des VM de type de machine n4-standard-2 dans deux régions des États-Unis.
- Connaissances : dans cette couche, votre équipe FinOps centrale enrichit
les informations avec le contexte commercial approprié sur qui a dépensé de l'argent et
dans quel but. Vous utilisez des mécanismes tels que le taggage, l'étiquetage, la hiérarchie des ressources, les comptes de facturation et les tableaux de bord Looker personnalisés. Par exemple, vous pouvez déterminer que l'équipe de test
app1aux États-Unis a dépensé 650 USD au cours de la deuxième semaine de juillet dans le cadre d'un exercice de test de charge. - Sagesse : dans cette couche, vos équipes de produits et d'applications utilisent les
connaissances contextualisées pour évaluer la valeur commerciale des dépenses cloud et
prendre des décisions stratégiques éclairées. Vos équipes peuvent répondre à des questions telles que les suivantes :
- Les 5 000 USD dépensés pour un pipeline d'analyse de données génèrent-ils une valeur commerciale ?
- Pourrions-nous repenser l'architecture du pipeline pour le rendre plus efficace sans réduire les performances ?
Tenez compte des recommandations suivantes pour analyser les données de dépenses cloud.
Analyser les données de dépenses fournies par Google Cloud
Commencez par les données Cloud Billing détaillées qui sont exportées vers BigQuery et les données disponibles dans les journaux Monitoring. Pour obtenir des insights exploitables et prendre des décisions, vous devez structurer ces données et les enrichir avec un contexte commercial.
Visualiser les données à l'aide des outils disponibles
Complétez les tableaux de bord intégrés Google Cloud avec des rapports personnalisés en utilisant des outils tels que Looker Studio en plus des exportations BigQuery. Les équipes financières peuvent créer des tableaux de bord personnalisés qui contextualisent les dépenses cloud par rapport aux métriques financières, aux exigences de reporting réglementaire et à la rentabilité des unités commerciales. Elles peuvent ensuite fournir un récit financier clair pour l'analyse et la prise de décision par les parties prenantes de la direction.
Répartir les dépenses pour responsabiliser les équipes
Une fois que vous avez compris ce qui génère les dépenses cloud, vous devez identifier qui dépense de l'argent et pourquoi. Ce niveau de compréhension nécessite une pratique robuste de répartition des coûts, qui consiste à associer des métadonnées pertinentes pour l'entreprise aux ressources cloud. Par exemple, si une ressource particulière est utilisée par l'équipe Banking-AppDev, vous pouvez associer un tag tel que team=banking_appdev à la ressource pour suivre le coût que l'équipe génère sur cette ressource. Idéalement, vous devriez allouer 100 % de vos coûts cloud à la source des dépenses. En pratique, vous pouvez commencer par un objectif inférieur, car la création d'une structure de métadonnées permettant de prendre en charge 100 % de la répartition des coûts est un effort complexe.
Tenez compte des recommandations suivantes pour développer une stratégie de métadonnées permettant de prendre en charge la répartition des coûts :
- Validité : assurez-vous que les tags permettent d'identifier les indicateurs clés de performance (KPI) liés à l'entreprise et les exigences réglementaires. Cette association est essentielle pour les rejets de débit internes, les rapports réglementaires et l'alignement des dépenses cloud sur les objectifs des unités commerciales. Par exemple, les tags suivants identifient clairement une équipe de dépenses, sa région et le produit sur lequel elle travaille :
team=banking_appdev,region=emea,product=frontend. - Automatisation : pour atteindre un niveau élevé de conformité des tags, appliquez les par automatisation. Le taggage manuel est sujet aux erreurs et aux incohérences, ce qui est inacceptable dans les environnements SF où l'auditabilité et la précision financière sont primordiales. Le taggage automatisé garantit que les ressources sont correctement catégorisées lors de leur création.
- Simplicité : mesurez des facteurs simples et non corrélés. Les environnements SF sont complexes. Pour vous assurer que les règles de répartition des coûts dans un tel environnement sont faciles à comprendre et à appliquer, elles doivent être aussi simples que possible. Évitez de surdimensionner les règles pour des cas très spécifiques (limites). Les règles complexes peuvent entraîner de la confusion et une résistance de la part des équipes opérationnelles.
Une fois que vous avez défini une stratégie d'allocation à l'aide de tags, vous devez déterminer le niveau de granularité auquel la stratégie doit être mise en œuvre. La granularité requise dépend des besoins de votre entreprise. Par exemple, certaines organisations peuvent avoir besoin de suivre les coûts au niveau du produit, d'autres peuvent avoir besoin de données de coûts pour chaque centre de coûts, et d'autres encore peuvent avoir besoin de données de coûts par environnement (développement, préproduction et production).
Envisagez les approches suivantes pour atteindre le niveau de granularité approprié pour la répartition des coûts dans votre organisation :
- Utilisez la hiérarchie des projets dans Google Cloud comme point de départ naturel pour la répartition des coûts. Les projets représentent des points d'application des règles dans Google Cloud. Par défaut, les autorisations IAM, les règles de sécurité et les coûts sont attribués aux projets et aux dossiers. Lorsque vous examinez les données de coûts exportées depuis Cloud Billing, vous pouvez afficher la hiérarchie des dossiers et les projets associés aux données de coûts. Si la hiérarchie de vos Google Cloud ressources reflète la structure de responsabilité de votre organisation en matière de dépenses, il s'agit du moyen le plus simple de mettre en œuvre la répartition des coûts.
- Utilisez tags et libellés pour une granularité supplémentaire. Ils offrent des moyens flexibles de catégoriser les ressources dans les exportations de facturation. Les tags et les libellés facilitent la répartition détaillée des coûts par application et par environnement.
Souvent, vous devrez peut-être utiliser la hiérarchie des projets combinée au taggage et à l'étiquetage pour une répartition efficace des coûts. Quelle que soit l'approche de répartition des coûts que vous choisissez, suivez les recommandations décrites précédemment pour développer une stratégie de métadonnées robuste : validation, automatisation et simplicité.
Responsabiliser les équipes et motiver les ingénieurs à agir
L'équipe FinOps Cloud est chargée d'inciter une organisation à être consciente des coûts et de la valeur. Les équipes de produits et d'ingénierie individuelles doivent prendre les mesures nécessaires pour optimiser les coûts. Ces équipes sont également responsables du comportement des coûts des charges de travail des services financiers et de s'assurer que leurs charges de travail offrent la valeur commerciale requise.
Tenez compte des recommandations suivantes pour responsabiliser les équipes et les motiver à optimiser les coûts.
Mettre en place une équipe FinOps centralisée pour la gouvernance
Les pratiques FinOps Cloud ne se développent pas de manière organique. Une équipe FinOps dédiée doit définir et établir des pratiques FinOps en procédant comme suit :
- Créer les processus, les outils et les conseils requis.
- Créer, communiquer et appliquer les règles nécessaires, telles que le taggage obligatoire, les examens budgétaires et les processus d'optimisation.
- Encourager les équipes d'ingénierie à être responsables des coûts.
- Intervenir lorsque les équipes d'ingénierie ne prennent pas en charge les coûts.
Obtenir le parrainage et les mandats de la direction
Les cadres supérieurs, y compris le CTO, le CFO et le CIO, doivent activement promouvoir une transition à l'échelle de l'organisation vers une culture FinOps. Leur soutien est essentiel pour hiérarchiser la responsabilité des coûts, allouer des ressources au programme FinOps, garantir la participation interfonctionnelle et assurer la conformité aux exigences FinOps.
Incentiver les équipes à optimiser les coûts
Les ingénieurs et les équipes d'ingénierie ne sont peut-être pas motivés à se concentrer sur l'optimisation des coûts. Il est important d'aligner les objectifs individuels et d'équipe sur la rentabilité en mettant en place des incitations telles que les suivantes :
- Réinvestir une partie des économies réalisées grâce à l'optimisation des coûts dans les équipes qui ont effectué l'optimisation.
- Reconnaître et célébrer publiquement les efforts et les réussites en matière d'optimisation des coûts.
- Utiliser des techniques de gamification pour récompenser les équipes qui optimisent efficacement les coûts.
- Intégrer des métriques d'efficacité aux objectifs de performances.
Mettre en œuvre des techniques de showback et de rejet de débit
Assurez-vous que les équipes ont une visibilité claire sur les ressources et les coûts cloud dont elles sont propriétaires. Attribuez la responsabilité financière aux personnes appropriées au sein des équipes. Utilisez des mécanismes formels pour appliquer un taggage rigoureux et mettre en œuvre des règles transparentes pour la répartition des coûts partagés.
Se concentrer sur la valeur et le coût total de possession plutôt que sur le coût
Lorsque vous évaluez des solutions cloud, tenez compte du coût total de possession (TCO) à long terme. Par exemple, l'auto-hébergement d'une base de données pour une application peut sembler moins cher que l'utilisation d'un service de base de données géré tel que Cloud SQL. Toutefois, pour évaluer la valeur et le TCO à long terme, vous devez tenir compte des coûts cachés associés aux bases de données auto-hébergées. Ces coûts incluent l'effort d'ingénierie dédié à l'application de correctifs, à la mise à l'échelle, au renforcement de la sécurité et à la reprise après sinistre, qui sont des exigences essentielles pour les charges de travail SF. Les services gérés offrent une valeur à long terme nettement supérieure, ce qui compense les coûts d'infrastructure. Ils offrent des fonctionnalités de conformité robustes, des fonctionnalités de fiabilité intégrées et peuvent vous aider à réduire vos frais généraux opérationnels.
Tenez compte des recommandations suivantes pour vous concentrer sur la valeur et le TCO.
Utiliser des techniques et des outils spécifiques aux produits pour l'optimisation des ressources
Tirez parti des outils et fonctionnalités d'optimisation des coûts fournis par Google Cloud les produits, tels que les suivants :
- Compute Engine : autoscaling, types de machines personnalisés, et VM spot
- GKE : autoscaler de cluster et provisionnement automatique des nœuds
- Cloud Storage : gestion du cycle de vie des objets et Autoclass
- BigQuery: Tarification basée sur la capacité et techniques d'optimisation des coûts
- Google Cloud VMware Engine : remises sur engagement d'utilisation, stockage optimisé et autres stratégies d'optimisation des coûts
Profiter des remises
Assurez-vous que le taux de facturation de vos ressources cloud est aussi bas que possible en utilisant les remises proposées par Google. Les équipes de produits et d'ingénierie individuelles gèrent généralement l'optimisation des ressources. L'équipe FinOps centrale est chargée d'optimiser les taux de facturation, car elle a une visibilité sur les besoins en ressources dans l'ensemble de l'organisation. Par conséquent, elle peut agréger les exigences et maximiser les remises basées sur l'engagement.
Vous pouvez profiter des types de remises suivants pour les Google Cloud ressources :
- Les remises pour les entreprises sont des remises négociées basées sur l'engagement de votre organisation's à dépenser un montant total minimal sur Google Cloud à un taux de facturation réduit.
- Les remises sur engagement d'utilisation basées sur les ressources sont proposées en échange d'un engagement à utiliser une quantité minimale de ressources Compute Engine sur une période d'un ou trois ans. Elles s'appliquent aux ressources d'un projet et d'une région spécifiques. Pour partager des remises sur engagement d'utilisation entre plusieurs projets, vous pouvez activer le partage des remises sur engagement d'utilisation.
- Les remises sur engagement d'utilisation basées sur les dépenses sont proposées en échange d'un engagement à dépenser un montant minimal pour un produit particulier sur une période d'un ou trois ans. Elles s'appliquent au niveau du compte de facturation. Elles sont appliquées au niveau régional ou mondial en fonction du produit.
Vous pouvez réaliser des économies importantes en utilisant des remises sur engagement d'utilisation en plus des remises pour les entreprises.
Outre les remises sur engagement d'utilisation, utilisez les approches suivantes pour réduire les taux de facturation :
- Utilisez des VM spot pour les charges de travail tolérantes aux pannes et flexibles. Les VM spot sont plus de 80 % moins chères que les VM standards.
- BigQuery propose plusieurs modèles de tarification, y compris la tarification à la demande et la tarification basée sur l'édition qui est basée sur les engagements et les exigences d'autoscaling. Si vous utilisez un volume important de ressources BigQuery, choisissez une édition appropriée pour réduire le coût par slot pour les charges de travail d'analyse.
- Évaluez attentivement les Google Cloud régions disponibles pour les services que vous devez utiliser. Choisissez des régions qui correspondent à vos objectifs de coûts et à des facteurs tels que la latence et les exigences de conformité. Pour comprendre les compromis entre coût, durabilité et latence, utilisez le Google Cloud sélecteur de région.