Bonnes pratiques pour la migration des machines virtuelles vers Compute Engine

Cet article fournit des conseils et les bonnes pratiques pour migrer des charges de travail de calcul vers Google Cloud. Il est destiné aux architectes de cloud computing et aux architectes de systèmes maîtrisant déjà les concepts généraux du cloud computing.

Avantages de la migration vers Compute Engine :

  • Coûts. Grâce aux remises automatiques proportionnelles à une utilisation soutenue sur les machines virtuelles (VM) de Compute Engine, les coûts peuvent être nettement inférieurs à ceux engendrés par la gestion du matériel ou des VM dans un centre de données traditionnel. Vous pouvez bénéficier des mêmes avantages tarifaires en effectuant une migration d'un autre cloud vers Google Cloud.

  • Agilité. La plupart des clients constatent une amélioration immédiate en termes d'agilité. En effet, la migration vers Compute Engine permet de créer des VM presque instantanément, sans avoir à attendre que les ressources soient acquises et provisionnées. Vous pouvez lancer rapidement de nouvelles applications, les tester et les arrêter quand vous en avez besoin.

  • Frais généraux. Généralement, les entreprises ont recours, pour leurs centres de données, à de nombreux fournisseurs, chacun ayant des partenariats, un modèle de facturation et un contrat différents. Le passage au cloud peut vous permettre de réduire considérablement ces frais généraux. Votre équipe n'a plus à traiter les coûts liés à la gestion d'un centre de données. Tous vos employés peuvent donc se concentrer sur le cœur de métier de votre entreprise.

Des ressources informatiques (ou de calcul) sont nécessaires à la plupart des charges de travail techniques. C'est pourquoi cet article est consacré à la migration des VM et de quelques autres services qui assurent le fonctionnement des applications, comme les bases de données, les messages et les données analytiques.

Le processus de migration ne se résume pas à une seule grande étape. Les sections suivantes décrivent les étapes recommandées.

Calculer les coûts

Avant de déplacer des VM, la première étape consiste à calculer le coût de la migration ainsi que les frais générés par ce que vous exécutez dans vos centres de données. Ce calcul inclut non seulement le coût des machines physiques, mais aussi les frais liés à l'équipement réseau, à l'alimentation, au refroidissement, à la gestion du personnel et à la location des centres de données.

Pour vous permettre d'évaluer ces coûts, Google travaille en étroite collaboration avec des partenaires technologiques tels que Cloud Physics et StratoZone, qui fournissent des outils de détection et d'évaluation gratuits pour votre environnement informatique existant.

Une fois cette estimation effectuée, vous devez disposer d'un modèle de coût pour le cloud. Réfléchissez aux éléments suivants :

  • Quel type de système d'exploitation utiliserez-vous ? Aurez-vous besoin d'une licence ?
  • Quel type de VM utiliserez-vous ? Il en existe de toutes les tailles, et leur coût varie en fonction de ce critère. Vous devez avoir une idée des caractéristiques de performances de vos applications.
  • En plus des VM, quels sont les autres services nécessaires à votre application ? Comment sont-ils facturés ?
  • Avez-vous besoin de logiciels sous licence pour ces applications ? Quel en sera le coût ? Seront-ils disponibles dans le cloud ?

Avant de migrer toute VM, vous devez prendre en compte et planifier l'ensemble de ces coûts. L'équipe commerciale Google Cloud peut vous aider à les évaluer et à les calculer.

Si vous avez déjà un fournisseur de cloud, ces calculs peuvent être différents. Par exemple, vous n'aurez pas besoin de prendre en compte le coût de la location de votre propre centre de données, mais cet élément est toujours requis. Avant toute migration, il est important de comprendre les différents modèles de facturation proposés par votre fournisseur actuel et par Google. Par exemple, si vous migrez depuis Amazon Web Services (AWS), vous pouvez consulter une évaluation de la tarification des VM sur le blog Cloud Platform.

Évaluer les éléments à migrer

Après avoir évalué le coût de la migration, vous pouvez commencer à examiner les éléments à migrer. Les entreprises modernes ont recours à de nombreux types d'applications, qu'il s'agisse d'applications de back-office, destinées aux clients ou expérimentales, ou bien d'outils conçus pour les développeurs. Il ne serait pas judicieux de déplacer toutes ces applications en même temps et de la même manière.

