Choisir et gérer les ressources de calcul

Last reviewed 2023-10-03 UTC

Ce document du framework d'architecture Google Cloud décrit les bonnes pratiques à adopter pour déployer votre système en fonction de ses besoins en calcul. Vous apprendrez à choisir une plate-forme de calcul et une approche de migration, à concevoir et faire évoluer des charges de travail, ainsi qu'à gérer les opérations et les migrations de VM.

Le calcul est au cœur de nombreuses charges de travail, qu'il s'agisse de l'exécution d'une logique métier personnalisée ou de l'application d'algorithmes de calcul complexes à des ensembles de données. La plupart des solutions utilisent des ressources de calcul sous une forme quelconque. Il est donc essentiel de sélectionner les ressources de calcul appropriées pour les besoins de votre application.

Google Cloud propose plusieurs options d'utilisation du temps sur un processeur. Les options sont basées sur les types de processeur, les performances et la manière dont le code est programmé pour s'exécuter, y compris la facturation de l'utilisation.

Les options de calcul de Google Cloud sont les suivantes :

  • Machines virtuelles (VM) avec avantages spécifiques au cloud, tels que la migration à chaud
  • Répartir les conteneurs sur des machines de cluster pouvant partager des processeurs
  • Des fonctions et approches sans serveur, où l'utilisation du temps CPU peut être mesurée pour le travail effectué lors d'une seule requête HTTP.

Choisir des ressources de calcul

Cette section présente les bonnes pratiques pour choisir et migrer vers une plate-forme de calcul.

Choisir une plate-forme de calcul

Lorsque vous choisissez une plate-forme de calcul pour votre charge de travail, tenez compte des exigences techniques de la charge de travail, des processus d'automatisation du cycle de vie, de la régionalisation et de la sécurité.

Évaluez la nature de l'utilisation du processeur par votre application et l'ensemble du système, y compris la façon dont votre code est empaqueté, déployé, distribué et appelé. Bien que certains scénarios puissent être compatibles avec plusieurs options de plate-forme, une charge de travail portable doit être capable et performante sur toute une gamme d'options de calcul.

Le tableau suivant présente les services de calcul Google Cloud recommandés pour divers cas d'utilisation :

Plate-forme de calcul Cas d'utilisation Produits recommandés
Solutions sans serveur
  • Déployez votre première application.
  • Concentrez-vous sur le développement de l'application et sur le développement de la logique.
  • Cloud Run : intégrez votre logique métier dans des conteneurs grâce à cette option sans serveur entièrement gérée. Cloud Run est conçu pour les charges de travail exigeantes en calculs, mais pas toujours activées. Effectuez un scaling économique de 0 (aucun trafic) et définissez le processeur et la mémoire RAM de vos tâches et services. Il vous suffit de déployer une seule commande, et Google provisionne automatiquement la quantité adéquate de ressources.
  • Cloud Functions : séparez votre code en éléments flexibles de logique métier sans vous soucier de l'infrastructure d'équilibrage de charge, de mise à jour, d'authentification ou de scaling.
Kubernetes Créez des architectures de microservices complexes nécessitant des services supplémentaires tels qu'Istio pour gérer le contrôle du maillage de services.
  • Google Kubernetes Engine : moteur d'orchestration de conteneurs Open Source qui automatise le déploiement, le scaling et la gestion des applications conteneurisées.
Machines virtuelles (VM) Créez et exécuter des VM à partir de familles de VM prédéfinies et personnalisables qui répondent à vos exigences d'application et de charge de travail, ainsi qu'à des logiciels et services tiers.
  • Compute Engine : ajoutez des unités de traitement graphique (GPU) aux instances de VM. Vous pouvez utiliser ces GPU pour accélérer des charges de travail spécifiques sur vos instances, telles que le machine learning et le traitement des données.

Pour sélectionner les types de machines appropriés en fonction de vos besoins, consultez la section Recommandations pour les familles de machines.

Pour en savoir plus, consultez la page Choisir des options de calcul.

Choisir une approche de migration des ressources de calcul

Si vous migrez vos applications existantes depuis un autre cloud ou depuis un environnement sur site, utilisez l'un des produits Google Cloud suivants pour vous aider à optimiser les performances, le scaling, les coûts et la sécurité.

