This is the first article in a two-part series that looks at the benefits and limitations of application virtualization....
This piece clears up some myths surrounding application virtualization. The second piece looks at vendors that are staking a claim in the app virtualization space and what you should consider before deploying their technology.
Think of all the issues IT shops run into when installing and managing applications and you'll have an almost identical list of ways application virtualization can counter those headaches.
Regression testing, DLL Hell, incompatibilities with the OS or hardware, or managing 25 different configurations for the same application are just a few trouble spots that virtualization at the application layer can address. It's no panacea, though, say those that have hands-on experience deploying the technology.
The story of the CIO or IT director becoming a virtualization zealot following a seminar has become all too familiar to IT consultant Ty Schwab.
"This IT director wanted to virtualize every single application after a seminar he went to," said Schwab, CEO at virtualization systems integrator Blackhawk Technology Consulting in Eugene, Ore. "I said sure, you can virtualize Office 2007, Adobe Photoshop and the Oracle database, but you can't virtualize applications like antivirus and the firewall because they can't be isolated."
Fundamentally, application virtualization isolates an application and the files and settings it needs to run so that it does not interact with an underlying operating system, other applications and in some cases hardware. The virtualized application can reside on the desktop in a bubble or it can be streamed down from a server to a remote user on just about any device or to the local drive.
Gotchas and mistaken notions
There is a range of issues that IT managers should contemplate before heading down the road to application virtualization. For example, when an application is isolated in a bubble, it can create problems particularly if it has dependencies on hardware or it needs to continuously scan, like AV or firewalls.
Also, aside from the mistaken notion by some that any application can be virtualized is the myth that IT shops can cut out deployment steps such as installing to the client or repackaging and redeploying applications. Almost all of the application virtualization technology available today, such as Microsoft SoftGrid, Citrix Presentation Server 4.5 and Altiris Software Virtualization Solution, requires a client agent installation.
"I've had customers looking at their [vendor] options who say 'You mean we have to go back and repackage all the applications, remove the old ones and redeploy them virtually?'" said Scott Jones, product manager for Altiris SVS, which is now owned by Symantec Corp. "We've done a fair amount of work to make repackaging as simple as possible, but still, having to remove, redeploy and repackage applications is a barrier to adoption."
Jones said he advises IT shops to move to virtualization during their next hardware refresh or software migration. "If an IT shop is deploying a new OS image anyway, they will tend to virtualize their applications at the same time."
Custom applications also have the potential to create some hassles for IT shops trying to create virtual environments.
Application virtualization can resolve incompatibility issues between a custom application and a new OS. One healthcare provider, for example, was able to save an $800,000 investment made in a custom patient prescription and medication tracking application by using Thinstall's Application Virtualization Suite.
Thinstall technology wraps an application into an executable file, keeping it separate from the underlying OS, in this case Vista. Instead, the application ran as if it was still on XP, Schwab said.
Still, the redeployment to Thinstall took two months of software testing and writing scripts to make it work in the new virtualized program, Schwab said.
This is not an uncommon development cycle for custom application virtualization. Most of the deployment problems Chris Ward, solutions architect with systems integrator at GreenPages Technology Solutions, runs into during a SoftGrid or Citrix Presentation Server 4.5 deployment is with custom applications.
"It's not so much the virtualization technology, but how the home-grown application was developed," Ward said. "You run into apps that just can't be virtualized because the developer didn't stick to best practices for coding or registering DLLs or wrote the application so it requires the client or user to have administration rights."
Giving users admin rights is a noted drawback, since it's beneficial to IT managers to remove administration rights from end users to prevent them from playing with the configurations. When an application can be virtualized, administration rights become a mute point. Users are only able to customize within their own application bubble, whether that app is streamed from the network or put on a local device.
"Even if a user does end up doing something that corrupts the application, it doesn't affect the original configuration," Schwab said. "A new copy of the original image can be streamed down to them."
This translates into a huge reduction in remediation work for the help desk, Schwab added.
Application communication breakdown
The most significant drawback to application virtualization is the inability of a virtualized application to communicate with other applications, said Michael Rose, analyst with IDC out of Framingham, Mass. For example, if Excel is isolated virtually and the user attempts to click on a hyperlink to talk to Internet Explorer, it is unable to follow that link, Rose said. "This is a significant limitation of the technology that is being worked on by many vendors," he said.
With much of the out-of-the-box application virtualization technology, the inability to communicate between applications is indeed a hindrance. But, Schwab said, with some added functionality and scripts it can be done.
"You can write a Visual Basic script so that every time you run one isolated application, it goes outside and starts the Explorer application, which can be in its own isolated environment," Schwab said.