By: Chris Maher
Application Virtualization technology has been available for almost a decade, but actual usage of the technology has been limited. Many companies that own licenses to use the technology have either not got around to implementing it or still haven't bought into the Return on Investment. As such, I'd like to address some of the main benefits of Application Virtualization.
Application Virtualization derives its name from decoupling the application from the underlying Operating System. Therefore, the application is never actually installed, and it executes in its own segmented virtual environment. Because the virtual application runs in its own environment, other applications on the system cannot "see" it. This enables applications that would normally conflict with one another to reside on the same machine. A great example of this is different versions of the Java Runtime Environment (JRE). Without Application Virtualization, if two different applications require different versions of the JRE, they need to be installed on two different machines. With Application Virtualization, the applications can reside on the same machine.
From a desktop perspective, this can really help with managing the environment. However, in a hosted environment, such as Citrix, the savings can be quite substantial. In a hosted world, the existence of silos is generally a direct result of applications that don't "play nice" together. With Application Virtualization, you can increase the number of applications that run in a hosted environment, thus reducing the number of actual servers that need to be managed.
Another advantage of Application Virtualization is the concept of streaming applications. In the traditional world, the entire application must be pushed to the target machine and installed. Depending on the size of the application, this can be a lengthy proposition. With Application Virtualization, the application can be broken down into blocks of data that are needed to launch the application (called Feature Block 1), and blocks of data that can come down upon request (known as Feature Block 2). Typically, Feature Block 1 can be anywhere from 10%-20% of the overall size of the applications. For an application that's 100 MB in size to be installed traditionally would require the entire 100 MB to be downloaded, and then have the installation run. With Application Virtualization, only about 20 MB of the application needs to be streamed, and then the application can run without any install. This benefit gets your users working more quickly.
Another big advantage, and one that typically gets ignored, is the improvement around managing the overall application lifecycle. Applications can be easily deployed to end users without having to worry about application compatibility, thus eliminating much of the remediation testing that occurs today. It can also be much easier to maintain after application deployment. In a streaming environment, if an application that has already been deployed needs updating, it only needs to be updated on the Streaming Server. Changes to the endpoints will be applied upon application launch. Finally, to reclaim an application from a user is a matter of flipping a bit to remove the application, without having to worry about completely uninstalling the application.
The last big advantage is about keeping the "Gold Image" gold. When an application is physically installed, files, registry settings, COM objects, etc. are all added to the Operating System. When the application is uninstalled, oftentimes remnants are left behind. With Application Virtualization, to remove an application from a device is as simple as removing a file. No residual components are left behind, which keeps the base Operating System clean, and as close to the "Gold Image" as possible.
I've covered some of the many benefits of Application Virtualization. Here's hoping that you're encouraged enough to start using it!