High availability -- redundancy that is critical to contact center reliability -- is another challenge in virtual environments, Wolf says. "Your typical high-availability solution today is only able to detect failure of the physical server and relocate the virtual machine as a result of that," he says. "In general it has very little insight into what is happening inside the virtual machine."
The virtual machine as black box
The virtual machine is treated as a black box, he says, which means an application can hang up inside a virtual machine without the high-availability software knowing about it. "That virtual machine would continue to operate as if nothing is going wrong," he says.
Similarly, if server hardware fails, the virtual environment needs to respond quickly to maintain calls, Wolf says. "What I mean by that is if there is a partial failure on the physical host I don't want complete loss. I might have, say, a network card go down, which in a contact center can be critical in terms of the amount of I/O I'm going to lose," he says.
In that case it would be desirable to live migrate the virtual machines on the affected host to a healthy machine. One solution called continuous availability keeps a hot standby virtual machine ready in the same state as the active virtual machine.
"With that I'm able to run a single VM on multiple physical nodes simultaneously and keep that virtual machine in lockstep so if I do have a physical node failure, the VM continues to run, and I do not lose any application state as a result," he says. Marathon Technologies has such a product, he says. "That's the type of intelligence that still needs to evolve," he says.
Beyond server virtualization, virtualizing the desktops of contact-center agents can produce further benefits but requires care to avoid degraded voice quality, says Robert Iglehart, senior vice president of IS at Thomas L. Cardella (TLC) & Associates, a contact-center provider in Cedar Rapids, Iowa. The firm uses Citrix desktops for the business applications used by agents, but relies on Avaya hard phones for voice.
"There's enough other things to worry about than to worry about what's the person hearing from me at the other end," he says. "Am I cutting out? Is there a big delay? Are we having a walkie-talkie effect? We just really don't have any tolerance for that, and that's what's keeping us from virtualizing the voice."
For contact-center applications that are not demanding of CPU, virtual machines are ideal, Iglehart says, for all the same reasons virtual machines are used in general -- redundancy and moving virtual machines on the fly as capacity demands.
"It's more reliable because you're concentrating your applications in the data center on better equipment. Storage is put on a SAN. "You don't have desktops on agent stations getting beaten around every day," he says.