Le pilier "Optimisation des coûts" du Google Cloud framework Well-Architected décrit les principes et les recommandations permettant d'optimiser le coût de vos charges de travail dans Google Cloud.
L'audience visée est la suivante:
- Directeurs de la technologie, directeurs des technologies de l'information, directeurs financiers et autres responsables chargés de la gestion stratégique des coûts
- Architectes, développeurs, administrateurs et opérateurs qui prennent des décisions qui ont un impact sur les coûts à toutes les étapes du parcours cloud d'une organisation.
Les modèles de coûts des charges de travail sur site et dans le cloud sont très différents. Les coûts IT sur site incluent les dépenses d'investissement (CapEx) et les dépenses opérationnelles (OpEx). Les éléments matériels et logiciels sur site sont acquis, et les coûts d'acquisition sont amortis sur la durée de vie opérationnelle des éléments. Dans le cloud, les coûts de la plupart des ressources cloud sont traités comme des dépenses d'exploitation, les coûts étant 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 les recommandations d'optimisation des coûts spécifiques aux charges de travail d'IA et de ML, consultez la section Perspective IA et ML: optimisation des coûts du framework Well-Architected.
Principes de base
Les recommandations du pilier d'optimisation des coûts du framework Well-Architected sont mappées sur les principes fondamentaux suivants:
- Alignez les dépenses cloud sur la valeur commerciale : assurez-vous que vos ressources cloud génèrent une valeur commerciale mesurable en alignant les dépenses IT sur les objectifs commerciaux.
- Favorisez une culture de sensibilisation aux coûts : assurez-vous que les membres de votre organisation tiennent compte de l'impact des coûts de leurs décisions et activités, et qu'ils ont accès aux informations sur les coûts nécessaires pour prendre des décisions éclairées.
- Optimisez l'utilisation des ressources : ne provisionnez que les ressources dont vous avez besoin et ne payez que celles que vous consommez.
- Optimisez en continu : surveillez en continu l'utilisation et les coûts de vos ressources cloud, et effectuez des ajustements proactifs 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 des FinOps cloud. Le FinOps est pertinent pour toute organisation, quelle que soit sa taille ou sa 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
- Dr Filipe Gracio | Ingénieur client
- Gary Harmson | Ingénieur client
- Jose Andrade | Ingénieur client Enterprise Infrastructure
- Kent Hua | Solutions Manager
- Kumar Dhanagopal Développeur de solutions multiproduits
- Marwan Al Shawi | Partner Customer Engineer
- Radhika Kanakam | Senior Program Manager, Cloud GTM
- 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 métier
Ce principe du pilier d'optimisation des coûts du Google Cloud framework Well-Architected fournit des recommandations pour aligner votre utilisation des ressources Google Cloud sur les objectifs commerciaux de votre organisation.
Présentation des principes
Pour gérer efficacement les coûts cloud, vous devez maximiser la valeur commerciale des 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 rentable pour héberger des applications. Toutefois, lorsque vous tenez compte des coûts indirects liés à la maintenance, aux correctifs et à l'ajustement des VM, le TCO peut augmenter. En revanche, les services sans serveur tels que Cloud Run peuvent offrir une plus grande valeur commerciale. La réduction des coûts opérationnels permet à votre équipe de se concentrer sur les activités de base et de gagner en agilité.
Pour vous assurer que vos ressources cloud offrent une valeur optimale, évaluez les facteurs suivants:
- Frais de provisionnement et d'utilisation: dépenses encourues 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 des tâches telles que la mise à jour, la surveillance et la mise à l'échelle.
- Coûts indirects: coûts que vous pouvez engager 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 sur l'entreprise: avantages potentiels des ressources, comme une augmentation des revenus, une meilleure satisfaction client et un délai de mise sur le marché plus court.
En alignant vos dépenses cloud sur la valeur métier, vous bénéficiez des avantages suivants:
- Décisions basées sur la valeur: vos équipes sont encouragées à hiérarchiser les solutions qui offrent la plus grande valeur commerciale et à prendre en compte les implications des coûts à court et long terme.
- Choix éclairé des ressources: vos équipes disposent des informations et des connaissances nécessaires pour évaluer la valeur commerciale et le TCO des différentes options de déploiement. Elles choisissent donc des ressources rentables.
- Alignement entre les équipes: la collaboration interfonctionnelle entre les équipes métier, financières et techniques garantit que les décisions cloud sont alignées sur les objectifs globaux de l'organisation.
Recommandations
Pour aligner vos dépenses cloud sur vos objectifs commerciaux, tenez compte des recommandations suivantes.
Prioriser les services gérés et les 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. Elles peuvent accélérer le déploiement de nouvelles fonctionnalités et contribuer à l'innovation et à la création de valeur.
Vous trouverez ci-dessous des exemples de mise en œuvre de cette recommandation:
- Pour exécuter des bases de données PostgreSQL, MySQL ou Microsoft SQL Server, utilisez Cloud SQL au lieu de les déployer 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 Dataproc et Dataproc sans serveur. La facturation à la seconde peut vous aider à réduire considérablement le TCO par rapport aux lacs de données sur site.
Trouver un juste équilibre entre rentabilité et agilité commerciale
Contrôler les coûts et optimiser l'utilisation des ressources sont des objectifs importants. Toutefois, vous devez équilibrer ces objectifs avec le besoin d'une infrastructure flexible qui vous permet d'innover rapidement, de réagir rapidement aux changements et de générer de la valeur plus rapidement. Voici quelques exemples pour y parvenir:
- 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 temps de détection (TTD) et le temps 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 à la fois améliorer l'efficacité opérationnelle et l'agilité de votre entreprise.
- Suivez les pratiques d'ingénierie en fiabilité des sites (SRE) pour améliorer la fiabilité opérationnelle. L'accent mis par l'équipe SRE sur l'automatisation, l'observabilité et la gestion des incidents peut réduire les temps d'arrêt, accélérer la reprise et améliorer la satisfaction client. En réduisant les temps d'arrêt et en améliorant la fiabilité opérationnelle, vous pouvez éviter de perdre des revenus et de devoir provisionner des ressources en trop pour faire face aux 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. Permettre aux utilisateurs de provisionner, de gérer et d'optimiser leurs ressources cloud de manière autonome Cette approche permet de renforcer le sentiment d'appartenance, d'accélérer l'innovation et de s'assurer que les équipes peuvent répondre rapidement aux besoins en constante évolution, tout en étant soucieuses de l'efficacité des coûts.
Adopter et mettre en œuvre FinOps
Adoptez les pratiques FinOps pour créer un environnement collaboratif dans lequel chacun peut 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 le TCO
Encouragez les membres de votre équipe à adopter une approche globale des dépenses cloud, en mettant l'accent sur le TCO et non 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 dans votre processus de livraison de logiciels, et identifier les axes d'amélioration. Implémentez le coût unitaire pour vos applications et services afin d'obtenir une compréhension détaillée des moteurs de coûts et de découvrir des opportunités d'optimisation des coûts. Pour en savoir plus, consultez Optimiser la valeur commerciale à l'aide du FinOps cloud.
Favoriser une culture de sensibilisation aux coûts
Ce principe du pilier d'optimisation des coûts du Google Cloud framework Well-Architected fournit des recommandations pour promouvoir la sensibilisation aux coûts au sein de votre organisation 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.
Traditionnellement, la responsabilité de la gestion des coûts peut être centralisée auprès de quelques partenaires sélectionnés et principalement axée sur les décisions d'architecture de projet initiales. Toutefois, les membres de l'équipe de tous les rôles 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 votre équipe de prendre des décisions rentables tout au long de leurs processus de développement et de déploiement.
Présentation des principes
Les personnes concernées par 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ûts pertinentes et sur leur lien 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 sur les coûts à jour qui peuvent ê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 est possible que chaque personne n'ait pas besoin d'accéder aux données brutes sur les coûts. Toutefois, il est essentiel de promouvoir la sensibilisation aux coûts pour tous les rôles, car les décisions individuelles peuvent avoir un impact sur les coûts.
En promouvant la visibilité des coûts et en assurant une responsabilité claire des pratiques de gestion des coûts, vous vous assurez que tout le monde est conscient des implications financières de ses choix et que chacun contribue activement aux objectifs d'optimisation des coûts de l'entreprise. Que ce soit via une équipe FinOps centralisée ou un modèle distribué, l'établissement de la responsabilité est essentiel 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, suivez les 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 chargées de la gestion des coûts peuvent prendre les mesures suivantes:
- Normalisez le calcul et la budgétisation des coûts: utilisez une méthode cohérente pour déterminer les coûts complets des ressources cloud, en tenant compte des remises et des coûts partagés. Établissez des processus budgétaires clairs et normalisé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 et de visibilité des coûts: utilisez les 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 des opportunités d'optimisation. Il peut s'agir d'outils de fournisseurs de services cloud (comme le tableau de bord de facturation Google Cloud), de solutions tierces ou de solutions Open Source comme la solution d'attribution des coûts.
- Implémentez un système d'allocation des coûts: attribuez une partie du budget cloud global à chaque équipe ou projet. Une telle allocation donne aux équipes un sentiment de responsabilité sur les 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 en termes de coûts 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, comme des classements ou des programmes de reconnaissance. Si votre organisation impose des restrictions sur le partage de données de coût brutes pour des raisons commerciales, explorez d'autres approches pour partager des informations et des 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 la facturation des ressources cloud
Les tarifs des Google Cloud ressources 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 Google Cloud ressources sont facturées, utilisez le Google Cloud calculateur de tarification et les informations sur les tarifs 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 d'optimisation de l'utilisation et de l'efficacité. Ces stratégies incluent l'ajustement de la taille, l'autoscaling et l'adoption de technologies sans serveur, le cas échéant. Voici quelques exemples d'options d'optimisation des coûts pour quelques Google Cloud produits:
- Cloud Run vous permet de configurer des processeurs toujours alloués pour gérer des charges de trafic prévisibles à une fraction du prix 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 acheter 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 les tarifs réseau peuvent affecter le coût des transferts de données et comment optimiser les coûts pour des services 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 à l'aide de Cloud CDN ou de 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 remises proposés par Google Cloud , comme les exemples suivants:
- Remises sur engagement d'utilisation (CUD) : les CUD 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 de votre 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 CUD pour éviter de devoir souscrire manuellement les engagements à leur expiration.
- Remises pour utilisation soutenue : pour certains Google Cloud produits tels que Compute Engine et GKE, vous pouvez obtenir des crédits de remise automatique après une utilisation continue des ressources au-delà de certains seuils de durée.
- VM Spot : pour les charges de travail flexibles et tolérantes aux pannes, 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 tâches par lots pouvant tolérer la préemption et ne nécessitant pas de haute disponibilité.
- Remises sur des options de produit 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 avec autoscaling.
Évaluez et choisissez les options de remises qui correspondent aux caractéristiques de votre charge de travail et à vos habitudes d'utilisation.
Intégrer des estimations de coûts aux plans d'architecture
Encouragez les équipes à développer des plans d'architecture qui incluent 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 correspondent à la fois aux objectifs techniques et financiers.
Utilisez un ensemble cohérent et standard de libellés pour toutes vos ressources.
Vous pouvez utiliser des libellés pour suivre les coûts, et identifier et classer les ressources. Plus précisément, vous pouvez utiliser des libellés pour attribuer des coûts à différents projets, services ou centres de coûts. Définir une politique d'étiquetage formelle qui répond aux besoins des principaux partenaires de votre organisation permet de rendre les coûts plus visibles. Vous pouvez également utiliser des libellés pour filtrer les données sur les coûts et l'utilisation des ressources en fonction de l'audience cible.
Utilisez des outils d'automatisation tels que Terraform pour appliquer un libellé à chaque ressource créée. Pour améliorer encore 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 des rapports sur les coûts avec les membres de votre équipe, vous leur donnez les moyens de maîtriser leurs dépenses liées au cloud. Cette pratique permet de prendre des décisions rentables, d'optimiser les coûts en continu et d'améliorer systématiquement votre modèle d'allocation des coûts.
Il existe plusieurs types de rapports sur les coûts, y compris les suivants:
- Rapports périodiques sur les coûts: des rapports réguliers informent les équipes de leurs dépenses cloud actuelles. Il s'agit généralement d'exportations de feuilles de calcul. Les méthodes plus efficaces incluent les e-mails automatiques et les tableaux de bord spécialisés. Pour vous assurer 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 vers une visibilité et une gestion des coûts plus interactives et en temps réel.
- Notifications automatiques: vous pouvez configurer des rapports sur les coûts pour informer de manière proactive les personnes concernées (par exemple, par e-mail ou par chat) des anomalies de coût, des seuils de budget ou des opportunités d'optimisation des coûts. En fournissant des informations opportunes directement aux personnes qui peuvent les exploiter, les alertes automatiques encouragent les actions rapides 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 les possibilités d'optimisation des coûts. Google Cloud fournit également le hub FinOps pour vous aider à surveiller les économies réalisées 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 implémenter 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 des données sur les coûts vers une base de données d'analyse, comme BigQuery. Utilisez un outil de visualisation tel que Looker Studio pour vous connecter à la base de données d'analyse afin de créer des rapports interactifs et d'activer un contrôle précis des accès 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ûts de plusieurs fournisseurs de services cloud, et Looker Studio pour créer des rapports interactifs spécifiques à chaque équipe.
Optimiser l'utilisation des ressources
Ce principe du pilier d'optimisation des coûts du Google Cloud framework Well-Architected fournit des recommandations pour vous aider à planifier et à provisionner des ressources en fonction des exigences et des tendances de consommation de vos charges de travail cloud.
Présentation des principes
Pour optimiser les coûts 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ûts bien défini qui vous permet de prévoir le coût total de possession (TCO) et d'identifier les moteurs de coûts 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 prendre des décisions éclairées concernant le provisionnement, l'utilisation et l'optimisation des coûts des ressources. Cette approche vous permet de contrôler les dépenses cloud, d'éviter le surprovisionnement et de vous assurer que les ressources cloud sont alignées sur les 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 qui n'a pas 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 de vos besoins métier. 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 le contrôle 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é ni la même fiabilité qu'un backend avec état. Le tableau suivant présente d'autres exemples d'exigences spécifiques à la charge de travail.
Type de charge de travail | Exigences relatives aux charges de travail | Options de ressources |
Mission Critical | Disponibilité continue, sécurité robuste et hautes performances | Ressources premium et services gérés tels que Spanner pour une haute disponibilité et une cohérence globale des données |
Non critique | Infrastructure économique et évolutive | Ressources avec des fonctionnalités de base et ressources éphémères telles que les VM Spot. |
En fonction des événements | Évolutivité dynamique en fonction de 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 peu coûteux pour un développement, une itération, des tests et une innovation rapides | Ressources avec des 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 de pouvoir exploiter la puissance de calcul la plus adaptée à une charge de travail donnée. Certaines charges de travail sont développées pour tirer parti des jeux d'instructions du processeur, tandis que d'autres ne sont pas conçues de cette manière. Effectuez des benchmarks et des profils de vos charges de travail en conséquence. Catégoriser vos charges de travail et choisir des ressources spécifiques à la charge de travail (par exemple, choisir 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.
Vous trouverez ci-dessous des exemples de mise en œuvre de cette recommandation:
- Pour les charges de travail critiques qui servent 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 assurant 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 encourir de coûts 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 attentivement les régions Google Clouddisponibles et choisissez celles qui correspondent à vos objectifs de coût. La région la moins chère n'offre peut-être pas une latence optimale ou ne répond pas à vos exigences de durabilité. Prenez des décisions éclairées sur l'emplacement de déploiement de vos charges de travail pour obtenir l'équilibre souhaité. Vous pouvez utiliser l'outil de sélection de régionGoogle Cloud pour comprendre les compromis entre les coûts, 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 présente des exemples de fonctionnalités d'optimisation des coûts que vous pouvez utiliser dans certains Google Cloud produits:
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 autres 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'étendue de l'impact en cas d'incidents.
Vous trouverez ci-dessous des exemples de mise en œuvre de cette recommandation:
- Utilisez une seule instance Cloud SQL pour plusieurs environnements hors production.
- Autorisez plusieurs équipes de développement à partager un cluster GKE à l'aide de la fonctionnalité de gestion d'équipe de parc dans GKE Enterprise avec des 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 liés aux GPU à l'aide de 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 d'implémentation de projets individuels, les modèles 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 modèles adaptés en fonction de critères clairement définis, afin de garantir la cohérence architecturale et l'adoption de bonnes pratiques. Pour les exigences propres à un projet, l'équipe de 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 dans l'ensemble de l'organisation pour favoriser le partage des connaissances et développer le référentiel 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 de sélection, de dimensionnement, de configuration et de 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 budgétaire à l'aide de règles d'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 des solutions rentables et provisionnent des ressources dans des emplacements conformes à vos objectifs d'optimisation des coûts.
Estimer des budgets réalistes et définir 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 de respecter vos objectifs financiers, définissez des limites ou des seuils de dépenses clairs pour les projets, les services ou les ressources spécifiques. Surveillez régulièrement vos dépenses cloud par rapport à ces limites. Vous pouvez utiliser les alertes de quota proactives pour identifier rapidement les dépassements de budget potentiels et prendre les mesures correctives nécessaires.
En plus de définir des budgets, vous pouvez utiliser des quotas et des limites pour appliquer une discipline budgétaire et éviter les pics de dépenses inattendus. Vous pouvez contrôler de manière précise la consommation de ressources en définissant des quotas à différents niveaux, y compris pour les projets, les services et même les types de ressources spécifiques.
Vous trouverez ci-dessous des exemples de mise en œuvre 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 au service: configurez des quotas pour des services spécifiques Google Cloudtels que Compute Engine ou BigQuery afin de limiter le nombre d'instances, de CPU ou de capacité de stockage pouvant être provisionnés.
- Quotas spécifiques au type de ressource: appliquez des quotas à des types de ressources individuels tels que des VM Compute Engine, des buckets Cloud Storage, des instances Cloud Run ou des nœuds GKE pour limiter leur utilisation et é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 en plus de la budgétisation et de la surveillance, vous pouvez créer une approche proactive et multicouche pour contrôler les coûts. Cette approche permet de s'assurer que vos dépenses cloud restent dans des limites définies et qu'elles correspondent à vos objectifs commerciaux. N'oubliez pas que ces contrôles des coûts ne sont pas permanents ni rigides. Pour vous assurer que les contrôles des coûts restent conformes aux normes du secteur et reflètent les besoins en constante évolution de votre entreprise, vous devez les examiner régulièrement et les ajuster pour inclure les nouvelles technologies et les bonnes pratiques.
Optimiser en continu
Ce principe du pilier d'optimisation des coûts du Google Cloud framework Well-Architected fournit des recommandations pour vous aider à optimiser les coûts de vos déploiements cloud en fonction des objectifs commerciaux en constante évolution.
À mesure que votre entreprise se développe et évolue, vos charges de travail cloud doivent s'adapter aux changements des exigences en termes de ressources et des modèles d'utilisation. Pour tirer le meilleur parti de vos dépenses cloud, vous devez maintenir votre rentabilité tout en continuant à soutenir vos objectifs commerciaux. Cela nécessite une approche proactive et adaptative axée sur l'amélioration et l'optimisation continues.
Présentation des principes
Pour optimiser les coûts en permanence, vous devez surveiller et analyser de manière proactive votre environnement cloud, et effectuer les ajustements appropriés pour répondre aux exigences actuelles. 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 résoudre les inefficacités, de vous adapter aux besoins en constante évolution et d'aligner en permanence les dépenses cloud sur les objectifs stratégiques de l'entreprise. Pour équilibrer l'observabilité complète et l'efficacité des coûts, comprenez les coûts et les avantages de la surveillance de l'utilisation des ressources, et utilisez 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 permanence, tenez compte des recommandations suivantes.
Se concentrer sur les métriques pertinentes pour l'entreprise
Une surveillance efficace commence par identifier les métriques les plus importantes pour votre entreprise et vos clients. Voici quelques exemples de métriques:
- Métriques sur l'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 des utilisateurs finaux lorsqu'ils utilisent vos applications.
- Métriques de résultats commerciaux: les revenus, la croissance du nombre de clients et l'engagement peuvent être corrélés à l'utilisation des ressources pour identifier les possibilités d'optimisation des coûts.
- Métriques DevOps Research and 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 SRE (Site Reliability Engineering): les budgets d'erreur aident les équipes à quantifier et à gérer le niveau acceptable de perturbation du service. En définissant des attentes claires en termes de fiabilité, les budgets d'erreur permettent aux équipes d'innover et de déployer des modifications plus sereinement, en connaissant leur marge de sécurité. Cette approche proactive favorise un équilibre entre l'innovation et la stabilité, ce qui permet d'éviter les coûts opérationnels excessifs associés aux pannes majeures ou aux temps d'arrêt prolongés.
Utiliser l'observabilité pour optimiser les ressources
Vous trouverez ci-dessous des recommandations pour utiliser l'observabilité afin d'identifier les goulots d'étranglement des ressources 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 inutilisées. 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 modifications de données, la consommation de stockage et le dimensionnement d'ESXi.
- Utiliser les recommandations cloud: Active Assist est un portefeuille d'outils intelligents qui vous aide à optimiser vos opérations cloud. Ces outils fournissent des recommandations pratiques pour réduire les coûts, améliorer les performances, renforcer la sécurité et même prendre des décisions axées sur la durabilité. Par exemple, les insights sur le dimensionnement des VM peuvent vous aider à optimiser l'allocation des ressources et à éviter les dépenses inutiles.
- Corrélation entre l'utilisation des ressources et 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 chères sans affecter l'expérience utilisateur.
Trouvez 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 d'un volume excessif de données d'observabilité ou l'exportation de données inutiles vers des outils de surveillance externes peut 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 collecte 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.
- Utilisez l'échantillonnage et l'agrégation: équilibrez le besoin de données détaillées avec les considérations de coût à l'aide de techniques d'échantillonnage et d'agrégation. Cette approche vous permet de collecter des données représentatives sans générer 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 les options qui correspondent aux besoins, au budget et aux habitudes d'utilisation spécifiques 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 effectuez votre sélection.
- Révisez régulièrement la configuration de votre surveillance: évitez de collecter des données excessives en supprimant les métriques ou les journaux inutiles.
Adapter la collecte des 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 besoin d'accéder principalement 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 personnalisant la collecte des données, vous pouvez réduire les coûts de stockage inutiles et éviter d'inonder les utilisateurs d'informations non pertinentes.
En outre, vous pouvez 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 sur une période plus courte, tandis que les analystes financiers peuvent avoir besoin de données à plus long terme.
Tenir compte des 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.
- Implémentez des mécanismes d'archivage et de récupération de 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 dans les meilleurs délais. Toutefois, un équilibre est nécessaire 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 hiérarchiser les problèmes critiques qui ont un impact plus important sur l'activité. Tenez compte des recommandations suivantes:
- Priorisez 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.
- Configurez votre système pour les problèmes temporaires: utilisez des seuils et des mécanismes de retard appropriés pour éviter les alertes inutiles en cas de problèmes temporaires ou de problèmes de système auto-réparables qui n'affectent pas les clients.
- Personnaliser la gravité des alertes: assurez-vous que les problèmes les plus urgents reçoivent une attention immédiate en différenciant les alertes critiques des alertes non critiques.
- Utilisez judicieusement les canaux de notification: choisissez les canaux appropriés pour les notifications d'alerte (e-mail, SMS ou bipeur) en fonction de la gravité et de l'urgence des alertes.