In-Depth

Application Virtualization Hits Its Stride

Keeping a virtualized image clean just got a lot easier.

Virtualization has changed the way you deploy, test and recover operating system images. Now think about doing the same thing for an application. The application itself is virtualized, so it never physically changes the configuration of the host OS.

What does this buy you? No more application incompatibilities. No more DLL hell. Every application just works because it's isolated from the system and other applications, which protects you from unforeseen conflicts. You can deploy and install applications in a snap without worrying about user rights and privileges. Update them by simply replacing one virtual envelope with another. This also greatly simplifies application testing prior to deployment. Desktop instability could be a thing of the past.

You could even go beyond individual applications to IT infrastructure. How about the virtual patch? Consider how many hours you spend testing and deploying patches, and how many times those patches have problems. If you could virtualize patches, you could patch your servers and desktops without worrying about the ill effects of untested or incompatible patches. The patch runs in isolation from the rest of the OS and other applications. A virtual patch may not be foolproof, but it will almost certainly be a significant improvement over today's process.

Redmond looked at two application-virtualization products: Altiris Software Virtualization Solution (SVS) and LANDesk Application Virtualization. Both can separate individual applications or groups of applications, though each uses a different technique. This comparison looks at the advantages and limitations of the technology and the technical approach taken by both Altiris and LANDesk.

Altiris Software Virtualization Solution
Altiris (now owned by Symantec Corp.) has long been known as a desktop-management vendor. It takes that one step further by providing a way to manage applications on systems by shielding them from the underlying OS. By placing applications and data into managed units called "Virtual Software Packages," Altiris SVS lets you instantly activate, deactivate or reset applications, and completely avoid application conflicts without altering the base Windows installation.

Altiris Software Virtualization Solution
REDMOND RATING
Installation 20%
9.0
Features 20%
8.0
Ease of Use 20%
9.0
Administration 20%
9.0
Documentation 20%
8.0
Overall Rating:
8.6

——————————————
Key:
1: Virtually inoperable or nonexistent
5: Average, performs adequately
10: Exceptional

There are two versions of SVS. The free client version requires Windows XP Pro, Windows Server 2003, Windows 2000 Pro or Windows 2000 Advanced Server. The enterprise version incorporates a server side plus the client agent, and the server has to be Windows Server 2003. There's a 120-day free trial for the enterprise version, which is probably just long enough to get irrevocably hooked.

You can download the free personal version, along with a license key, from www.getsvs.com, www.downloads.com or from the Altiris Web site itself. It installs in just a minute or two and doesn't require any configuration.

For my first experiment with Altiris SVS, I turned to Firefox, the smallest and simplest image. I had an immediate need for an alternative browser, as I had to access a page that didn't work under IE. Firefox was installed on my Start Programs menu, so I launched it from there. It started up exactly as it would have if I had installed it directly on my machine, offering to transfer bookmarks from IE and make itself my preferred browser.

Figure 1
[Click on image for larger view.]
Figure 1. The Altiris Software Virtualization Solution Administration utility provides a simple interface for creating, deploying and activating virtualized applications.

Then I activated OpenOffice with the Admin utility. It also appeared in my Start Programs menu, so I launched the OpenOffice word processing program without difficulty. I created and stored documents directly on my hard disk, just as if the application was physically installed there.

The next thing to do is create your application packages. You can do this in three different ways. You can use the Admin utility, build from the command line or use the Wise Package Studio software (part of the Altiris family), which lets you create, edit and manage packages for virtual applications. Whichever way you choose, these packages let you run applications in a virtual environment with SVS. Creating packages is simply a matter of installing to the package, rather than to the system. I virtualized Office 2003 and Office 2007, which took some time, but I only had to do it once.

The results are impressive once you've set up your system and installed the software layers and packages. As an ultimate compatibility test, I installed Office 2003 and Office 2007 on the same computer, and ran them both at the same time. There were no conflicts, and I could copy data back and forth between the two.

One question that immediately came to mind was whether the applications were machine-specific or user-specific. To find out, I created another user account, which displayed Firefox as an installed application after I activated its layer. I launched Firefox from that account, and it captured and stored the data and settings on a per-user basis. Multiple users can have accounts on the same system, and not know or care that their applications are virtualized.

It Only Seems Like Magic
Altiris SVS works by creating virtualization layers. The layer represents all the files and registry settings that make up the virtualized application or data. The files and settings captured in a layer are stored in a redirection area on the hard drive. When a layer is active, the SVS file-system filter driver ensures that all files and settings appear on the system just as they would if the application was physically installed on the computer.

There are two sublayers within each application layer. The first is a read-only sublayer that stores files and static settings, like Registry keys. The writeable sublayer contains any files or settings you add. The virtualization software keeps track of all users, so each has their own unique configuration.

You shouldn't notice any difference between a virtual or physically installed application. Although you'd expect virtualization to burn more cycles, because there's more work going on mapping between the virtual and the physical, such a hit wasn't apparent in the applications I tested.

Once I reluctantly removed the application packages and the Altiris SVS, my system was the same as I had left it. The before and after images were virtually (no pun intended) -- if not exactly -- the same.

The technology isn't perfect, but there's enough here to get excited about its potential. There are three classes of applications it won't support. First, it won't virtualize device drivers, so printer and device installations will change the OS image. For now, it handles client and desktop applications, not the all-important server applications. And it doesn't support OS components.