Nous recommandons de trier les applications en trois grandes catégories :

  • Les applications faciles à migrer. Il s'agit d'applications moins dépendantes, plus récentes et écrites en interne. Elles ne sont donc pas soumises à une licence, et sont plus tolérantes au scaling et à d'autres modèles cloud.
  • Les applications difficiles à migrer. Il s'agit d'applications plus dépendantes, moins tolérantes au scaling, ou soumises à des conditions de licence complexes.
  • Les applications qui ne peuvent pas être migrées. La migration de certaines applications n'est pas recommandée. Il s'agit d'applications exécutées sur du matériel spécialisé ou ancien, soumises à des exigences commerciales ou réglementaires qui les obligent à rester dans votre centre de données, ou encadrées par des conditions de licence complexes qui les empêchent de passer au cloud.

Ces trois catégories sont présentées à titre d'exemple. Vous rencontrerez probablement d'autres critères à prendre en compte pour vos applications. L'équipe commerciale Google Cloud peut vous aider.

Toutes ces considérations s'appliquent, que vous souhaitiez migrer vos applications depuis un centre de données ou depuis un autre fournisseur de cloud.

Une fois cette évaluation terminée, vous pouvez sélectionner la ou les premières applications à migrer. Nous vous recommandons vivement de ne migrer que quelques applications au départ. Les premières migrations fourniront non seulement un modèle pour les suivantes, mais elles vous aideront également à définir vos processus de migration.

Concevoir la migration

Après avoir choisi les applications à migrer et avant de démarrer toute migration, vous devez définir votre environnement cloud. La première étape consiste à comparer votre environnement actuel à Google Cloud. Le tableau suivant fournit un bref comparatif :

Type de service Centre de données Google Cloud
Calcul Matériel physique et matériel virtualisé (VMware ESXi, Hyper-V, KVM et XEN) Instance
Stockage SAN, NAS et DAS Disque persistant et Cloud Storage
Réseau MPLS, VPN, DNS et équilibrage de la charge matérielle Cloud VPN, Cloud Interconnect, Cloud Load Balancing, Google Domains et Cloud DNS
Sécurité Pare-feu, NACL, tables de routage, chiffrement, IDS et SSL Pare-feu de Compute Engine, chiffrement, IDS et SSL
Identité Active Directory et LDAP IAM, GCDS et LDAP
Gestion Services de configuration, outils CI/CD Cloud Deployment Manager, services de configuration, outils d'intégration et de livraison continues (CI/CD)

Si vous effectuez une migration depuis AWS, utilisez le guide comparatif pour évaluer les services d'AWS par rapport à ceux de Google Cloud.

Après avoir comparé les différents services pour comprendre les besoins de vos applications et l'utilisation qu'elles en feront, vous pouvez commencer à réfléchir à quoi va ressembler votre environnement sur Google Cloud.

Avant de migrer des VM, vous devez concevoir l'environnement pour l'application concernée. Les sections suivantes indiquent les étapes recommandées.

Établir la gouvernance

Vous devez déterminer qui, dans votre entreprise, aura l'autorisation de créer les ressources cloud, d'y accéder, de les modifier et de les détruire. Vous devez également déterminer comment les ressources seront financées. Consultez la documentation sur les bonnes pratiques d'utilisation d'IAM pour obtenir des conseils.

À ce stade, vous devez également déterminer qui dispose de comptes dans le cloud. Il n'est peut-être pas nécessaire que chaque employé de votre entreprise, ou même que chaque développeur, bénéficie d'un accès direct. Vous devez, dès le départ, établir les comptes ainsi que les règles de création et de suppression de ces comptes.

Créer un réseau

Avant la migration d'une VM, vous devez créer le réseau vers lequel elle va être déplacée. Comme pour les autorisations et les comptes, il est important de concevoir ce réseau à l'avance, car il sera difficile d'établir des procédures une fois les applications en cours de transfert.

Gardez en tête que cette étape consiste non seulement à créer un réseau pour une application, mais aussi un modèle à suivre pour votre entreprise. Posez-vous les questions suivantes :

  • Aurez-vous un réseau par application ou par environnement ?
  • Comment vos applications accéderont-elles aux services partagés ?
  • Utiliserez-vous un modèle de réseaux en étoile ou un réseau maillé complet ?
  • Comment allez-vous connecter les différents réseaux ?
  • Allez-vous utiliser une connexion VPN entre les réseaux ou choisir un réseau inter-projets ?

Compte tenu de l'ampleur des possibilités et des différences entre les entreprises, il est difficile de fournir des conseils normatifs adaptés à toutes les situations. Nous vous recommandons simplement d'évaluer vos besoins et d'opter pour une stratégie avant de commencer à déployer des applications.

