The Benefits of Application Virtualization
Advances in client and server management and OS virtualization have made software deployment easier, but problems with application compatibility and manageability persist. Application virtualization prevents these problems.
August 29, 2007
In the past few years, client and server management have changed dramatically. In the "olddays," file servers housed installation software, and administrators installed applicationsmanually or used logon scripts to deploy them. Now, Active Directory (AD) and Group Policy let you more easily assign and publish applications to computers, and Microsoft Systems Management Server (SMS) provides an even better solution, with more granular and sophisticatedsoftware deployment and progress reports.
Although these technologies help deploy software, application compatibility and manageabilityconcerns remain. (For example, how do you patch an application? Will the application work ifanother application is installed? Is the application compatible with Vista?) Whenever you install anapplication, components are registered to the machine; executable files, DLLs, and other files arecopied to the file system; and information is written to the registry. When you upgrade or uninstallan application, information is left behind. Over time, computers become polluted with leftover files,registry information, and registered components that can cause compatibility problems.
Virtualization has also improved recently. Traditionally, OS virtualization has been useful for twokey scenarios: consolidation and testing. In the past, each major application ran on its own server,which was expensive from both a hardware and a licensing perspective. Now, virtualization letsyou run multiple "sandboxed" OSs on one physical server. Application compatibility problems don'toccur because although several applications are running on a server, each application is runningon a virtual OS, with its own hard disk, registry, processor, and memory resources. For testing,virtualization lets you run multiple OSs (e.g., Windows XP, Windows 2000 Server, Windows 95,and Vista) all on the same system, as well as run multiple test environments concurrently.
Running applications in a virtual OS sounds like it would solve any application compatibilityproblems—which might work for one application, but what about ten? You need to consider theoverhead, memory usage, and disk space required. In addition, you must manage, patch, andprotect each OS instance. And although applications are sandboxed in the OS, the OS's entireenvironment is also sandboxed, which makes it difficult to save documents or data created in theapplication to the host computer's local file system.
The best solution is to virtualize applications, which lets each application run locally on thecomputer. This solution is different from terminal server–style application publication (also knownas server-based computing), in which applications run on the terminal server, with output sent tousers' computers. In server-based computing, single points of failure occur because applicationsreside on the terminal server. In addition, resources are wasted because the workload occurs onthe terminal server, while users' computers sit idle. Also, users who are working offline can't runany applications that are hosted on a terminal server.
Application virtualization prevents these problems. A virtualized application runs on the user'smachine like a regular application, but in a sandbox environment that prevents installation to thelocal OS. Microsoft's SoftGrid is an application virtualization solution.
About the Author
You May Also Like