Mathias Rosenthal - Fotolia
Lately the notion that server virtualization is a stepping stone on the road to moving workloads to the public cloud seems to be gaining a lot of traction. The idea is that the easiest way to move a workload to the cloud is to first virtualize the server running the workload and then migrate the resulting virtual machine (VM) to the cloud. While this approach seems simple enough, the devil is in the details. So what does a VM migration to the cloud really take?
Unfortunately, there is no simple answer to this question. Every VM is unique. Furthermore, every public cloud provider has its own way of doing things. As such, I am going to approach the subject by talking about some of the general issues you may encounter when planning for a cloud migration.
Some of the biggest issues you are likely to encounter when migrating a VM to the public cloud are network related. Some of these issues stem from the fact that your guest operating system (OS) is usually using different virtual hardware than what was used when the VM was running locally. As such, the IP stack will have to be bound to a different virtual NIC, which in turn is connected to a different virtual switch that exists on a different subnet. There are a number of different implications to this configuration change.
One such implication is that any software that is directly bound to a virtual NIC will need to be reconfigured. For example, guest cluster nodes may be configured to use a specific virtual NIC for cluster heartbeat traffic. Moving such a VM to the public cloud is likely to break the way that the failover cluster service is configured on the VM. Of course, virtual NIC related problems aren't limited solely to guest clusters -- this is just one example.
Other networking related issues may occur as a result of the fact that the VM is running on a different subnet and will therefore be assigned a new IP address. While IP address assignment might not be a problem in and of itself, domain name system mismatch problems are somewhat common. These problems are not overly difficult to overcome, but it does require planning.
VM migration and hardware issues
Other common issues have to do with the VM's virtual hardware. Right now, most of the major cloud providers do not allow you to migrate a VM to the public cloud without making changes to the VM. The cloud provider typically imposes hardware limitations. For example, you may find that your cloud provider does not allow a VM with multiple virtual hard disks. Or, the provider may limit the amount of memory or the number of virtual processors that can be assigned to a VM. Some cloud providers restrict VMs to using a single virtual network adapter.
Before you migrate a VM to the public cloud, you will need to verify that your VM's virtual hardware configuration complies with the cloud provider's requirements. You may find that migrating to the cloud requires you to shoehorn the guest OS into a virtual hardware configuration that isn't an exact match for what was being used on premise.
Operating system support
Another consideration for moving VMs to the cloud is operating system support. Most cloud providers have a very specific list of guest operating systems that they will allow you to use. In some cases it may be possible to jump through a few hoops and install an unauthorized OS. Even so, running an unsupported and unauthorized configuration is never a great idea.
Some cloud providers make it nearly impossible to install an unauthorized OS. When you migrate a Windows VM to the Amazon cloud for example, Amazon removes the license from the VM and applies a license of its own. Hence, the licensing mechanism forces you to use a guest OS that is authorized by Amazon.
VM migration cost considerations
The biggest driving force behind the VM migration to the public cloud is usually cost. Although most vendors will tell you that it costs less to run a workload in the cloud than to run that same workload locally, the idea that the cloud makes everything less expensive is a myth. There are some workloads that would be cost prohibitive in the cloud.
Public cloud providers charge their customers based on resource consumption. As such, a database server that consumes a large amount of storage I/O, storage space, and CPU time is probably going to cost a significant amount of money to operate in the public cloud. While it may be possible (or even easy) to move such a VM to the cloud, doing the migration could prove to be difficult from a business justification standpoint.
There are any number of issues that must be considered prior to moving a VM to the public cloud. In almost every case, the VM will require at least some degree of reconfiguration before it can be migrated to and function in the cloud.
Recognizing common VM migration problems
Private to public cloud migration obstacles remain
A comprehensive guide to cloud migrations
Uncover the top five VM migration errors