Objectif de migration Cas d'utilisation Produit recommandé
Migration Lift and Shift Migrez ou étendez vos charges de travail VMware vers Google Cloud en quelques minutes. Google Cloud VMware Engine
Migration Lift and Shift Migrez vos applications basées sur des VM vers Compute Engine. Migrate to Virtual Machines
Conversion en conteneurs Modernisez vos applications traditionnelles en conteneurs intégrés sur Google Kubernetes Engine. Migrate to Containers

Pour savoir comment migrer vos charges de travail en alignant vos équipes internes, consultez les sections Cycle de vie de migration des VM et Créer un programme de migration à grande échelle avec Google Cloud.

Concevoir des charges de travail

Cette section présente les bonnes pratiques relatives à la conception de charges de travail compatibles avec votre système.

Évaluer les options sans serveur pour une logique simple

La logique simple est un type de calcul qui ne nécessite pas de matériel spécialisé ni de types de machines tels que les machines optimisées pour le processeur. Avant d'investir dans des implémentations Google Kubernetes Engine (GKE) ou Compute Engine pour éliminer les coûts opérationnels et optimiser les coûts et les performances, évaluer des options sans serveur pour une logique légère.

Dissocier vos applications pour qu'elles soient sans état

Si possible, dissociez vos applications de sorte qu'elles soient sans état afin de maximiser l'utilisation des options d'informatique sans serveur. Cette approche vous permet d'utiliser des offres de calcul gérées, de faire évoluer les applications en fonction de la demande et d'optimiser les coûts et les performances. Pour en savoir plus sur le découplage de votre application en vue de sa conception à des fins d'évolutivité et de haute disponibilité, consultez la page Concevoir une application évolutive et à haute disponibilité.

Utiliser la logique de mise en cache lorsque vous dissociez des architectures

Si votre application est conçue avec état, utilisez la logique de mise en cache pour dissocier et rendre votre charge de travail évolutive. Pour en savoir plus, consultez les bonnes pratiques de la base de données.

Faciliter les mises à niveau à l'aide des migrations à chaud

Pour faciliter les mises à niveau de maintenance Google, utilisez la migration à chaud en définissant des règles de disponibilité des instances. Pour en savoir plus, consultez la section Définir les règles de maintenance de l'hôte de VM.

Scaling des charges de travail

Cette section présente les bonnes pratiques pour le scaling des charges de travail afin qu'elles soient compatibles avec votre système.

Utiliser des scripts de démarrage et d'arrêt

Pour les applications avec état, utilisez des scripts de démarrage et d'arrêt si possible pour démarrer et arrêter l'état de votre application en douceur. Le démarrage progressif se produit lorsqu'un ordinateur est activé par une fonction logicielle et que le système d'exploitation est autorisé à effectuer ses tâches de démarrage et d'ouverture de connexion en toute sécurité.

Les démarrages et les arrêts progressifs sont importants, car les applications avec état dépendent de la disponibilité immédiate des données proches du calcul, généralement sur des disques locaux ou persistants, ou dans la mémoire RAM. Pour éviter d'exécuter les données d'application depuis le début à chaque démarrage, utilisez un script de démarrage pour actualiser les dernières données enregistrées et exécuter le processus à l'emplacement où il s'est précédemment arrêté. Pour enregistrer l'état de la mémoire de l'application afin d'éviter toute perte de progression lors de l'arrêt, utilisez un script d'arrêt. Par exemple, utilisez un script d'arrêt lorsqu'une VM est programmée pour s'arrêter en raison d'une réduction de la capacité ou d'événements de maintenance de Google.

Utiliser des MIG pour assurer la gestion des VM

Lorsque vous utilisez des VM Compute Engine, les groupes d'instances gérés sont compatibles avec des fonctionnalités telles que l'autoréparation, l'équilibrage de charge, l'autoscaling, la mise à jour automatique et les charges de travail avec état. Vous pouvez créer des MIG régionaux ou zonaux en fonction de vos objectifs de disponibilité. Vous pouvez utiliser des MIG pour les charges de travail de diffusion ou par lot sans état, ainsi que pour les applications avec état qui doivent conserver l'état unique de chaque VM.

