This document is the first of a series that guides you through migrating your virtual machines (VMs) from your source environment to Google Cloud by using Migrate to VMs. Your source environment might be running in an on-premises environment, in a private hosting environment, or in another cloud provider.
This document provides an overview of Migrate to VMs and what it's used for. It also contains important points for you to consider when planning a VM migration, and provides guidance about how to migrate VMs.
This document is part of a series about migrating to Google Cloud. If you're interested in an overview of the series, see Migration to Google Cloud: Choosing your migration path.
This document is part of a series that has the following parts:
- Migrating VMs with Migrate to VMs: Getting started (this document)
- Migrating VMs with Migrate to VMs: Best practices
- Migrating VMs with Migrate for Compute Engine version 4: Building your foundation
- Migrating VMs with Migrate for Compute Engine version 4: Migrating your VMs
This document is useful if you're planning to migrate VMs from a supported source environment to Compute Engine with Migrate to VMs. These source environments can include the following:
- A VMware vSphere environment
- A Microsoft Azure VM environment
- An Amazon Elastic Compute Cloud (Amazon EC2) environment
- Physical servers and VMs running an operating system that Google Cloud supports
Migrate to VMs lets you streamline your VM migration to Google Cloud. You don't have to spend effort in designing and implementing a reliable toolchain to manually evaluate how your VMs behave in Google Cloud, and then to manually migrate them. Migrate to VMs accelerates your VM migration, saves you time, and lets you focus on improving your workloads.
This series assumes that you have read and are familiar with the following documents:
- Migration to Google Cloud: Getting started: describes the general migration framework that you follow in this migration.
- Migrate for Compute Engine version 4 architecture: describes the reference architecture of Migrate for Compute Engine version 4.
- Migrate to VMs architecture: describes the reference architecture of Migrate to VMs.
Choose a Migrate to VMs version for your migration
Migrate to VMs comes in two versions:
- Migrate for Compute Engine version 4, the first major release of Migrate to VMs.
Migrate to VMs, the current major release of Migrate to VMs. Compared to the previous version, Compute Engine offers the following advantages:
- A simplified provisioning experience.
- An advanced data replication technology.
For more information about the differences between Migrate for Compute Engine version 4 and Migrate to VMs, see Comparing version 5.0 and 4.x features.
You can choose which Migrate to VMs version to use for your migration. The best version for your use case depends on your migration requirements, and on the source and target environments.
The following diagram shows a flowchart with a series of example questions that you might ask when deciding the best Migrate to VMs version for your migration requirements.
The preceding diagram can be summarized as follows:
Migrate to VMs path
Does Migrate to VMs support the source environment? Collect information about the source environment platform and verify if Migrate to VMs supports the source environment. When you know if the source environment is based on VMware vSphere, or running in other cloud providers, you can qualify the features that you need for the migration.
- If yes, continue to the next question.
- If no, evaluate Migrate for Compute Engine version 4.
Does Migrate to Virtual Machines support the source and target operating systems?
- If yes, continue to the next question.
- If no, evaluate Migrate for Compute Engine version 4.
Do you need to migrate physical machines?
- If yes, evaluate Migrate for Compute Engine version 4.
- If no, go to the next question.
Is Migrate to Virtual Machines available in the target regions?
- If yes, choose Migrate to VMs.
- If no, evaluate Migrate for Compute Engine version 4.
Migrate for Compute Engine version 4 path
Does Migrate for Compute Engine version 4 support the source environment?
- If yes, go to the next question.
- If no, explore other migration options.
Does Migrate for Compute Engine version 4 support the source and target operating systems?
- [If yes, choose ] Migrate for Compute Engine version 4.
- If no, explore other migration options.
Other migration options
If Migrate for Compute Engine version 4 and Migrate to VMs don't satisfy your requirements, you can explore other options. For example, if you have a VMware-based source environment, you can use VMware HCX to migrate applications to Google Cloud VMware Engine.
Design the migration to Google Cloud
To migrate your VMs from your source environment to Google Cloud, we recommend that you follow the framework described in the Migration to Google Cloud series.
The following diagram illustrates the path of your migration journey.
The framework illustrated in the preceding diagram has four phases:
- Assess. In this phase, you assess your source environment, assess the workloads that you want to migrate to Google Cloud, and assess which VMs support each workload.
- Plan. In this phase, you create the basic infrastructure for Migrate to VMs, such as provisioning the resource hierarchy and setting up network access.
- Deploy. In this phase, you migrate the VMs from the source environment to Compute Engine.
- Optimize. In this phase, you begin to take advantage of the cloud technologies and capabilities.
Assess the source environment and workloads
In the assess phase, you gather information about the following:
- Your source and target environment
- The workloads that you want to migrate
To help you to plan your migration and to rightsize the resources that you need for the migration and your target environment, it's crucial to assess your source environment and the workloads that you want to migrate. To learn how to assess your environment, see Migration to Google Cloud: Assessing and discovering your workloads.
After you've assessed your environment, you refine the assessment by taking into account migration aspects that are specific to Migrate to VMs, such as the following:
Migrate to VMs requirements. Evaluate Migrate to VMs requirements to ensure that both your source and target environments provide the features and the resources that Migrate to VMs needs for the migration, such as network connectivity and bandwidth, and secure communication channels. The requirements are as follows:
- If you choose Migrate to VMs, evaluate Migrate to VMs requirements.
- If you choose Migrate for Compute Engine version 4, evaluate Migrate for Compute Engine version 4 requirements.
Required permissions for Migrate to VMs. When you know which kind of permissions Migrate to VMs needs, you qualify whether those permissions meet your security requirements. The permissions that you need are as follows:
- If you choose Migrate to VMs, evaluate the required permissions for Migrate to VMs.
- If you choose Migrate for Compute Engine version 4, evaluate the required permissions for Migrate for Compute Engine version 4.
Build your foundation
This section contains guidance on how to build the foundation for Migrate to VMs.
If you chose Migrate for Compute Engine version 4, to learn how to build the foundation, see Migrating VMs with Migrate for Compute Engine version 4: Building your foundation. After your foundation is built, see the guidance in Migrating your VMs. Otherwise, continue with the guidance in this section.
To build a foundation for Migrate to VMs in the source environment and in Google Cloud, you do the following:
- Build the foundation on Google Cloud.
- Prepare the source environment.
Build the foundation on Google Cloud
To build the foundation for Migrate to VMs on Google Cloud, you do the following:
- Provision the resource hierarchy. Migrate to VMs uses Google Cloud projects to control the migration process (the host project) and as a target environment (the target projects). Migrate to VMs requires a host project. You can also optionally add one or more target projects to use as destinations for the migrated VMs.
- Enable Migrate to VMs services. Migrate to VMs depends on certain Google Cloud APIs and services. To learn how to enable the required APIs and services, see Enabling Migrate to VMs services.
Prepare the source environment
To build a foundation for Migrate to VMs on your source environment, install the Migrate Connector to configure the environment as a migration source. For more information about the Migrate Connector, see Migrate to VMs architecture.
Migrate your VMs
After you build your foundation, you migrate your VMs with Migrate to VMs from your source environment to Google Cloud.
If you chose Migrate for Compute Engine version 4, we recommend that you read Migrating VMs with Migrate for Compute Engine version 4: Migrating your VMs before reading further.
If you chose Migrate to VMs, continue to the next section.
Structure of a Migrate to VMs migration
The following terms are important for understanding how to organize a VM migration from a supported source environment to Google Cloud:
- VM migration lifecycle. Each VM that you migrate with Migrate to VMs follows an ordered set of phases. Those phases are part of the VM migration lifecycle. Migrate to VMs automatically advances each VM to migrate through those phases.
- Groups. Migrate to VMs lets you create sets of VMs to migrate. These sets are called groups. To logically separate VMs and to migrate VMs in batches, you can use groups. When you migrate the VMs in a group, Migrate to VMs performs all the operations of the VM migration lifecycle on each VM in the group or, optionally, on a subset of the VMs in the group. For example, you might create test clones of one or two VMs in a large group to evaluate if the clones can function properly on Google Cloud.
- OS adaptations. The VMs you migrate to Google Cloud with Migrate to VMs require changes to their configuration to function properly. These changes are referred to as OS adaptations. Migrate to VMs automatically applies OS adaptations to the VMs that you migrate.
Migrate VMs with Migrate to VMs
To migrate VMs with Migrate to VMs you do the following:
- Organize your migration with groups. To help mitigate the risks of a migration, we recommend that you use groups to logically separate the VMs to migrate. To group the VMs to migrate, you can use the information gathered during the assessment phase. For example, you can group the VMs based on which application they support, or you might consider the network the VMs are connected to.
- Gather machine sizing recommendations and utilization insights. To evaluate the resources and determine the optimal target machines for your source machines, gather detailed sizing recommendations and reporting about your machines by generating a source VM utilization report.
Migrate each group. Execute the migration on each group of VMs. As part of the VM migration lifecycle, Migrate to VMs lets you run a test clone of a VM in Google Cloud. We recommend that you use test clones to validate if your VMs function properly in Google Cloud before migrating them.
For more information about migrating groups of VMs with Migrate to VMs, see Migrating VM groups with Migrate to VMs.
Optimize your environment after migration
When you complete all the migration phases, the migration is considered done. However, your Google Cloud environment might need further optimizations. For example, you can rightsize Compute Engine VMs, or you can start using managed services.
For more information about optimization, see Migration to Google Cloud: Optimizing your environment.
What's next
- Migrate to VMs: Building your foundation.
- Explore reference architectures, diagrams, and best practices about Google Cloud. Take a look at our Cloud Architecture Center.