Some technology changes arrive gradually and predictably. You can foresee that a storage system is approaching its capacity limits, or that servers are approaching end-of-life, or that the datacenter is simply too small for next year’s workload. However, when there is an outage or spike in user activity, you don’t have the luxury of a long runway. It becomes necessary to make changes on-the-fly, even automatically in some cases, so that there is no human latency at all, and that is where workload mobility comes in.
Workload mobility, instrumental in managing gradual change, is absolutely critical for handling rapid change. Operating an efficient and highly available datacenter is not trivial, particularly when it involves complex, distributed applications. Fortunately, virtualization at the server, storage, and networking layers helps to create a layer of abstraction that greatly simplifies the task.
As datacenters grow in scale and aggregate dynamic resource pools, they must be able to balance their loads in response to changes in respective utilization. Workload mobility allows infrastructure managers to relocate computational processes in order to optimize data affinity. Administrators can also use the capability to free up critical resources in order to perform planned maintenance.
So how do you do it? There are several techniques that an enterprise can use in order to achieve these objectives. The easiest one is to implement a clustering technology and take advantage of its native failover capability. Clusters can transfer workloads almost instantly and also have other benefits such as ensuring high availability, making them ideal for mission-critical services.
The downside? Clusters are expensive to implement and more complex to set up, so they are not the best option for every application. A more common approach is to set up both the source and target machine to use shared storage and then allow the virtual machine manager to replicate the compute instance to the target and redirect network traffic. Modern hypervisors have live migration capabilities that automate this task, which involves copying the running state of the virtual machine along with its in-use memory.
Shared-nothing live migration is a relatively new variation of this, but with some compelling advantages. It makes it possible to move a virtual machine from one host to another without any shared storage. Instead, it uses a high-speed network to copy the virtual hard disks and configuration metadata first and then completes the redirection in the traditional manner. Microsoft has a Shared-Nothing Live Migration feature that enables this.
This approach is the only solution for physical machines with direct attached storage, and it increases the options for high-end systems, including clusters, because there is no need for the source and target to share the same storage.
All of these capabilities allow an enterprise to optimize the datacenter on an on-going basis. The business demands and external environment are in constant flux. It is imperative for the technology to keep pace. One element of this agility is the ability to migrate workloads. In my next post, I will look at dynamically restructuring the underlying storage.