Application Virtualization Has Its Ups and Downs


Application virtualization is widely seen as the next step beyond the virtual desktop. But be careful. The technology is still very new and may not work equally well with all apps or in all environments.


A good primer on the latest developments in application virtualization is this article on Processor.com. It offers a good rundown on both "agentless" technology that avoids many of the hardware/software configuration hassles by providing everything the app needs to run, and hosted solutions that ease up on the transport burdens. Both of these technologies are very appealing to small businesses that lack the resources to implement and manage complex networks.


Eventually, application virtualization could out-class today's server virtualization, according to Citrix' Jeffrey Muir. Virtualizing the operating system level or above removes many of the drawbacks to hardware virtualization, namely the challenge of emulating hardware and opcode instructions, not to mention the often complicated management of virtual machines that may or may not communicate with each other very well. App virtualization doesn't waste storage space with virtual disks, and you avoid completely the licensing issues surrounding the use of OS's on multiple hosts.


This is all well and good, but let's not overlook the downside, says Michael Pietroforte, head of library IT at the University of Munich, Ludwig-Maximilian. You have to consider the added burden of managing a rather complex software layer, mostly for applications that were never meant to be virtualized in the first place. If something goes wrong, some vendors might not offer support if it's being run in a virtual environment. And since you are no longer running the app within the OS shell, integration will have to happen some other, usually complicated, way.


You might be better off sticking with Java, says Thomas Gaffneyat at Ireland's DeCare Systems. Application isolation? Java's got it. User mode execution? Java. Network streaming? 64-bit support? Dependency definition? Java, Java, Java. Those of you with multiple machines under a Windows environment and untold numbers of applications might get some value out of app virtualization, but only for day-to-day productivity tools. Certainly not for your core business systems.


So as usual with advanced technology, there's some bad mixed in with the good. But as I mentioned, it's still very new, and it will likely see a few more years of development before it enters widespread distribution.