Le pilier "Optimisation des coûts" du Well-Architected FrameworkGoogle Cloud décrit les principes et les recommandations permettant d'optimiser le coût de vos charges de travail dans Google Cloud.
L'audience cible comprend les personnes suivantes :
- Les directeurs de la technologie, les DSI, les CFO et les autres dirigeants responsables de la gestion stratégique des coûts.
- Architectes, développeurs, administrateurs et opérateurs qui prennent des décisions ayant un impact sur les coûts à toutes les étapes du parcours cloud d'une organisation.
Les modèles de coûts pour les charges de travail sur site et dans le cloud diffèrent considérablement. Les coûts informatiques sur site incluent les dépenses d'investissement (CapEx) et les dépenses d'exploitation (OpEx). Les ressources matérielles et logicielles sur site sont acquises et les coûts d'acquisition sont dépréciés sur la durée de vie opérationnelle des ressources. Dans le cloud, les coûts de la plupart des ressources cloud sont traités comme des OpEx, où les coûts sont engagés lorsque les ressources cloud sont consommées. Cette différence fondamentale souligne l'importance des principes fondamentaux suivants de l'optimisation des coûts.
Pour connaître les principes et recommandations d'optimisation des coûts spécifiques aux charges de travail d'IA et de ML, consultez Perspective de l'IA et du ML : optimisation des coûts dans le Well-Architected Framework.
Évaluer les charges de travail à l'aide d'une compétence d'agent
Pour permettre aux agents IA d'évaluer vos charges de travail cloud par rapport aux principes et recommandations de ce pilier, utilisez la compétence google-cloud-waf-cost-optimization, disponible dans le dépôt Google Agent Skills sur GitHub.
Pour installer la compétence, exécutez la commande suivante dans le client ou le terminal de votre agent :
npx skills add google/skills --skill google-cloud-waf-cost-optimization
Lorsque vous y êtes invité, spécifiez les agents d'IA pour lesquels vous souhaitez installer la compétence et définissez le champ d'application de l'installation (projet ou global).
Si vous avez déjà installé la compétence, vous pouvez la mettre à jour vers la dernière version en exécutant la commande suivante :
npx skills update
Principes de base
Les recommandations du pilier d'optimisation des coûts du Well-Architected Framework sont mappées aux principes fondamentaux suivants :
- Aligner les dépenses cloud sur la valeur commerciale : assurez-vous que vos ressources cloud offrent une valeur commerciale mesurable en alignant les dépenses informatiques sur les objectifs d'entreprise.
- Favoriser une culture de sensibilisation aux coûts : assurez-vous que les membres de votre organisation prennent en compte l'impact financier de leurs décisions et de leurs activités, et qu'ils ont accès aux informations sur les coûts nécessaires pour prendre des décisions éclairées.
- Optimiser l'utilisation des ressources : provisionnez uniquement les ressources dont vous avez besoin et ne payez que pour les ressources que vous consommez.
- Optimiser en continu : surveillez en permanence l'utilisation et les coûts de vos ressources cloud, et effectuez des ajustements de manière proactive si nécessaire pour optimiser vos dépenses. Cette approche consiste à identifier et à résoudre les inefficacités potentielles en termes de coûts avant qu'elles ne deviennent des problèmes importants.
Ces principes sont étroitement alignés sur les principes fondamentaux du cloud FinOps. Le FinOps s'applique à toutes les organisations, quelle que soit leur taille ou leur maturité dans le cloud. En adoptant ces principes et en suivant les recommandations associées, vous pouvez contrôler et optimiser les coûts tout au long de votre parcours dans le cloud.
Contributeurs
Auteur : Nicolas Pintaux | Ingénieur client, spécialiste de la modernisation des applications
Autres contributeurs :
- Anuradha Bajpai | Architecte de solutions
- Daniel Lees | Architecte en sécurité cloud
- Eric Lam | Responsable de Google Cloud FinOps
- Fernando Rubbo | Architecte de solutions cloud
- Filipe Gracio, PhD | Ingénieur client, spécialiste en IA/ML
- Gary Harmson | Architecte principal
- Jose Andrade | Ingénieur client, spécialiste SRE
- Kent Hua | Solutions Manager
- Kumar Dhanagopal Développeur de solutions multiproduits
- Marwan Al Shawi | Partner Customer Engineer
- Radhika Kanakam | Responsable de programme, Google Cloud Well-Architected Framework
- Samantha He | Rédactrice technique
- Steve McGhee | Reliability Advocate
- Sergei Lilichenko | Solutions Architect
- Wade Holmes | Directeur des solutions mondiales
- Zach Seils | Spécialiste en gestion des réseaux
Aligner les dépenses cloud sur la valeur commerciale
Ce principe du pilier "Optimisation des coûts" du Google Cloud Well-Architected Framework fournit des recommandations pour aligner votre utilisation des ressources Google Cloud sur les objectifs commerciaux de votre organisation.
Présentation du principe
Pour gérer efficacement les coûts du cloud, vous devez maximiser la valeur commerciale fournie par les ressources cloud et minimiser le coût total de possession (TCO). Lorsque vous évaluez les options de ressources pour vos charges de travail cloud, tenez compte non seulement du coût de provisionnement et d'utilisation des ressources, mais aussi du coût de leur gestion. Par exemple, les machines virtuelles (VM) sur Compute Engine peuvent être une option économique pour héberger des applications. Toutefois, si l'on tient compte des frais de maintenance, de correction et de scaling des VM, le coût total de possession peut augmenter. En revanche, les services sans serveur tels que Cloud Run peuvent offrir une plus grande valeur commerciale. La réduction des frais opérationnels permet à votre équipe de se concentrer sur les activités principales et contribue à accroître l'agilité.
Pour vous assurer que vos ressources cloud offrent une valeur optimale, évaluez les facteurs suivants :
- Coûts de provisionnement et d'utilisation : dépenses engagées lorsque vous achetez, provisionnez ou consommez des ressources.
- Coûts de gestion : dépenses récurrentes liées à l'exploitation et à la maintenance des ressources, y compris les tâches telles que l'application de correctifs, la surveillance et le scaling.
- Coûts indirects : coûts que vous pourriez encourir pour gérer des problèmes tels que les temps d'arrêt, la perte de données ou les failles de sécurité.
- Impact commercial : avantages potentiels des ressources, tels que l'augmentation des revenus, l'amélioration de la satisfaction client et l'accélération du délai de mise sur le marché.
En alignant les dépenses cloud sur la valeur commerciale, vous bénéficiez des avantages suivants :
- Décisions axées sur la valeur : vos équipes sont encouragées à privilégier les solutions qui offrent la plus grande valeur commerciale et à prendre en compte les implications financières à court et à long terme.
- Choix de ressources éclairé : vos équipes disposent des informations et des connaissances nécessaires pour évaluer la valeur commerciale et le TCO de différentes options de déploiement, afin de choisir des ressources rentables.
- Alignement entre les équipes : la collaboration interfonctionnelle entre les équipes commerciales, financières et techniques garantit que les décisions liées au cloud sont alignées sur les objectifs globaux de l'organisation.
Recommandations
Pour aligner les dépenses cloud sur les objectifs d'entreprise, tenez compte des recommandations suivantes.
Donner la priorité aux services gérés et aux produits sans serveur
Dans la mesure du possible, choisissez des services gérés et des produits sans serveur pour réduire les coûts opérationnels et de maintenance. Ce choix permet à vos équipes de se concentrer sur leurs activités principales. Ils peuvent accélérer la livraison de nouvelles fonctionnalités et contribuer à stimuler l'innovation et la valeur.
Voici quelques exemples d'implémentation de cette recommandation :
- Pour exécuter des bases de données PostgreSQL, MySQL ou Microsoft SQL Server, utilisez Cloud SQL au lieu de déployer ces bases de données sur des VM.
- Pour exécuter et gérer des clusters Kubernetes, utilisez Google Kubernetes Engine (GKE) Autopilot au lieu de déployer des conteneurs sur des VM.
- Pour vos besoins de traitement Apache Hadoop ou Apache Spark, utilisez Managed Service pour Apache Spark et Managed Service pour Apache Spark sans serveur. La facturation à la seconde peut vous aider à réduire considérablement le coût total de possession par rapport aux lacs de données sur site.
Équilibrer la rentabilité et l'agilité de l'entreprise
Le contrôle des coûts et l'optimisation de l'utilisation des ressources sont des objectifs importants. Cependant, vous devez trouver un équilibre entre ces objectifs et la nécessité de disposer d'une infrastructure flexible qui vous permet d'innover rapidement, de réagir rapidement aux changements et de créer de la valeur plus rapidement. Voici quelques exemples de la façon dont vous pouvez atteindre cet équilibre :
- Adoptez les métriques DORA pour mesurer les performances de livraison de logiciels. Des métriques telles que le taux d'échec des modifications (CFR), le délai de détection (TTD) et le délai de restauration (TTR) peuvent vous aider à identifier et à résoudre les goulots d'étranglement dans vos processus de développement et de déploiement. En réduisant les temps d'arrêt et en accélérant la livraison, vous pouvez atteindre à la fois l'efficacité opérationnelle et l'agilité commerciale.
- Suivez les pratiques d'ingénierie de la fiabilité des sites (SRE) pour améliorer la fiabilité opérationnelle. L'accent mis par l'ingénierie SRE sur l'automatisation, l'observabilité et la réponse aux incidents peut réduire les temps d'arrêt, diminuer le temps de récupération et améliorer la satisfaction client. En minimisant les temps d'arrêt et en améliorant la fiabilité opérationnelle, vous pouvez éviter les pertes de revenus et le surprovisionnement des ressources comme filet de sécurité pour gérer les pannes.
Activer l'optimisation en libre-service
Encouragez une culture d'expérimentation et d'exploration en fournissant à vos équipes des outils d'optimisation des coûts en libre-service, des outils d'observabilité et des plates-formes de gestion des ressources. Permettez-leur de provisionner, gérer et optimiser leurs ressources cloud de manière autonome. Cette approche permet de favoriser un sentiment d'appropriation, d'accélérer l'innovation et de s'assurer que les équipes peuvent répondre rapidement aux besoins changeants tout en tenant compte de la rentabilité.
Adopter et mettre en œuvre FinOps
Adoptez FinOps pour établir un environnement collaboratif dans lequel chacun est habilité à prendre des décisions éclairées qui équilibrent les coûts et la valeur. Le FinOps favorise la responsabilité financière et l'optimisation efficace des coûts dans le cloud.
Promouvoir un état d'esprit axé sur la valeur et conscient du TCO
Encouragez les membres de votre équipe à adopter une attitude globale vis-à-vis des dépenses cloud, en mettant l'accent sur le coût total de possession et pas seulement sur les coûts initiaux. Utilisez des techniques telles que la cartographie de flux de valeur pour visualiser et analyser le flux de valeur tout au long de votre processus de livraison de logiciels, et pour identifier les points à améliorer.
Comprenez précisément les facteurs de coût en utilisant des coûts unitaires pour vos applications et services. Adoptez l'unit economics pour équilibrer les coûts par rapport aux revenus ou aux métriques métier. En corrélant les dépenses cloud avec les unités de mesure de l'entreprise, telles que les revenus par client ou le volume de transactions, vous pouvez mesurer les marges unitaires et vérifier que l'augmentation des dépenses est motivée par une croissance rentable. En comparant les coûts aux revenus, votre organisation peut faire la distinction entre l'inefficacité opérationnelle et un scaling sain. Vous pouvez ainsi identifier les cas où des investissements supplémentaires dans le cloud sont justifiés. Pour en savoir plus, consultez Maximiser la valeur métier à l'aide de cloud FinOps.
Favoriser une culture de sensibilisation aux coûts
Ce principe du pilier "Optimisation des coûts" du Google Cloud Well-Architected Framework fournit des recommandations pour promouvoir la sensibilisation aux coûts dans l'ensemble de votre organisation et s'assurer que les membres de l'équipe disposent des informations sur les coûts dont ils ont besoin pour prendre des décisions éclairées.
Traditionnellement, la responsabilité de la gestion des coûts peut être centralisée sur quelques parties prenantes sélectionnées et principalement axée sur les décisions initiales d'architecture du projet. Cependant, les membres de l'équipe, quel que soit leur rôle d'utilisateur cloud (analyste, architecte, développeur ou administrateur), peuvent contribuer à réduire le coût de vos ressources dansGoogle Cloud. En partageant les données de coût de manière appropriée, vous pouvez permettre aux membres de l'équipe de prendre des décisions rentables tout au long de leurs processus de développement et de déploiement.
Présentation du principe
Les parties prenantes de différents rôles (propriétaires de produits, développeurs, ingénieurs de déploiement, administrateurs et analystes financiers) ont besoin de visibilité sur les données de coût pertinentes et leur relation avec la valeur commerciale. Lors du provisionnement et de la gestion des ressources cloud, ils ont besoin des données suivantes :
- Coûts des ressources projetés : estimations des coûts au moment de la conception et du déploiement.
- Coûts d'utilisation des ressources en temps réel : données de coût actualisées pouvant être utilisées pour la surveillance continue et la validation du budget.
- Coûts mappés aux métriques métier : insights sur l'impact des dépenses cloud sur les indicateurs clés de performance (KPI), pour permettre aux équipes d'identifier des stratégies rentables.
Il n'est pas forcément nécessaire que chaque personne ait accès aux données de coût brutes. Cependant, il est essentiel de sensibiliser tous les rôles aux coûts, car les décisions individuelles peuvent avoir un impact sur les coûts.
En favorisant la visibilité des coûts et en garantissant une appropriation claire des pratiques de gestion des coûts, vous vous assurez que chacun est conscient des implications financières de ses choix et que chacun contribue activement aux objectifs d'optimisation des coûts de l'organisation. Que ce soit par le biais d'une équipe FinOps centralisée ou d'un modèle distribué, l'établissement de la responsabilité est crucial pour des efforts d'optimisation des coûts efficaces.
Recommandations
Pour promouvoir la sensibilisation aux coûts et vous assurer que les membres de votre équipe disposent des informations sur les coûts dont ils ont besoin pour prendre des décisions éclairées, tenez compte des recommandations suivantes.
Fournir une visibilité sur les coûts à l'échelle de l'organisation
Pour obtenir une visibilité sur les coûts à l'échelle de l'organisation, les équipes responsables de la gestion des coûts peuvent prendre les mesures suivantes :
- Standardisez le calcul des coûts et la budgétisation : utilisez une méthode cohérente pour déterminer le coût total des ressources cloud, après avoir pris en compte les remises et les coûts partagés. Établissez des processus de budgétisation clairs et standardisés qui s'alignent sur les objectifs de votre organisation et permettent une gestion proactive des coûts.
- Utilisez des outils standardisés de gestion des coûts et de visibilité : utilisez des outils appropriés qui fournissent des insights en temps réel sur les dépenses cloud et génèrent des instantanés réguliers (par exemple, hebdomadaires) de l'évolution des coûts. Ces outils permettent de budgétiser, de prévoir et d'identifier de manière proactive les opportunités d'optimisation. Il peut s'agir d'outils de fournisseur de services cloud (comme le tableau de bord de facturation Google Cloud), de solutions tierces ou de solutions Open Source telles que la solution d'attribution des coûts.
- Implémenter un système de répartition des coûts : allouez une partie du budget cloud global à chaque équipe ou projet. Une telle allocation donne aux équipes un sentiment d'appropriation des dépenses cloud et les encourage à prendre des décisions rentables dans le cadre de leur budget alloué.
- Promouvoir la transparence : encouragez les équipes à discuter des implications financières lors des processus de conception et de prise de décision. Créez un environnement sûr et favorable au partage d'idées et de préoccupations liées à l'optimisation des coûts. Certaines organisations utilisent des mécanismes de renforcement positif, tels que des classements ou des programmes de reconnaissance. Si votre organisation impose des restrictions sur le partage des données de coût brutes pour des raisons commerciales, explorez d'autres approches pour partager les informations et les insights sur les coûts. Par exemple, envisagez de partager des métriques agrégées (comme le coût total d'un environnement ou d'une fonctionnalité) ou des métriques relatives (comme le coût moyen par transaction ou par utilisateur).
Comprendre comment les ressources cloud sont facturées
Les tarifs des ressources Google Cloud peuvent varier selon les régions. Certaines ressources sont facturées mensuellement à un prix fixe, tandis que d'autres peuvent être facturées en fonction de l'utilisation. Pour comprendre comment les ressources Google Cloud sont facturées, utilisez le simulateur de coûtGoogle Cloud et les informations de tarification spécifiques au produit (par exemple, les tarifs de Google Kubernetes Engine (GKE)).
Comprendre les options d'optimisation des coûts basées sur les ressources
Pour chaque type de ressource cloud que vous prévoyez d'utiliser, explorez des stratégies pour optimiser l'utilisation et l'efficacité. Ces stratégies incluent le redimensionnement, l'autoscaling et l'adoption de technologies sans serveur, le cas échéant. Voici quelques exemples d'options d'optimisation des coûts pour certains produits Google Cloud :
- Cloud Run vous permet de configurer des processeurs toujours alloués pour gérer des charges de trafic prévisibles à un coût inférieur à celui de la méthode d'allocation par défaut (c'est-à-dire des processeurs alloués uniquement pendant le traitement des requêtes).
- Vous pouvez souscrire des engagements d'emplacements BigQuery pour économiser de l'argent sur l'analyse des données.
- GKE fournit des métriques détaillées pour vous aider à comprendre les options d'optimisation des coûts.
- Découvrez comment la tarification du réseau peut affecter le coût des transferts de données et comment optimiser les coûts pour des services de mise en réseau spécifiques. Par exemple, vous pouvez réduire les coûts de transfert de données pour les équilibreurs de charge d'application externes en utilisant Cloud CDN ou Google Cloud Armor. Pour en savoir plus, consultez Méthodes pour réduire les coûts des équilibreurs de charge d'application externes.
Comprendre les options d'optimisation des coûts basées sur les remises
Familiarisez-vous avec les programmes de remise proposés par Google Cloud , tels que les exemples suivants :
- Remises sur engagement d'utilisation : les remises sur engagement d'utilisation sont adaptées aux ressources dont l'utilisation est prévisible et stable. Les remises sur engagement d'utilisation vous permettent de bénéficier de réductions de prix importantes en échange d'un engagement à utiliser des ressources spécifiques sur une période donnée (généralement un à trois ans). Vous pouvez également utiliser le renouvellement automatique des remises sur engagement d'utilisation pour éviter d'avoir à souscrire manuellement des engagements lorsqu'ils expirent.
- Remises pour usage soutenu : pour certains produits Google Cloud comme Compute Engine et GKE, vous pouvez obtenir des crédits de remise automatiques après une utilisation continue des ressources au-delà de certains seuils de durée.
- VM Spot : pour les charges de travail tolérantes aux pannes et flexibles, les VM Spot peuvent vous aider à réduire vos coûts Compute Engine. Le coût des VM Spot est nettement inférieur à celui des VM standards. Toutefois, Compute Engine peut arrêter ou supprimer les VM Spot de manière préemptive pour récupérer de la capacité. Les VM Spot conviennent aux jobs par lots pouvant tolérer la préemption et ne nécessitant pas de haute disponibilité.
- Remises pour des options de produits spécifiques : certains services gérés comme BigQuery proposent des remises lorsque vous achetez une capacité de traitement de requêtes dédiée ou en autoscaling.
Évaluez et choisissez les options de remise qui correspondent aux caractéristiques et aux modèles d'utilisation de votre charge de travail.
Intégrer des estimations de coûts dans les plans d'architecture
Encouragez les équipes à développer des plans d'architecture incluant des estimations de coûts pour différentes options et configurations de déploiement. Cette pratique permet aux équipes de comparer les coûts de manière proactive et de prendre des décisions éclairées qui s'alignent sur les objectifs techniques et financiers.
Utiliser un ensemble d'étiquettes cohérent et standard pour toutes vos ressources
Vous pouvez utiliser des étiquettes pour suivre les coûts, ainsi que pour identifier et classer les ressources. Plus précisément, vous pouvez utiliser des étiquettes pour répartir les coûts entre différents projets, services ou centres de coûts. Définir une stratégie d'étiquetage formelle qui s'aligne sur les besoins des principales parties prenantes de votre organisation permet de rendre les coûts plus visibles. Vous pouvez également utiliser des étiquettes pour filtrer les données de coût et d'utilisation des ressources en fonction de l'audience cible.
Utilisez des outils d'automatisation tels que Terraform pour appliquer l'étiquetage à chaque ressource créée. Pour améliorer davantage la visibilité et l'attribution des coûts, vous pouvez utiliser les outils fournis par la solution d'attribution des coûts Open Source.
Partager des rapports sur les coûts avec les membres de l'équipe
En partageant les rapports sur les coûts avec les membres de votre équipe, vous leur permettez de s'approprier leurs dépenses cloud. Cette pratique permet de prendre des décisions rentables, d'optimiser les coûts en continu et d'apporter des améliorations systématiques à votre modèle de répartition des coûts.
Il existe plusieurs types de rapports sur les coûts, y compris les suivants :
- Rapports de coûts périodiques : des rapports réguliers informent les équipes de leurs dépenses cloud actuelles. En général, ces rapports sont des exportations de feuilles de calcul. Les méthodes plus efficaces incluent les e-mails automatisés et les tableaux de bord spécialisés. Pour que les rapports sur les coûts fournissent des informations pertinentes et exploitables sans submerger les destinataires de détails inutiles, ils doivent être adaptés aux audiences cibles. La configuration de rapports personnalisés est une étape fondamentale pour obtenir une visibilité et une gestion des coûts plus interactives et en temps réel.
- Notifications automatisées : vous pouvez configurer des rapports de coûts pour avertir de manière proactive les parties prenantes concernées (par exemple, par e-mail ou par chat) des anomalies de coûts, des seuils budgétaires ou des opportunités d'optimisation des coûts. En fournissant des informations en temps opportun directement aux personnes qui peuvent agir, les alertes automatisées encouragent une action rapide et favorisent une approche proactive de l'optimisation des coûts.
- Tableaux de bordGoogle Cloud : vous pouvez utiliser les tableaux de bord de facturation intégrés dans Google Cloud pour obtenir des insights sur la répartition des coûts et identifier des opportunités d'optimisation des coûts. Google Cloud fournit également le hub FinOps pour vous aider à surveiller les économies et à obtenir des recommandations d'optimisation des coûts. Un moteur d'IA alimente le hub FinOps pour recommander des opportunités d'optimisation des coûts pour toutes les ressources actuellement déployées. Pour contrôler l'accès à ces recommandations, vous pouvez mettre en œuvre le contrôle des accès basé sur les rôles (RBAC).
- Tableaux de bord personnalisés : vous pouvez créer des tableaux de bord personnalisés en exportant les données de coût vers une base de données d'analyse, telle que BigQuery. Utilisez un outil de visualisation tel que Data Studio pour vous connecter à la base de données d'analyse afin de créer des rapports interactifs et d'activer un contrôle des accès ultraprécis via des autorisations basées sur les rôles.
- Rapports sur les coûts multicloud : pour les déploiements multicloud, vous avez besoin d'une vue unifiée des coûts de tous les fournisseurs de services cloud afin de garantir une analyse, une budgétisation et une optimisation complètes. Utilisez des outils tels que BigQuery pour centraliser et analyser les données de coût de plusieurs fournisseurs de services cloud, et utilisez Data Studio pour créer des rapports interactifs spécifiques à l'équipe.
Optimiser l'utilisation des ressources
Ce principe du pilier "Optimisation des coûts" du Google Cloud Well-Architected Framework fournit des recommandations pour vous aider à planifier et à provisionner des ressources en fonction des exigences et des modèles de consommation de vos charges de travail cloud.
Présentation du principe
Pour optimiser le coût de vos ressources cloud, vous devez bien comprendre les besoins en ressources et les modèles de charge de vos charges de travail. Cette compréhension constitue la base d'un modèle de coût bien défini qui vous permet de prévoir le coût total de possession (TCO) et d'identifier les facteurs de coût tout au long de votre parcours d'adoption du cloud. En analysant et en prévoyant de manière proactive les dépenses cloud, vous pouvez faire des choix éclairés concernant le provisionnement, l'utilisation et l'optimisation des coûts des ressources. Cette approche vous permet de contrôler les dépenses liées au cloud, d'éviter le surprovisionnement et de vous assurer que les ressources cloud sont adaptées aux besoins dynamiques de vos charges de travail et de vos environnements.
Recommandations
Pour optimiser efficacement l'utilisation des ressources cloud, tenez compte des recommandations suivantes.
Choisir des ressources spécifiques à l'environnement
Chaque environnement de déploiement a des exigences différentes en termes de disponibilité, de fiabilité et d'évolutivité. Par exemple, les développeurs peuvent préférer un environnement qui leur permet de déployer et d'exécuter rapidement des applications pendant de courtes durées, mais ils n'ont pas forcément besoin d'une haute disponibilité. En revanche, un environnement de production nécessite généralement une haute disponibilité. Pour maximiser l'utilisation de vos ressources, définissez des exigences spécifiques à l'environnement en fonction des besoins de votre entreprise. Le tableau suivant présente des exemples d'exigences spécifiques à l'environnement.
| Environnement | Conditions requises |
| Production |
|
| Développement et tests |
|
| Autres environnements (comme la préproduction et l'assurance qualité) |
|
Choisir des ressources spécifiques à la charge de travail
Chacune de vos charges de travail cloud peut avoir des exigences différentes en termes de disponibilité, d'évolutivité, de sécurité et de performances. Pour optimiser les coûts, vous devez aligner les choix de ressources sur les exigences spécifiques de chaque charge de travail. Par exemple, une application sans état peut ne pas nécessiter le même niveau de disponibilité ou de fiabilité qu'un backend avec état. Le tableau suivant présente d'autres exemples d'exigences spécifiques aux charges de travail.
| Type de charge de travail | Exigences relatives aux charges de travail | Options de ressources |
| Critique | Disponibilité continue, sécurité robuste et hautes performances | Ressources premium et services gérés comme Spanner pour une haute disponibilité et une cohérence globale des données. |
| Non critique | Infrastructure économique et à autoscaling | Ressources dotées de fonctionnalités de base et ressources éphémères telles que les VM Spot. |
| En fonction des événements | Scaling dynamique basé sur la demande actuelle de capacité et de performances | Services sans serveur tels que Cloud Run et Cloud Run Functions. |
| Charges de travail expérimentales | Environnement flexible et économique pour un développement, une itération, des tests et une innovation rapides | Ressources dotées de fonctionnalités de base, ressources éphémères telles que les VM Spot et environnements de bac à sable avec des limites de dépenses définies. |
L'un des avantages du cloud est la possibilité de profiter de la puissance de calcul la plus appropriée pour une charge de travail donnée. Certaines charges de travail sont développées pour tirer parti des ensembles d'instructions du processeur, tandis que d'autres ne sont pas conçues de cette manière. Évaluez et profilez vos charges de travail en conséquence. Catégorisez vos charges de travail et faites des choix de ressources spécifiques à chaque charge de travail (par exemple, choisissez les familles de machines appropriées pour les VM Compute Engine). Cette pratique permet d'optimiser les coûts, de favoriser l'innovation et de maintenir le niveau de disponibilité et de performances dont vos charges de travail ont besoin.
Voici quelques exemples d'implémentation de cette recommandation :
- Pour les charges de travail critiques qui desservent des utilisateurs répartis dans le monde entier, envisagez d'utiliser Spanner. Spanner élimine le besoin de déploiements de bases de données complexes en garantissant la fiabilité et la cohérence des données dans toutes les régions.
- Pour les charges de travail dont les niveaux de charge fluctuent, utilisez l'autoscaling pour vous assurer de ne pas engager de frais lorsque la charge est faible, tout en conservant une capacité suffisante pour répondre à la charge actuelle. Vous pouvez configurer l'autoscaling pour de nombreux servicesGoogle Cloud , y compris les VM Compute Engine, les clusters Google Kubernetes Engine (GKE) et Cloud Run. Lorsque vous configurez l'autoscaling, vous pouvez configurer des limites de scaling maximales pour vous assurer que les coûts restent dans les budgets spécifiés.
Sélectionner les régions en fonction des exigences de coût
Pour vos charges de travail cloud, évaluez soigneusement les régions Google Clouddisponibles et choisissez celles qui correspondent à vos objectifs de coûts. La région la moins coûteuse peut ne pas offrir une latence optimale ou ne pas répondre à vos exigences de durabilité. Prenez des décisions éclairées sur l'emplacement de déploiement de vos charges de travail pour atteindre l'équilibre souhaité. Vous pouvez utiliser l'outil de sélection de régionGoogle Cloud pour comprendre les compromis entre le coût, la durabilité, la latence et d'autres facteurs.
Utiliser les options d'optimisation des coûts intégrées
Les produitsGoogle Cloud fournissent des fonctionnalités intégrées pour vous aider à optimiser l'utilisation des ressources et à contrôler les coûts. Le tableau suivant liste des exemples de fonctionnalités d'optimisation des coûts que vous pouvez utiliser dans certains produits Google Cloud :
| Produit | Fonctionnalité d'optimisation des coûts |
| Compute Engine |
|
| GKE |
|
| Cloud Storage |
|
| BigQuery |
|
| Google Cloud VMware Engine |
|
Optimiser le partage des ressources
Pour optimiser l'utilisation des ressources cloud, vous pouvez déployer plusieurs applications ou services sur la même infrastructure, tout en respectant les exigences de sécurité et les autres exigences des applications. Par exemple, dans les environnements de développement et de test, vous pouvez utiliser la même infrastructure cloud pour tester tous les composants d'une application. Pour l'environnement de production, vous pouvez déployer chaque composant sur un ensemble distinct de ressources afin de limiter l'impact en cas d'incident.
Voici quelques exemples d'implémentation de cette recommandation :
- Utilisez une seule instance Cloud SQL pour plusieurs environnements hors production.
- Permettez à plusieurs équipes de développement de partager un cluster GKE en utilisant la fonctionnalité de gestion d'équipe de parc dans GKE avec les contrôles d'accès appropriés.
- Utilisez GKE Autopilot pour profiter des techniques d'optimisation des coûts, telles que le bin packing et l'autoscaling, que GKE implémente par défaut.
- Pour les charges de travail d'IA et de ML, réduisez les coûts des GPU en utilisant des stratégies de partage de GPU telles que les GPU multi-instances, les GPU à temps partagé et NVIDIA MPS.
Développer et gérer des architectures de référence
Créez et gérez un dépôt d'architectures de référence adaptées aux exigences de différents environnements de déploiement et types de charges de travail. Pour simplifier le processus de conception et de mise en œuvre de projets individuels, les plans peuvent être gérés de manière centralisée par une équipe telle qu'un centre d'excellence cloud (CCoE). Les équipes de projet peuvent choisir des plans adaptés en fonction de critères clairement définis, afin de garantir la cohérence architecturale et l'adoption des bonnes pratiques. Pour les exigences propres à un projet, l'équipe du projet et l'équipe d'architecture centrale doivent collaborer pour concevoir de nouvelles architectures de référence. Vous pouvez partager les architectures de référence au sein de l'organisation pour favoriser le partage des connaissances et étendre le dépôt des solutions disponibles. Cette approche garantit la cohérence, accélère le développement, simplifie la prise de décision et favorise une utilisation efficace des ressources.
Consultez les architectures de référence fournies par Google pour différents cas d'utilisation et technologies. Ces architectures de référence intègrent les bonnes pratiques pour la sélection, le dimensionnement, la configuration et le déploiement des ressources. En utilisant ces architectures de référence, vous pouvez accélérer votre processus de développement et réaliser des économies dès le départ.
Appliquer une discipline de coûts à l'aide de règles d'administration'administration
Envisagez d'utiliser des règles d'administration pour limiter les emplacements et les produits Google Cloud disponibles que les membres de l'équipe peuvent utiliser. Ces règles permettent de s'assurer que les équipes respectent les solutions rentables et provisionnent les ressources dans des emplacements conformes à vos objectifs d'optimisation des coûts.
Estimer des budgets réalistes et fixer des limites financières
Élaborez des budgets détaillés pour chaque projet, charge de travail et environnement de déploiement. Assurez-vous que les budgets couvrent tous les aspects des opérations cloud, y compris les coûts d'infrastructure, les licences logicielles, le personnel et la croissance prévue. Pour éviter les dépenses excessives et vous assurer que vous respectez vos objectifs financiers, établissez des limites de dépense ou des seuils clairs pour les projets, les services ou des ressources spécifiques. Surveillez régulièrement les dépenses cloud par rapport à ces limites. Vous pouvez utiliser des alertes de quota proactives pour identifier rapidement les dépassements de coûts potentiels et prendre des mesures correctives en temps opportun.
En plus de définir des budgets, vous pouvez utiliser des quotas et des limites pour appliquer une discipline de coûts et éviter les pics de dépenses inattendus. Vous pouvez exercer un contrôle précis sur la consommation des ressources en définissant des quotas à différents niveaux, y compris pour les projets, les services et même des types de ressources spécifiques.
Voici quelques exemples d'implémentation de cette recommandation :
- Quotas au niveau du projet : définissez des limites de dépenses ou des quotas de ressources au niveau du projet pour établir des limites financières globales et contrôler la consommation de ressources dans tous les services du projet.
- Quotas spécifiques aux services : configurez des quotas pour des services Google Cloudspécifiques, tels que Compute Engine ou BigQuery, afin de limiter le nombre d'instances, de processeurs ou de capacité de stockage pouvant être provisionnés.
- Quotas spécifiques à un type de ressource : appliquez des quotas à des types de ressources individuels, comme les VM Compute Engine, les buckets Cloud Storage, les instances Cloud Run ou les nœuds GKE, afin de limiter leur utilisation et d'éviter les dépassements de coûts inattendus.
- Alertes de quota : recevez des notifications lorsque votre utilisation du quota (au niveau du projet) atteint un pourcentage de la valeur maximale.
En utilisant des quotas et des limites conjointement avec la budgétisation et la surveillance, vous pouvez créer une approche proactive et multicouche du contrôle des coûts. Cette approche permet de s'assurer que vos dépenses cloud restent dans les limites définies et s'alignent sur vos objectifs d'entreprise. N'oubliez pas que ces contrôles des coûts ne sont ni permanents, ni rigides. Pour vous assurer que les contrôles des coûts restent conformes aux normes actuelles du secteur et reflètent l'évolution de vos besoins, vous devez les examiner régulièrement et les ajuster pour inclure les nouvelles technologies et les bonnes pratiques.
Optimisez en continu
Ce principe du pilier "Optimisation des coûts" du framework d'architectureGoogle Cloud fournit des recommandations pour vous aider à optimiser le coût de vos déploiements cloud en fonction d'objectifs commerciaux en constante évolution.
À mesure que votre entreprise se développe et évolue, vos charges de travail cloud doivent s'adapter aux changements d'exigences en matière de ressources et de modèles d'utilisation. Pour tirer le meilleur parti de vos dépenses cloud, vous devez maintenir la rentabilité tout en continuant à soutenir les objectifs d'entreprise. Cela nécessite une approche proactive et adaptative axée sur l'amélioration et l'optimisation continues.
Présentation du principe
Pour optimiser les coûts en continu, vous devez surveiller et analyser de manière proactive votre environnement cloud, et l'ajuster en fonction de vos besoins actuels. Concentrez vos efforts de surveillance sur les indicateurs clés de performance (KPI) qui affectent directement l'expérience de vos utilisateurs finaux, s'alignent sur vos objectifs commerciaux et fournissent des insights pour une amélioration continue. Cette approche vous permet d'identifier et de corriger les inefficacités, de vous adapter à l'évolution des besoins et d'aligner en permanence les dépenses cloud sur les objectifs commerciaux stratégiques. Pour trouver un équilibre entre une observabilité complète et la rentabilité, vous devez comprendre les coûts et les avantages de la surveillance de l'utilisation des ressources, et utiliser des stratégies d'amélioration et d'optimisation des processus appropriées.
Recommandations
Pour surveiller efficacement votre environnement Google Cloud et optimiser les coûts en continu, tenez compte des recommandations suivantes.
Se concentrer sur les métriques adaptées pour l'entreprise
Une surveillance efficace commence par l'identification des métriques les plus importantes pour votre entreprise et vos clients. Elles incluent les éléments suivants :
- Métriques d'expérience utilisateur : les métriques de latence, de taux d'erreur, de débit et de satisfaction client sont utiles pour comprendre l'expérience de vos utilisateurs finaux lorsqu'ils utilisent vos applications.
- Métriques de résultats commerciaux : les revenus, la croissance des clients et l'engagement peuvent être corrélés à l'utilisation des ressources pour identifier les opportunités d'optimisation des coûts.
- Métriques DevOps Research & Assessment (DORA) : des métriques telles que la fréquence de déploiement, le délai de livraison des modifications, le taux d'échec des modifications et le délai de restauration fournissent des insights sur l'efficacité et la fiabilité de votre processus de livraison de logiciels. En améliorant ces métriques, vous pouvez augmenter la productivité, réduire les temps d'arrêt et optimiser les coûts.
- Métriques d'ingénierie de la fiabilité des sites (SRE) : les marges d'erreur aident les équipes à quantifier et à gérer le niveau acceptable d'interruption de service. En établissant des attentes claires en matière de fiabilité, les budgets d'erreur permettent aux équipes d'innover et de déployer des modifications avec plus de confiance, en connaissant leur marge de sécurité. Cette approche proactive favorise un équilibre entre innovation et stabilité, ce qui permet d'éviter les coûts opérationnels excessifs associés à des pannes majeures ou à des temps d'arrêt prolongés.
Utiliser l'observabilité pour optimiser les ressources
Voici quelques recommandations pour utiliser l'observabilité afin d'identifier les goulots d'étranglement et les ressources sous-utilisées dans vos déploiements cloud :
- Surveiller l'utilisation des ressources : utilisez les métriques d'utilisation des ressources pour identifier les ressourcesGoogle Cloud sous-utilisées. Par exemple, utilisez des métriques telles que l'utilisation du processeur et de la mémoire pour identifier les ressources de VM inactives. Pour Google Kubernetes Engine (GKE), vous pouvez afficher une répartition détaillée des coûts et des métriques d'optimisation liées aux coûts. Pour Google Cloud VMware Engine, examinez l'utilisation des ressources afin d'optimiser les CUD, la consommation de stockage et le redimensionnement d'ESXi.
- Utilisez les recommandations cloud : Active Assist est un portefeuille d'outils intelligents qui vous aident à optimiser vos opérations cloud. Ces outils fournissent des recommandations exploitables pour réduire les coûts, augmenter les performances, renforcer la sécurité et même prendre des décisions axées sur le développement durable. Par exemple, les insights sur le redimensionnement des VM peuvent vous aider à optimiser l'allocation des ressources et à éviter les dépenses inutiles.
- Corréler l'utilisation des ressources avec les performances : analysez la relation entre l'utilisation des ressources et les performances de l'application pour déterminer si vous pouvez passer à des ressources moins coûteuses sans affecter l'expérience utilisateur.
Trouver l'équilibre entre les besoins de dépannage et les coûts
Les données d'observabilité détaillées peuvent vous aider à diagnostiquer et à résoudre les problèmes. Toutefois, le stockage de quantités excessives de données d'observabilité ou l'exportation de données inutiles vers des outils de surveillance externes peuvent entraîner des coûts inutiles. Pour un dépannage efficace, tenez compte des recommandations suivantes :
- Collectez suffisamment de données pour le dépannage : assurez-vous que votre solution de surveillance capture suffisamment de données pour diagnostiquer et résoudre efficacement les problèmes lorsqu'ils surviennent. Ces données peuvent inclure des journaux, des traces et des métriques à différents niveaux de précision.
- Utiliser l'échantillonnage et l'agrégation : équilibrez le besoin de données détaillées avec les considérations de coût en utilisant des techniques d'échantillonnage et d'agrégation. Cette approche vous permet de collecter des données représentatives sans entraîner de coûts de stockage excessifs.
- Comprendre les modèles de tarification de vos outils et services de surveillance : évaluez différentes solutions de surveillance et choisissez des options qui correspondent aux besoins spécifiques, au budget et aux modèles d'utilisation de votre projet. Tenez compte de facteurs tels que le volume de données, les exigences de conservation et les fonctionnalités requises lorsque vous faites votre choix.
- Examinez régulièrement votre configuration de surveillance : évitez de collecter trop de données en supprimant les métriques ou les journaux inutiles.
Adapter la collecte de données aux rôles et définir des règles de conservation spécifiques aux rôles
Tenez compte des besoins spécifiques en données des différents rôles. Par exemple, les développeurs peuvent avoir principalement besoin d'accéder aux traces et aux journaux au niveau de l'application, tandis que les administrateurs informatiques peuvent se concentrer sur les journaux système et les métriques d'infrastructure. En adaptant la collecte de données, vous pouvez réduire les coûts de stockage inutiles et éviter de submerger les utilisateurs d'informations non pertinentes.
Vous pouvez également définir des règles de conservation en fonction des besoins de chaque rôle et des exigences réglementaires. Par exemple, les développeurs peuvent avoir besoin d'accéder à des journaux détaillés pendant une période plus courte, tandis que les analystes financiers peuvent avoir besoin de données à plus long terme.
Prenez en compte les exigences réglementaires et de conformité
Dans certains secteurs, les exigences réglementaires imposent la conservation des données. Pour éviter les risques juridiques et financiers, vous devez vous assurer que vos pratiques de surveillance et de conservation des données vous aident à respecter les réglementations applicables. En même temps, vous devez maintenir la rentabilité. Tenez compte des recommandations suivantes :
- Déterminez les exigences spécifiques de conservation des données pour votre secteur ou votre région, et assurez-vous que votre stratégie de surveillance répond à ces exigences.
- Mettez en œuvre des mécanismes d'archivage et de récupération des données appropriés pour répondre aux besoins d'audit et de conformité tout en minimisant les coûts de stockage.
Implémenter des alertes intelligentes
Les alertes permettent de détecter et de résoudre les problèmes en temps opportun. Cependant, il est nécessaire de trouver un équilibre entre une approche qui vous tient informé et une autre qui vous submerge de notifications. En concevant des systèmes d'alerte intelligents, vous pouvez prioriser les problèmes critiques qui ont un impact plus important sur l'entreprise. Tenez compte des recommandations suivantes :
- Hiérarchisez les problèmes qui affectent les clients : concevez des alertes qui se déclenchent rapidement pour les problèmes qui affectent directement l'expérience client, comme les pannes de site Web, les temps de réponse lents ou les échecs de transaction.
- Ajuster pour les problèmes temporaires : utilisez des seuils et des mécanismes de délai appropriés pour éviter les alertes inutiles en cas de problèmes temporaires ou de problèmes de système d'autoréparation qui n'affectent pas les clients.
- Personnaliser la gravité des alertes : assurez-vous que les problèmes les plus urgents sont traités immédiatement en différenciant les alertes critiques des alertes non critiques.
- Utilisez les canaux de notification à bon escient : choisissez les canaux appropriés pour les notifications d'alerte (e-mail, SMS ou radiomessagerie) en fonction de la gravité et de l'urgence des alertes.