Utiliser des autoscalers de pods pour faire évoluer vos charges de travail GKE

Utilisez des autoscalers de pod verticaux et horizontaux pour adapter vos charges de travail, et utilisez le provisionnement automatique des nœuds pour adapter les ressources de calcul sous-jacentes.

Distribuer le trafic de l'application

Pour faire évoluer vos applications à l'échelle mondiale, utilisez Cloud Load Balancing pour distribuer vos instances d'application sur plusieurs régions ou zones. Les équilibreurs de charge optimisent le routage des paquets depuis les réseaux périphériques Google Cloud vers la zone la plus proche, ce qui augmente l'efficacité du trafic de diffusion et réduit les coûts de diffusion. Afin d'optimiser la latence pour l'utilisateur final, utilisez Cloud CDN pour mettre en cache le contenu statique dans la mesure du possible.

Automatiser la création et la gestion de ressources de calcul

Réduisez les erreurs causées par l'homme dans votre environnement de production en automatisant la création et la gestion des calculs.

Gérer les opérations

Cette section présente les bonnes pratiques en matière de gestion d'opérations pour votre système.

Utiliser des images publiques fournies par Google

Utilisez des images publiques fournies par Google Cloud. Les images publiques Google Cloud sont régulièrement mises à jour. Pour en savoir plus, consultez la liste des images publiques disponibles sur Compute Engine.

Vous pouvez également créer vos propres images avec des configurations et des paramètres spécifiques. Dans la mesure du possible, automatisez et centralisez la création d'images dans un projet distinct que vous pouvez partager avec des utilisateurs autorisés de votre organisation. La création et la sélection d'une image personnalisée dans un projet distinct vous permettent de mettre à jour, d'appliquer un correctif et de créer une VM à l'aide de vos propres configurations. Vous pouvez ensuite partager l'image de VM sélectionnée avec les projets pertinents.

Utiliser des instantanés pour les sauvegardes d'instances

Les instantanés vous permettent de créer des sauvegardes pour vos instances. Les instantanés sont particulièrement utiles pour les applications avec état, qui ne sont pas suffisamment flexibles pour maintenir leur état ou enregistrer leur progression en cas d'arrêts brusques. Si vous utilisez fréquemment des instantanés pour créer des instances, vous pouvez optimiser votre processus de sauvegarde en créant une image de base à partir de cet instantané.

Utiliser une image de machine pour activer la création d'instances de VM

Bien qu'un instantané capture uniquement une image des données dans une machine, une image système capture les configurations et les paramètres de la machine, en plus des données. Utilisez une image système pour stocker la totalité des configurations, métadonnées, autorisations et données d'un ou de plusieurs disques nécessaires à la création d'une instance de VM.

Lorsque vous créez une machine à partir d'un instantané, vous devez configurer les paramètres de l'instance sur les nouvelles instances de VM, ce qui nécessite beaucoup de travail. L'utilisation d'images système vous permet de copier ces paramètres connus sur de nouvelles machines, ce qui réduit les frais généraux. Pour en savoir plus, consultez la section Quand utiliser une image de machine.

Capacité, réservations et isolation

Cette section présente les bonnes pratiques en matière de gestion de la capacité, des réservations et de l'isolation pour assurer la compatibilité avec votre système.

Réduire les coûts à l'aide des remises sur engagement d'utilisation

Vous pouvez réduire vos coûts de dépenses opérationnelles (OPEX) pour les charges de travail qui sont toujours activées à l'aide de remises sur engagement d'utilisation. Pour en savoir plus, consultez la section Catégorie d'optimisation des coûts.

Choisir des types de machines pour soutenir les coûts et les performances

Google Cloud propose des types de machines qui vous permettent de choisir des calculs en fonction des paramètres de coût et de performances. Vous pouvez choisir une offre à faible performance pour optimiser les coûts ou choisir une option de calcul hautes performances à un coût plus élevé. Pour en savoir plus, consultez la section Catégorie d'optimisation des coûts.

Utiliser des nœuds à locataire unique pour répondre aux besoins de conformité

