To prepare a VM for the cloud, you should use VM migration techniques that address three broad areas: suitability, groundwork and cost.
To determine suitability, decide which VMs can or can't move to the public cloud. Although VMs share the same underlying virtualization technologies, the workloads that each VM hosts can be radically different and may call for different VM migration techniques. They can vary in complexity, resource demands, performance characteristics and dependencies.
Even though an organization might refer to VMs as a single entity, they can actually be quite different, and you should evaluate the need to move any VM on a case-by-case basis.
Some VMs are easy to move because they have few dependencies, outside licensing issues or problems scaling. Experimental or test and development workloads are often easy candidates for the cloud migration process.
Other VMs require more advanced VM migration techniques; they make greater resource demands, don't scale easily or impose restrictive licensing. Enterprise-class workloads, such as middleware, often have such demands, and the cloud migration process for these workloads is often costlier and harder to justify. You simply can't move some workloads, such as legacy workloads running on dedicated systems or workloads that have strict regulatory requirements.
Second, a VM doesn't simply drop into the cloud and run by itself. The application needs an array of suitable services and resources. The target cloud environment requires a prepared architecture.
You must think beyond the VM-to-cloud instance migration and consider the workload's storage, network, security, identity and management needs. For example, the workload will need a network, such as a virtual private network, and support for existing monitoring and management tools, such as Chef or Puppet. Even the governance implications -- the authorization of specific people to architect and execute a VM migration -- require careful consideration.
Integrate cost assessment into VM migration techniques
Finally, there is the complex issue of public cloud costs. Determining the cost of running a workload in a local VM is relatively straightforward. Cost estimates can become far more complex, however, when migrating that VM to the cloud.
It's not only a matter of the compute instance for the intended VM. There are storage costs for the image during the migration process, as well as all of the supporting services and resources the migrated workload will use. This can include data storage, network features, additional instances and resources for monitoring and management tools, costs of storage egress if any data is coming back to the local data center, load balancing, and the unpredictable costs that elastic scaling imposes.
Master the VM to cloud migration process
VMs require careful preparation before they're ready to migrate to the cloud. Depending on the target public cloud provider, you might need to meet different configuration requirements. Though there are commonalities between most providers, many also have unique needs.
After preparing the VM, make sure no compatibility problems will interrupt the migration process. OSes and images are good targets for compatibility checks because they can often cause migration issues. Providers like Google Cloud Platform also make tools available that can make this process easier.
Once you're ready, a forklift migration is a solid option to ensure a VM and its dependencies make it to the cloud all at once. Forklift migration -- also known as lift and shift -- requires preparation and deliberate tool deployment. It typically involves many manual steps, so it too can benefit from the adoption of tools.
These and other cost factors of the cloud migration process require careful evaluation and comparison to the costs of running that VM workload locally. In some cases, it might not be financially beneficial to migrate a VM workload to the public cloud -- even though it might be entirely possible from a technical standpoint.
Public cloud providers underscore simplicity in their services and often cite the speed and ease of the cloud migration process. This best case scenario isn't guaranteed, and potential public cloud adopters will need to pay close attention to the requirements, limitations and processes involved in any VM migration from a local server to a public cloud compute instance.
Those issues might also differ between providers and vary with the specific configuration of each VM. This variance calls for different VM migration techniques, but as long as you orient those techniques to address suitability, groundwork and cost, you can ensure your VMs are prepared for the cloud.