Optimiser l'utilisation des ressources

Last reviewed 2026-10-28 UTC

Ce principe du pilier "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 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 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 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 présente 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. Voici des exemples d'exigences spécifiques à l'environnement :

  • Production : haute disponibilité, performances prévisibles, stabilité opérationnelle et sécurité avec des ressources robustes.
  • Développement et tests : rentabilité, infrastructure flexible avec capacité de bursting et infrastructure éphémère lorsque la persistance des données n'est pas nécessaire.
  • Autres environnements (comme la préproduction et l'assurance qualité) : allocation de ressources adaptée en fonction des exigences spécifiques à l'environnement.

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. Les sous-sections suivantes fournissent d'autres exemples d'exigences spécifiques à la charge de travail.

Charges de travail critiques

  • Exigences concernant les charges de travail : disponibilité continue, sécurité robuste et performances élevées.
  • Options de ressources : ressources premium et services gérés comme Spanner pour une haute disponibilité et une cohérence globale des données.

Charges de travail non critiques

  • Exigences de la charge de travail : infrastructure économique et autoscaling.
  • Options de ressources : ressources dotées de fonctionnalités de base et ressources éphémères telles que les VM Spot.

Charges de travail basées sur les événements

  • Exigences concernant les charges de travail : scaling dynamique basé sur la demande actuelle en termes de capacité et de performances.
  • Options de ressources : services sans serveur tels que Cloud Run et Cloud Run Functions.

Charges de travail expérimentales

  • Exigences de la charge de travail : environnement flexible et économique pour un développement, une itération, des tests et une innovation rapides.
  • Options de ressources : 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 bénéficier 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 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 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 le sélecteur 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. Voici quelques exemples de fonctionnalités d'optimisation des coûts que vous pouvez utiliser dans certains produits Google Cloud  :

Compute Engine
Ajoutez ou supprimez automatiquement des VM en fonction de la charge actuelle à l'aide de l'autoscaling.
Évitez le surprovisionnement en créant et en utilisant des types de machines personnalisés qui correspondent aux exigences de votre charge de travail.
Pour les charges de travail non critiques ou tolérantes aux pannes, réduisez les coûts en utilisant des VM Spot.
Dans les environnements de développement, réduisez les coûts en limitant la durée d'exécution des VM ou en suspendant ou en arrêtant les VM lorsque vous n'en avez pas besoin.
GKE
Ajustez automatiquement la taille des clusters GKE en fonction de la charge actuelle à l'aide de l'autoscaler de cluster.
Créez et gérez automatiquement des pools de nœuds en fonction des exigences de la charge de travail et assurez une utilisation optimale des ressources à l'aide du provisionnement automatique des nœuds.
Cloud Storage
Transférez automatiquement les données vers des classes de stockage moins coûteuses en fonction de l'âge des données ou des modèles d'accès à l'aide de la gestion du cycle de vie des objets.
Déplacez dynamiquement les données vers la classe de stockage la plus rentable en fonction des modèles d'utilisation à l'aide de la classe automatique.
BigQuery
Réduisez les coûts de traitement des requêtes pour les charges de travail stables en utilisant la tarification basée sur la capacité.
Optimiser les performances et les coûts des requêtes à l'aide de techniques de partitionnement et de clustering
Google Cloud VMware Engine
Réduisez les coûts VMware en utilisant des stratégies d'optimisation des coûts telles que les remises sur engagement d'utilisation, l'optimisation de la consommation de stockage et le dimensionnement des clusters ESXi.

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 au type de ressource : appliquez des quotas à des types de ressources individuels, tels que 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 en conjonction 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.