Altiris says many applications in these categories actually do work, but the company hasn't been able to test enough to certify them as a class. In some cases, device drivers or OS components may load before the Altiris filter driver redirects. The company is exploring ways of addressing this, and anticipates having a comprehensive solution in the near future.

Windows Vista introduced a new device-driver model, so it doesn't yet support that OS, except in legacy mode. Altiris has been working with Microsoft on the new device-driver model, and expects to have its own mini filter driver to support Vista in the next release.

Every time I launched a virtualized application with Altiris SVS, my jaw dropped at the ease with which I could install and run new apps and have them appear as though they were physically installed on the system. It's good enough to put into place in the enterprise for many common desktop applications. Desktop administrators will love the ease of administration and maintenance.

LANDesk Application Virtualization
LANDesk Software takes a different approach to virtualization to generate a similar result. LANDesk Application Virtualization fully isolates the application from the underlying OS. It enables interaction, depending on the application's needs, but doesn't automatically provide the appearance of an actual, installed application.

LANDesk Application Virtualization
REDMOND RATING
Installation 20%
9.0
Features 20%
7.0
Ease of Use 20%
8.0
Administration 20%
8.0
Documentation 20%
9.0
Overall Rating:
8.2

——————————————
Key:
1: Virtually inoperable or nonexistent
5: Average, performs adequately
10: Exceptional

LANDesk's Application Virtualization is based on software from Thinstall (www.thinstall.com). I installed LANDesk Application Virtualization from a USB drive, and it installed easily in just a few seconds. Then I turned to working with the applications.

My first experiment here was also with Firefox, which came prepackaged with my software. LANDesk Application Virtualization doesn't automatically install to the Start Programs menu, but it's easy enough to set it up that way. It didn't execute as an initial launch, or give me the option of transferring the existing bookmarks on my system to the Firefox menu. You could use CaptureSetup to transfer a given set of bookmarks to the virtual package during installation, and have that same set installed on every target system.

The process to create a virtual-application package using LANDesk Application Virtualization is a bit involved, but certainly not difficult. LANDesk recommends that you begin with a completely clean system, with nothing installed. Run the Application Virtualization utility across the network from another machine, launch the CaptureSetup utility and perform a pre-install scan. This scan, which proceeds quickly on a clean machine, captures the machine state. Then you install the application on that system, with CaptureSetup running. After you've finished installing and configuring the application, run a post-install scan.

Figure 2
[Click on image for larger view.]
Figure 2. The LANDesk Application Virtualization tool for creating virtualized applications lets you take a scan of your system to capture its configuration before and after installation.

Application Virtualization captures the differences in system configuration between the pre- and post-install scans, and saves those changes to the virtualized application. This only takes a few minutes longer than installing the application itself.

I created virtual-application packages for Office 2003 and Office 2007, copied them over to another system, and ran both simultaneously. I did have to manually configure the Start Programs menu or any other shortcut to access the application, but both launched and were able to run at the same time.

Under the Covers
LANDesk Application Virtualization practices isolation from the rest of the system as its way of virtualizing an application. It uses three types of isolation. Full Isolation makes system elements completely invisible to the application. The application can't see or modify any part of the system. It copies the appropriate Registry keys and directory locations to a sandbox that the application can use and modify.

LANDesk Application Virtualization uses WriteCopy Isolation if an application needs to write to nonstandard locations, or if it needs to modify files and Registry keys that will create changes for anyone using the application on that system. WriteCopy lets the application see the physical directory and Registry settings, but makes any changes to virtualized copies.

Merged Isolation lets the application see the system directory and Registry and make changes if necessary. This is appropriate for applications that may have to write directly to the Registry for some reason. It posts entries to both the virtual and physical Registry at the same time.

Applications virtualized using the WriteCopy approach will save user-specific data and let multiple users have their own unique configurations on the same machine. However, you have to specifically set up the application that way and manually configure the shortcuts and Start Menu link.

Because Application Virtualization doesn't use a filter driver to virtualize the Windows file system, LANDesk's solution works on Windows Vista. In fact, you can virtualize a single application and have that one package work on any Windows OS from Windows 2000 on up through Vista.

At the same time, it's unlikely that LANDesk Application Virtualization will be able to do virtual OS patches (at least not all of them), given its focus on user-mode components. It's unlikely that OS patches will be able to run from user mode, even virtualized. The same is true for device drivers. There are different classes of drivers, though, so you may be able to virtualize some of them.

LANDesk Application Virtualization is a good solution that lets you use virtualized application packages across the Windows family from Windows 2000 on. You don't drool over its potential quite as much, but it gets the job done today.

Weighing the Two Approaches
What both Altiris SVS and LANDesk Application Virtualization do has the potential to revolutionize application packaging, distribution and administration. Anyone who would like to reduce their desktop maintenance and help desktop expenses could benefit from either.

Head-to-Head

Each product has its strengths and weaknesses. The Altiris approach makes an application look more like an installed app, but it currently only supports desktop and client applications. The LANDesk solution will run applications on more versions of Windows, but you have to manually configure shortcuts.

The Altiris product seems to have greater future potential, because of the possibility of virtualizing OS patches. It's simply mind-boggling to watch virtualized applications simply appear in the Start Programs menu once you activate them.

The LANDesk product is also a solid contender, although configuring the application requires greater manual effort. LANDesk may be the better choice if you have to support a wide range of platforms.

Featured

Subscribe on YouTube