Les nœuds à locataire unique sont des serveurs physiques Compute Engine dédiés exclusivement à l'hébergement des VM de votre projet. Les nœuds à locataire unique peuvent vous aider à répondre aux exigences de conformité concernant l'isolation physique, y compris :

  • Veillez à séparer physiquement les VM des VM d'autres projets.
  • Regroupez vos VM sur le même matériel hôte.
  • Isolez les charges de travail de traitement des paiements.

Pour en savoir plus, consultez la page Nœuds à locataire unique.

Utiliser des réservations pour garantir la disponibilité des ressources

Google Cloud vous permet de définir des réservations pour vos charges de travail afin de vous assurer que ces ressources sont toujours disponibles. La création de réservations est gratuite, mais vous payez pour les ressources réservées, même si vous ne les utilisez pas. Pour en savoir plus, consultez la section Consommation et gestion des réservations.

Migration de VM

Cette section présente les bonnes pratiques pour la migration des VM afin de prendre en charge votre système.

Évaluer les outils de migration intégrés

Évaluez les outils de migration intégrés pour transférer vos charges de travail depuis un autre cloud ou depuis un environnement sur site. Pour en savoir plus, consultez la page Migration vers Google Cloud. Google Cloud propose des outils et des services pour vous aider à migrer vos charges de travail, et à optimiser les coûts et les performances. Pour obtenir une évaluation gratuite des coûts de migration en fonction de votre environnement informatique actuel, consultez la page Programme de migration rapide de Google Cloud.

Utiliser l'importation de disques virtuels pour les systèmes d'exploitation personnalisés

Pour importer des systèmes d'exploitation compatibles, consultez la section Importer des disques virtuels. Les nœuds à locataire unique peuvent vous aider à répondre aux exigences de votre propre matériel concernant les licences par cœur ou par processeur. Pour en savoir plus, consultez la page Utiliser vos propres licences (Bring Your Own License).

Recommandations

Pour appliquer les conseils du framework d'architecture à votre propre environnement, nous vous recommandons de procéder comme suit :

  • Consultez les offres Google Cloud Marketplace pour évaluer si votre application est répertoriée sous un fournisseur accepté. Google Cloud est compatible avec l'exécution de divers systèmes Open Source et divers logiciels tiers.

  • Envisagez d'utiliser Migrate to Containers and GKE pour extraire et empaqueter votre application basée sur une VM en tant qu'application conteneurisée s'exécutant sur GKE.

  • Utilisez Compute Engine pour exécuter vos applications sur Google Cloud. Si d'anciennes dépendances s'exécutent dans une application basée sur des VM, vérifiez si elles répondent aux exigences de votre fournisseur.

  • Évaluez l'utilisation d'un équilibreur de charge réseau passthrough interne Google Cloud pour faire évoluer la capacité de votre architecture dissociée. Pour en savoir plus, consultez la page Présentation de l'équilibreur de charge réseau interne à stratégie directe.

  • Évaluez vos options pour passer des cas d'utilisation traditionnels sur site tels que l'utilisation du proxy haute disponibilité. Pour plus d'informations, consultez la page Bonnes pratiques pour les adresses IP flottantes.

  • Utilisez VM Manager pour gérer les systèmes d'exploitation de vos grands parcs de VM exécutant Windows ou Linux sur Compute Engine, et appliquer des règles de configuration cohérentes.

  • Envisagez d'utiliser GKE Autopilot et de laisser Google SRE gérer entièrement vos clusters.

  • Utilisez Policy Controller et Config Sync pour gérer les règles et la configuration sur vos clusters GKE.

  • Garantir la disponibilité et l'évolutivité des machines dans des régions et des zones spécifiques Google Cloud peut évoluer pour répondre à vos besoins de calcul. Toutefois, si vous avez besoin d'un grand nombre de types de machines spécifiques dans une région ou une zone spécifique, rapprochez-vous des équipes de votre compte pour garantir la disponibilité. Pour en savoir plus, consultez la section Réservations pour Compute Engine.

Étape suivante

Découvrez les principes de conception de réseaux, y compris les suivants :

Découvrez d'autres catégories du framework d'architecture telles que la fiabilité, l'excellence opérationnelle, la sécurité, la confidentialité et la conformité.