Virtual Architect

Dynamic Data Centers of the Big 3

Making a data center dynamic is about more than moving VMs around. How do the "big three" stack up?

In a dynamic data center, workloads move from one location to another as needed to ensure they're provided with the resources required to maintain service-level agreements (SLAs). Live migration -- or the displacement of a virtual machine (VM) from one host to another while it's running -- is a core requirement for the dynamic data center. VMware offers live migration through its VMotion feature, and Citrix offers it through XenMotion. Microsoft will offer a similar feature, called Live Migration, in the Windows Server 2008 R2 release of Hyper-V (currently scheduled for 2010). Note that Live Migration will be operator-initiated and not automated, unlike the competition's migration offerings.

SLA Considerations
While live migration is considered an essential feature for dynamic data centers, much more is required if you really want to put the "dynamic" into the data center. First, live migration must be an automated process. Second, the live migration process must be managed by a resource scheduler, such as VMware's Distributed Resource Scheduler (DRS). Third, live migration is not only required to support host server maintenance -- moving the VMs from the host to be able to reboot it after applying fixes -- but more importantly, it's required to support the SLAs associated with each VM.

Figure 1
[Click on image for larger view.]
Figure 1. Live migration moves virtual workloads from one host to another on an as-needed basis.

For example, in VMware environments, when a VM doesn't have access to enough resources on the existing host, it's moved through DRS to another host with sufficient free resources (see Figure 1).

In addition to DRS, VMware's ESX hypervisor supports key memory-management features -- features that complement the use of a resource scheduler. These include:

  • RAM over-commitment, which lets you allocate more memory to VMs than exists on a host, letting you populate the host with a maximum number of VMs. This feature relies on policy-based VM management to move machines to another host if insufficient resources are available on the current host.
  • Transparent page sharing stores only one copy of a duplicate file in host RAM. This is very much like a single-instance store of in-memory VM contents. If you're running 10 copies of Windows Server 2008 in VMs on a host, all of the core Windows Server processes will be shared, saving a lot of memory and maximizing host server RAM utilization.
  • Min/Max memory settings on VMs let you assign a minimum and maximum memory setting to a VM. ESX will run the VM with its minimum memory setting and allocate more memory as needed.
  • Memory ballooning lets you recover memory from VMs that aren't using it and allocate it to others, once again maximizing host RAM usage.

Combine these memory-management features with DRS, and you begin to see just what dynamic VM management means. In a policy-based data center, you can assign SLAs to VMs and embed them into your DRS policies. If a workload requires more resources, DRS will move it through the host server resource pool as needed (see Figure 2).

Hyper-V and XenServer don't include these memory features, which make them less capable in a dynamic data center setting.

Going Beyond Memory
Of course, memory isn't the only resource you need to manage. In the real world, hot-adding resources -- processor cores, memory, disks and network interface cards -- is the best way to manage policy-based workloads. This is something that XenServer supports today. If a workload doesn't meet an SLA, then perhaps a bigger VM or even more VMs are required to feed it.

Figure 2
[Click on image for larger view.]
Figure 2. Live migration moves virtual workloads from one host to another on an as-needed basis.

Keep in mind also that both the hypervisor and the OS within the VM must support the ability to add additional resources while the machine is running. Windows Server 2008, for example, is the first Microsoft OS that supports this within a VM. But there's still a difference between VM memory management and hot-adding resources to a VM. Memory management -- such as what VMware provides -- doesn't change the nature of the VM. Hot-adding resources does, and once the resources are added, the VM is no longer the same.

The VMware Advantage
VMware's memory features provide the ability to increase the density on your host servers as well as manage workloads throughout the resource pool during memory usage peaks. According to Citrix CTO Simon Crosby, similar capabilities will appear in a future version of XenServer. Citrix has been busy integrating the XenServer products into the Citrix brand, but now that it's complete, the company is set to improve the hypervisor. Microsoft will surely do the same down the road, but the roadmap for this isn't yet public.

You choose. If you want dynamic data center management -- management that automatically meets application memory requirements when the apps need them -- keep these features in mind when choosing your hypervisor. Microsoft and Citrix have an advantage with hypervisors that are true 64-bit engines -- VMware is still only 32-bit -- but VMware's superior memory features help it stand alone in the market.

About the Author

Danielle Ruest and Nelson Ruest, both Microsoft MVPs, are IT professionals focused on technologies futures. They are authors of multiple books, including "Microsoft Windows Server 2008: The Complete Reference" (McGraw-Hill Osborne Media, 2008), which focuses on building virtual workloads with Microsoft's new OS.