La seconde étape de conception du réseau consiste à déterminer la meilleure façon de vous connecter à vos ressources existantes. Google propose un certain nombre d'options de connexion, en fonction de vos besoins.

L'option la plus simple consiste à établir une connexion VPN entre vos ressources existantes et Google. Ce service vous permet de créer des routes statiques ou dynamiques entre les deux emplacements.

Si vous avez besoin de connecter vos ressources plus rapidement à Google, vous pouvez envisager la location d'une ligne directe vers Google par le biais de Cloud Interconnect.

Enfin, vous pouvez choisir de créer une liaison directe vers Google depuis l'un de nos nombreux emplacements d'appairage direct.

Planifier les opérations

Lorsque vous exécutez des applications dans le cloud, vous devez les surveiller, conserver les journaux et gérer leur fonctionnement, comme vous le feriez dans n'importe quel système. Pensez à inclure ces opérations dans la planification avancée.

Il existe un certain nombre d'outils de configuration tiers. Des logiciels, tels que Chef ou Puppet, peuvent vous être utiles. Si vous vous servez déjà de ces outils, continuez à les utiliser dans votre environnement Google Cloud. Dans le cas contraire, nous vous conseillons d'en évaluer un pour identifier le plus adapté à vos besoins en fonction des méthodes de travail de vos développeurs et ingénieurs opérationnels. Ces outils peuvent fonctionner avec Cloud Deployment Manager, que nous vous recommandons d'intégrer dans votre déploiement et votre gestion opérationnelle.

Vous avez une décision semblable à prendre pour la surveillance et la journalisation. Plusieurs outils tiers fonctionnent bien sur Google Cloud. Si vous en utilisez déjà un ou plusieurs, continuez à vous en servir. Dans le cas contraire, nous vous recommandons d'utiliser des outils comme Cloud Logging, Cloud Monitoring et Error Reporting.

Commencer la migration

Votre première migration vous servira de modèle pour les suivantes. Même s'il est probable que vous affiniez votre processus au fur et à mesure des migrations, il est crucial d'enregistrer tout ce que vous faites pendant la première migration.

La section suivante présente les architectures de migration de haut niveau et les étapes nécessaires à la migration pour chaque scénario.

Architectures de migration

Pour faire simple, vous avez le choix entre trois types d'architectures de migration pour chaque application.

Le premier consiste à repenser complètement une application pour le cloud. Cette option est tout à fait viable, mais elle ne sera pas décrite dans cet article puisque cela revient essentiellement à créer une application dans le cloud.

Les sections suivantes se consacrent aux deux autres approches.

Migration Lift and Shift

En général, cette approche est la plus simple pour commencer, car elle nécessite le moins de modifications au niveau d'une application. Ce scénario implique l'arrêt de l'application existante et la copie des données ainsi que des VM dans le cloud.

Déplacer les données

La première étape d'une migration Lift and Shift consiste à déplacer les données nécessaires à l'exécution de l'application. Souvent, il s'agit de celles de la base de données, mais elles peuvent également inclure des éléments statiques à déplacer d'un réseau de stockage SAN vers un espace de stockage d'objets dans Cloud Storage. Vous devrez également migrer les données requises localement par l'application vers Cloud Storage pour qu'elles puissent être téléchargées sur les disques persistants de Compute Engine lors du lancement de vos VM.

Déplacer les VM

L'étape suivante consiste à déplacer vos VM. Vous pouvez procéder de plusieurs manières. Migrate for Compute Engine est l'option la plus souvent choisie. Vos VM démarreront dans Google Cloud en quelques minutes (en moyenne) une fois que Migrate for Compute Engine aura transféré un échantillon de démarrage vers Google Cloud, lancé l'application, puis transféré et synchronisé les données de manière transparente en arrière-plan.

Tester l'application

Une fois les données et les VM en cours d'exécution sur Google Cloud, vous devez exécuter l'application en mode test pour vous assurer qu'elle fonctionne comme prévu. Ce test permet entre autres de vérifier que l'application est conforme à vos métriques de performances et qu'elle est correctement déployée, surveillée et journalisée. Migrate for Compute Engine inclut des tests intégrés et une fonctionnalité de redimensionnement pour vous aider à valider les performances dans le cloud, les contrats de niveau de service et les coûts.

Passer à l'environnement de production

La durée de cette étape dépend de la nature de l'application. Avant le basculement vers l'emplacement où s'exécute l'application de production, il est presque toujours nécessaire que l'application soit hors connexion pendant un certain temps. Avec Migrate for Compute Engine, cette période hors connexion peut s'avérer transparente et très courte (cinq minutes à peine, dans certains cas). La procédure à suivre pour passer à un environnement de production sans que l'utilisateur ne se rende compte que l'application est hors connexion ne fait pas partie des sujets abordés dans le cadre de ces bonnes pratiques.

