En tant qu'architecte cloud ou administrateur informatique, lorsque vous envisagez d'exécuter une application dans Compute Engine, vous devez concevoir une topologie d'instance de calcul que vous pouvez provisionner et exploiter efficacement.
Compute Engine propose différentes options de déploiement. Par exemple, vous pouvez déployer un groupe d'instances de calcul que vous gérez comme une seule entité, ou vous pouvez gérer les instances en tant que ressources individuelles. Chaque approche présente des avantages et des limites distincts. Comment choisir une stratégie de déploiement optimale ?
- Commencez par évaluer les exigences clés de votre application.
- Examinez les options de déploiement disponibles et leurs avantages relatifs.
- Sélectionnez une stratégie qui répond à vos exigences et exploite au mieux les fonctionnalités de Compute Engine.
Évaluer votre charge de travail
Utilisez les questions suivantes pour analyser les exigences clés de la charge de travail que vous souhaitez déployer. Vos réponses vous aideront à mapper les fonctionnalités de chaque option de déploiement (répertoriées dans la section suivante) aux exigences de votre charge de travail. Pour une alternative interactive basée sur l'IA à ce flux de décision, vous pouvez demander à Gemini dans la console Google Cloud de vous fournir des recommandations de déploiement personnalisées en fonction des objectifs de votre projet. Pour en savoir plus, consultez Concevoir une infrastructure de calcul avec Compute Advisor.
État de l'application
S'agit-il d'une application avec état ?
- Une application avec état stocke certaines données, telles que l'ID client ou de session, jusqu'à ce que ces données ne soient plus nécessaires. Par exemple, dans une application de shopping en ligne, le service de panier d'achat peut stocker des détails sur les articles ajoutés ou supprimés à mesure que l'utilisateur poursuit ses achats, et conserver l'état final du panier lorsque l'utilisateur démarre le processus de paiement.
- Une application sans état n'a pas besoin de stocker des données client, de transaction ou de session. Par exemple, un serveur Web peut fermer une session après avoir diffusé le contenu demandé par le client.
Pour en savoir plus sur les applications avec état et sans état, consultez En quoi les charges de travail avec état sont-elles différentes des charges de travail sans état ?.
Les métadonnées spécifiques à l'instance doivent-elles être conservées lorsque vos instances de calcul redémarrent ou lorsque Compute Engine recrée (autorépare) les instances ?
Provisionnement
- Les instances de calcul doivent-elles utiliser une combinaison de types de machines ou d'images ? Par exemple, certaines instances ont-elles besoin de types de machines à mémoire optimisée, tandis que d'autres utilisent des types de machines à usage général ?
- L'infrastructure doit-elle s'adapter automatiquement aux changements de charge, afin de maintenir un équilibre optimal entre les coûts et les temps de réponse ?
- Toutes les instances de calcul peuvent-elles s'exécuter dans une seule zone, un seul réseau VPC et un seul sous-réseau ?
- L'application doit-elle s'exécuter dans la même zone que certaines autres ressources ? Par exemple, l'application nécessite-t-elle une connexion à faible latence avec une base de données ?
Opérations
- Voulez-vous gérer les instances de calcul en tant que groupe unique ? Par exemple, souhaitez-vous automatiser le déploiement des mises à jour d'applications sur toutes les instances ?
- Devez-vous utiliser un outil personnalisé ou tiers pour gérer les instances de calcul ?
- Avez-vous besoin de contrôler la gestion des instances de calcul défaillantes ? Par exemple, si une VM échoue, souhaitez-vous qu'elle reste arrêtée pendant que vous déterminez la cause principale de l'échec ?
- Avez-vous besoin de contrôler la séquence ou la planification de démarrage, d'arrêt, de suspension et de reprise de vos instances de calcul ? Par exemple, pour réduire les coûts, prévoyez-vous d'arrêter les instances le week-end ou à certaines heures de la journée ?
Résilience
- L'application doit-elle être protégée contre les défaillances de zones ? En d'autres termes, si une zone est indisponible, souhaitez-vous que l'application continue de traiter les requêtes provenant d'instances de calcul situées dans d'autres zones de la région ?
- Si une instance de calcul s'arrête ou plante pour une raison quelconque, ou si l'application ne répond pas aux requêtes, Compute Engine doit-il recréer l'instance automatiquement ?
- L'application a-t-elle besoin d'adresses IP internes ou externes fixes pour les instances de calcul hôtes ?
Maintenant que vous avez évalué vos besoins, découvrez les options de déploiement offertes par Compute Engine.
Examiner les options de déploiement disponibles
Examinez et comprenez les fonctionnalités et les avantages relatifs des options que vous pouvez envisager pour déployer vos charges de travail sur Compute Engine.
- Instances de calcul autonomes
- Avec cette option, vous choisissez individuellement le type de machine, l'image, les disques et d'autres attributs pour chaque instance de calcul que vous provisionnez. Vous gérez les instances en tant que ressources distinctes.
- Clusters d'instances de calcul
- Cette option vous permet de créer un groupe d'instances de calcul physiquement proches les unes des autres afin de fournir une connectivité réseau à faible latence et à bande passante élevée pour les charges de travail de calcul hautes performances (HPC) et d'intelligence artificielle (IA).
- Pour les charges de travail basées sur un processeur, vous pouvez créer des clusters à l'aide des types de machines C2, C2D, H3 et H4D. Pour en savoir plus, consultez Créer des clusters HPC sur Compute Engine.
- Pour les charges de travail basées sur des GPU, consultez AI Hypercomputer.
- Groupe d'instances non géré
- Vous pouvez provisionner des instances de calcul autonomes et les ajouter à un groupe d'instances. Vous pouvez ensuite utiliser le groupe d'instances non géré comme backend d'un équilibreur de charge.
- Groupe d'instances géré (MIG)
Un MIG est un groupe d'instances identiques ou configurées de la même manière que vous provisionnez à l'aide d'un modèle d'instance.
Vous pouvez faire d'un MIG un MIG avec état afin que des disques ou des métadonnées spécifiques soient conservés.
Pour un MIG sans état, vous pouvez activer l'autoscaling et configurer une règle de scaling.
Lors de la création d'un MIG, vous pouvez choisir de déployer les instances de calcul dans une seule zone ou de les répartir sur plusieurs zones d'une région pour assurer une haute disponibilité.
Le tableau suivant récapitule les principales fonctionnalités de chaque option de déploiement.
| Capacité | Instances de calcul autonomes | Groupe d'instances non géré | MIG avec état | Groupes d'instances gérés sans état |
|---|---|---|---|---|
| Provisionnement basé sur un modèle d'un groupe d'instances de calcul | ||||
| Mélange de types de machines et d'images | ||||
| Adresses IP internes ou externes fixes | ||||
| Correction automatique des instances de calcul défaillantes | ||||
| Contrôle des opérations de démarrage/arrêt et de suspension/reprise des instances de calcul | ||||
| Définir un groupe d'instances de calcul en tant que backend d'équilibreur de charge | ||||
| Préservation des disques et des métadonnées pour les charges de travail avec état | ||||
| Mise à jour contrôlée d'instances de calcul spécifiques | ||||
| Mise à jour progressive automatique de toutes les instances de calcul | ||||
| Scaling horizontal automatique (et prédictif) |
Les schémas suivants présentent des exemples de déploiements côte à côte pour vous aider à comprendre les principales différences.
| Instances de calcul autonomes | MIG avec état | Groupes d'instances gérés sans état |
|---|---|---|
| Cet exemple montre trois instances de calcul créées individuellement. | Cet exemple montre un MIG contenant trois instances de calcul configurées de manière similaire, provisionnées à l'aide d'un modèle d'instance. |
Cet exemple montre un MIG contenant trois instances de calcul identiques, provisionnées à l'aide d'un modèle d'instance. |
|
|
|
|
|
|
|
Vous avez désormais évalué votre charge de travail, examiné les options de déploiement offertes par Compute Engine et vous êtes prêt à choisir une approche de déploiement.
Sélectionner une stratégie de déploiement
Les recommandations décrites ici sont basées sur un mappage de caractéristiques de charges de travail spécifiques aux capacités de chaque option de déploiement Compute Engine.
Utilisez le flux de prise de décision suivant. Si vous préférez un guide visuel, reportez-vous à l'arbre de décision plus loin dans ce document.
Choisissez entre des instances de calcul autonomes, des clusters d'instances de calcul et des groupes d'instances.
Conditions requises Stratégie de déploiement recommandée L'application est une charge de travail de calcul hautes performances (HPC) ou d'intelligence artificielle (IA) qui nécessite une connectivité réseau à faible latence et à bande passante élevée entre les instances de calcul. Choisissez clusters d'instances de calcul.
Ignorez le reste de cette procédure de prise de décision.
Au moins l'une des exigences suivantes est essentielle pour votre charge de travail. - L'application doit s'exécuter sur des instances de calcul qui utilisent une combinaison de types de machines ou d'images.
- L'application nécessite des adresses IP internes ou externes fixes pour les instances de calcul hôtes.
- Vous devez contrôler la gestion des instances de calcul défaillantes.
- Vous devez contrôler les opérations de démarrage/arrêt ou de suspension/reprise de vos instances de calcul.
- Vous devez utiliser un script personnalisé ou un outil tiers pour provisionner et supprimer des instances de calcul.
Choisissez des instances de calcul autonomes.
Si toutes les instances de calcul autonomes peuvent s'exécuter dans une seule zone, un seul réseau VPC et un seul sous-réseau, envisagez de les ajouter à un groupe d'instances non géré. Vous pouvez ensuite utiliser le groupe d'instances non géré comme backend d'un équilibreur de charge.
Ignorez le reste de cette procédure de prise de décision.
Aucune de ces exigences n'est essentielle pour votre cas d'utilisation. Utilisez un MIG pour configurer une topologie Compute Engine hautement disponible et évolutive.
Passez à l'étape suivante.
Choisissez entre un MIG avec état et un MIG sans état.
Exigences Type de MIG recommandé L'application nécessite la conservation du disque et des métadonnées. Autrement dit, l'application est avec état. Choisissez un MIG avec état et configurez les disques que Compute Engine doit conserver lors d'événements perturbateurs tels que la recréation, l'autoréparation et la mise à jour d'instances de calcul.
Passez à l'étape suivante.
L'application n'est pas avec état. Choisissez un MIG sans état et profitez de la fonctionnalité d'autoscaling. Lors d'opérations perturbatrices, Compute Engine recrée les disques en fonction du modèle d'instance.
Passez à l'étape suivante.
Choisissez un MIG zonal ou un MIG régional.
Exigences Type de MIG recommandé L'application doit s'exécuter dans une seule zone, ou la protection contre les défaillances de zone n'est pas essentielle. Choisissez un MIG zonal. L'application doit continuer à s'exécuter même en cas de défaillance d'une zone. Choisissez un MIG régional.
Arbre de décision
Le schéma suivant présente les facteurs à prendre en compte pour décider de la stratégie de déploiement de Compute Engine :
Étape suivante
- Apprenez-en plus sur les modèles d'instance.
- Apprenez-en plus sur le fonctionnement des groupes d'instances gérés avec état.
- Apprenez-en plus sur les MIG régionaux.
- Créer un MIG.
- Procéder à l'autoscaling de groupes d'instances.
- Migrer une charge de travail existante vers un MIG avec état.