Evaluating Application Virtualization in Windows Environments
Evaluating Application Virtualization in Windows Environments
Virtualization has proven its worth in the data center, essentially giving enterprises a tool that enables them to reduce overall costs while increasing their computing capacity.
In recent years, virtualization has spread beyond servers into such areas as storage, desktops and applications. However, at the application level, work still remains before real ROI can be achieved. As a technology, application virtualization is steadily advancing in sophistication. But my work with most of the application virtualization tools available today shows that they do not provide the hardware, deployment or maintenance savings found in server virtualization.
However, major players are moving into the application virtualization space. Microsoft, Citrix Systems, VMware and Symantec have all added application virtualization components to their lineups, mostly through acquisitions of the technology over the past 18 months.
Virtualization, when applied to applications, does two things that make it worth testing in a pilot program. First, it isolates applications from the underlying end-user Windows operating system. It also streams a clean copy of the applications from a central repository to the end-user system. The ability to rapidly reprovision users can significantly lower desktop management costs in the case of user misconfiguration or malware infection.
Right now, application virtualization is primarily a technology for Windows environments, thanks to the prevalence of the operating system. Application virtualization is meant to smooth software testing, deployment and patching across large numbers of managed desktops, and such desktops-almost without exception-run Windows.
There are several reasons to pay careful attention to application virtualization technology, and one of them may be cost reduction. Many application virtualization tools enable some kind of "just in time" delivery of centrally stored and managed applications to end-user systems at startup. This technique could significantly reduce the number of images and the amount of time needed to provision new workers.
Administering App Virtualization
Most application virtualization tools use Active Directory or LDAP to associate users with applications based on centrally administered policies. The imminent release of Windows 7 this year or in early 2010 will be a trigger to reconsider "business as usual" in desktop and application management. Using traditional desktop management tools, IT managers who make the transition to Windows 7 will need to create and manage Windows 7 images. Therefore, using application virtualization to decouple applications from operating system deployment and imaging is worth considering.
Application virtualization also is often a fundamental component of VDI (virtual desktop infrastructure) projects. Application virtualization is usually the technology that enables the virtual desktop to be configured with the particular application needed by individual users. Experimenting with stand-alone application virtualization tools can provide IT staff members with a good understanding of how the operating system and applications are married together to aid end-user productivity without implementing a complex testbed. In most cases, application virtualization will be a component of any successful VDI solution.
Another factor to consider is that, along with VDI, application virtualization is a component of many so-called cloud computing initiatives. When application virtualization is successful, it encases the application in a bubble that is effectively separated from the local hardware. These bubbled applications can still interact with other applications and local resources, such as printers or USB drives. It is a relatively small step to then host these virtualized applications in remote data centers or as a so-called cloud resource.
This is a glimpse of what the future may hold for central application deployment.
Regarding the ability to quickly reprovision users, at the discretion of the IT department, users may be allowed to customize the application, or the application may be delivered with customizations depending on IT-created policies that take into account job function, physical machine location and the type of physical devices the user is logging in from.
Separating applications from an intimate connection to the Windows operating system is really something the operating system should do, and often tries to do. While the ".dll hell" of Windows 98 is largely a memory "bit rot," the interfering detritus that Windows applications tend to leave behind as versions are upgraded-or older versions are removed and new versions are installed-still impedes user productivity.
Application virtualization can significantly reduce this effect because the application is not installed on the end-user system. In fact, this ability to provide a centrally managed version of an application that is provided on demand to the end user may prove to be the saving grace of application virtualization.
However, in this current economic period, IT managers should very carefully evaluate application virtualization products from vendors large and small. If a pilot project does not reveal substantial desktop cost reductions, it is advisable to focus for now on making incremental improvements in existing desktop management tools.
Real Costs of App Virtualization
There are three parts to determining if the money saved by using application virtualization is less than conducting business as usual using conventional application management tools. First, determine how much IT time is used today to conduct regression tests to ensure that new or updated software will not interfere with already installed software, which could impinge on ROI.
IT managers next need to determine the amount of support time-along with lost user productivity-that is needed to remedy the inevitable problems that are missed in regression testing. More difficult to measure, but worth considering as part of the equation, is lost productivity attributable to delayed implementation of new products while this testing takes place.
Finally, determine how much support time and productivity is lost when users muck up applications through misconfiguration, and add the amount of time and labor required to recover end-user systems because of viruses and other security compromises.
The dirty secret, if you will, of application virtualization is that there are other costs that must be factored in to the overall cost of the application virtualization project. Applications must still be packaged or sequenced and prepared for virtual deployment, just as in the days of old. Applications must still be tested to see if they work correctly when virtually affixed to the large variety of end-user systems where they may land.
And, although application virtualization vendors are loathe to admit it, there is some sort of software agent that must be present on the end-user system for all this technology to work, so figure in the (often minimal) cost of deploying and maintaining the agent.
While the agent is often not installed (though sometimes it is, as is the case of Microsoft's App-V), there is an agent. In many cases, virtual application products will use existing software deployment tools to provide virtualized applications-or components of virtualized applications, such as icons or desktop shortcuts. While this is rarely a requirement for using application virtualization, the per-seat costs of the software deployment solution must be factored into the cost of the application virtualization tool.
Also, keep in mind that providing centrally managed applications on demand requires plenty of reliable network bandwidth. In addition, when using the infrastructure platforms, such as Microsoft System Center, Novell's ZENworks or Citrix's application delivery infrastructure, there is usually plenty of hardware, licensing and implementation planning needed to support secure, reliable application delivery. My testing experience has shown that the rather costly and cumbersome management of application virtualization assets should be done much earlier in the implementation process than with server virtualization.
The isolation techniques used by application virtualization can make it easier than relying on Windows to keep new applications or updated versions of already deployed applications from interfering with each other. In many cases, some applications need to work together. Overcoming this isolation so that applications can interact with each other is where the biggest recent advances have been in application virtualization.
A challenge that lingers over application-and even desktop-virtualization that is significantly different from server or storage virtualization is that of disconnected operation. Applications need to be used everywhere, including off the network. Application virtualization vendors are working to overcome the nontrivial challenges of taking applications off the network while still providing a good method of synchronizing changes when reconnected.
Right now, some platforms, such as Citrix and Novell's ZENworks, enable users to use applications offline. There is a significant amount of additional work and infrastructure needed to make this happen, and it represents a significant technical challenge for IT administrators.
Offline operation also raises significant challenges for the enforcement of security and data use policies, which is likely a business driver for pursuing virtual application delivery.
Technical Director Cameron Sturdevant can be reached at firstname.lastname@example.org.