Deux facteurs déterminent la durée de la migration :

  • À quand remonte la dernière importation de données d'origine ?
  • Combien de temps faudra-t-il au DNS pour mettre à jour les entrées de l'interface de votre application ?

Généralement, vous avez davantage de contrôle sur le premier facteur. Si le passage à l'environnement de production doit se dérouler sur une courte période, effectuez la migration le plus rapidement possible après l'importation des données.

Après avoir déterminé une période acceptable, procédez comme suit :

  1. Informez vos utilisateurs de l'intervalle de maintenance.
  2. Retirez votre application de son emplacement actuel.
  3. Importez les données manquantes dans les emplacements appropriés sur Google Cloud.
  4. Remplacez les entrées DNS, puis activez l'application dans le cloud.

Si tout se déroule comme prévu, l'application doit être entièrement migrée et vos utilisateurs peuvent recommencer à l'utiliser. Si vous utilisez Migrate for Compute Engine, le logiciel effectue le transfert des données vers le cloud, synchronise les données entre la source et la destination pendant la migration et met à jour les entrées DNS. Cela permet de réduire considérablement votre charge de travail et les risques liés à la migration.

Migration hybride

La troisième approche architecturale est une migration hybride. Dans ce scénario, seule une partie de l'application est déplacée vers le cloud. Il s'agit généralement de l'interface et éventuellement de la logique d'application. Le backend et les services associés restent avec les autres ressources existantes. La migration hybride est une variation de la migration Lift and Shift. Elle est utile lorsque l'application peut être déplacée vers le cloud, mais pas certains services de backend. Elle nécessite moins d'étapes que la migration Lift and Shift. Par exemple, l'espace de stockage de données n'est pas déplacé vers le cloud avec cette architecture.

Déterminer la connexion réseau

La première étape consiste à créer une connexion suffisamment rapide entre vos ressources existantes et Google Cloud. La nature de cette connexion dépend entièrement du profil de votre application. Dans certains cas, un VPN peut suffire. Dans d'autres, vous aurez besoin d'une ligne dédiée à grande vitesse.

Migrer les VM

L'étape suivante consiste à migrer les images des VM, comme dans le cas de la migration Lift and Shift. À ce stade, vous devez à nouveau tester l'application pour vous assurer qu'elle fonctionne comme prévu dans le cloud, en associant à nouveau vos ressources existantes.

Passer à l'environnement de production

Enfin, votre intervalle de maintenance est beaucoup plus court dans ce cas, car vous n'avez pas besoin de migrer les données. Vous devez néanmoins effectuer les opérations suivantes :

  1. Informer vos utilisateurs d'un intervalle de maintenance
  2. Désactiver l'application existante
  3. Faire basculer les entrées DNS
  4. Activer l'application dans le cloud

Si tout se déroule comme prévu, votre application devrait désormais s'exécuter sur Google Cloud. À ce stade, vous pouvez à nouveau permettre à vos utilisateurs d'y accéder.

Utiliser Migrate for Compute Engine

Migrate for Compute Engine fournit un outil de migration cloud sans agent qui permet aux utilisateurs de migrer efficacement des machines virtuelles vers Google Cloud en quelques minutes. Migrate for Compute Engine utilise une technologie de streaming pour réduire le temps de migration, fournit des recommandations concernant le redimensionnement avant la migration pour vous aider à choisir les types d'instances appropriés, et s'intègre à VMware vCenter afin de permettre la gestion des migrations de VM à partir d'une seule et même ressource. Migrate for Compute Engine propose également une interface Web qui permet d'effectuer et d'automatiser la migration massive de VM.

Actuellement, Migrate for Compute Engine est gratuit pour les clients qui migrent vers Google Cloud. Les tarifs de facturation standards s'appliquent à tous les autres produits Google Cloud utilisés ou consommés pendant ou après la migration. Par exemple, si vous déployez Migrate for Compute Engine à l'aide de VM Compute Engine, vous devrez vous acquitter des instances-heures. Vous trouverez plus d'informations sur les produits Google Cloud utilisés par Migrate for Compute Engine sur la page Tarifs de Migrate for Compute Engine.

Pour en savoir plus, consultez la documentation sur la migration de VM vers Google Cloud à l'aide de Migrate for Compute Engine.

Étapes suivantes