Virtualization & Higher Availability: Getting to 'Always On'
Using hypervisors and other virtualization technology to help you reach your HA goals.
There are certain applications within most organizations that simply can't be offline. Even a scheduled maintenance window is considered a necessary evil, depriving the company of continuous e-mail, database applications and other high-demand services. In the past, we've simply accepted the fact that some downtime is inevitable, even making up trade terms like "five nines" to describe the best level of availability we could hope to achieve (99.999 percent -- still allowing about eight hours of unplanned downtime plus however many hours of scheduled maintenance you permit).
Enough's enough. We shouldn't have to put up with any unplanned downtime, and even scheduled maintenance shouldn't be a reason for critical services to be offline. In the past, technologies like Windows Cluster Service were often our best way of achieving continuous, "always on" availability. But clustering had -- and still has -- some significant disadvantages.
Using VM Lockstep
Today, virtualization is enabling us to do better. VMware vSphere FT technology is a step in the right direction. Think about it: The hypervisor already sits between the virtual and physical hardware. That means the hypervisor can "see" the complete memory and processor state of every virtual machine (VM). Imagine taking two identical VMs and starting them on two separate physical hosts. Then, imagine the hypervisor using a high-speed interconnect -- like a 10GB Ethernet crossover cable -- to mirror the processor and memory state of one VM to the other. The two VMs are said to be in lockstep, meaning they're doing exactly the same thing, down to the processor level. By having clients access this "availability set" using a fake-out IP address, we can achieve instantaneous failover. If the active VM fails, the other one just stops mirroring CPU and memory data and takes over. Clients see downtime in the millisecond range -- rarely enough to notice.
In theory, any application could be made continuously available in this fashion, as the hypervisor technology doesn't care what the VM is running. It just keeps the CPU and memory in lockstep. Unfortunately, VMware's technology isn't perfect, yet. It still requires external storage, which is expensive to make highly redundant. It also can't synchronize more than one processor per VM, which limits you to lower-volume applications and makes something like SQL Server a lot less practical.
But the technology is a step in the right direction. Already, other companies are improving on the idea.
Marathon Technologies, for example, uses a similar setup to synchronize up to eight processors and disk space -- enabling higher-volume applications and eliminating the need for disk storage to be in highly redundant configurations. Other companies are also using virtualization as a "higher availability" platform, creating "availability platforms" that combine a hypervisor with clever software to create a universal way of turning any application into a continuous network service.
This is perhaps one of the greatest uses of virtualization technology since server consolidation. More organizations can get more immediate use from this kind of high availability (HA) than they can from Virtual Desktop Infrastructure, or VDI, another virtualization application that gets a lot more hype. This is, however, where organizations and decision makers have to start letting go of what I call "religious convictions." Just because, for example, you're a "VMware shop" doesn't mean you can't bring other hypervisors into your environment when they're part of a packaged HA platform. (Many vendors are building on the open source Xen hypervisor from Citrix, and solutions built on Hyper-V are doubtless in the works.) "The right tool for the right job" should be your watch-phrase, rather than a dogged commitment to a single vendor's products.
Don Jones is a multiple-year recipient of Microsoft’s MVP Award, and is an Author Evangelist for video training company Pluralsight. He’s the President of PowerShell.org, and specializes in the Microsoft business technology platform. Follow Don on Twitter at @ConcentratedDon.