When virtualizing applications is a good idea -- and when it's not

Virtualizing applications can bring a lot of benefits, but take a step back and assess your environment and delivery options before going for it.

Everything from networking to servers to storage has some type of virtualization option available, and knowing when to use those options is becoming as much an art as a science.

To virtualize or not to virtualize is the question facing many enterprise IT managers. As they delve further into the options offered by virtualization vendors, one thing becomes abundantly clear -- virtualization is only worthwhile when it delivers a measurable benefit.

Nowhere does that prove truer than with application virtualization, a technology that abstracts applications from operating systems and hardware. To figure out whether a certain application should be virtualized in your environment, you need to know the pros and cons of app virtualization.

App virtualization pros

Flexibility. It allows applications to run on normally incompatible environments, such as running a Windows application on a Linux device. Virtualizing applications also provides the ability to run incompatible applications side by side, with one never impacting the other.

Isolation. It isolates the application from the host environment, providing better security and reducing the chances that an application error crashes the entire system.

Resource dependency. Virtualized apps are less resource dependent than a complete virtual machine, giving the benefits of virtualization without introducing all of the overhead.

Easier deployment. Virtualized applications are made available as a complete entity, with its own operating system, isolated from other applications. Deployment consists of basically running a hypervisor to launch the virtual application.

More granular security. Virtual applications have security policies applied directly against the container to prevent execution. Also, users can be given rights to just the virtual applications they need to launch and no other network resources.

App virtualization cons

The benefits of application virtualization make the technology sound like the best thing since sliced bread, but there are some significant downsides.

Not every application can be virtualized. Some applications make direct hardware calls, have to run in shared memory space or require a dedicated device driver that is only compatible with a specific device. Examples include point of sale solutions, scanning and other data-capture products.

Native integration. Some applications rely too heavily on native integration into a particular operation system and rely on direct calls to the OS to function properly. Computer-aided design and video-editing software are prime examples.

Compatibility. In many cases, application virtualization only solves compatibility issues that are related to file and registry controls. For applications that directly control dynamic memory access, virtualization will not eliminate those calls and may cause system crashes.

Licensing. Application virtualization makes it very easy to "clone" and deploy applications, however, it also makes it easy to violate user count licenses.

So, do you need it?

For many organizations, the pros may outweigh the cons, making the decision to virtualize applications a simple one. Nevertheless, the argument to virtualize starts to lose strength as you consider more applications. Another obvious question is whether or not the application can be virtualized. Finally, consider what benefit virtualization offers.

More on app virtualization

FAQ on application virtualization

Comparing app virtualization tools

Q&A: Discussing app streaming vs. remote delivery

For example, if you're rolling out virtual desktop infrastructure, application virtualization begins to make very little sense, because the desktops are already virtualized. If you are considering hosted or cloud-based applications, that may be a better fit for the users and eliminate much of the infrastructure needs surrounding virtualized applications. Other cases where app virtualization may not be necessary are if you're deploying Web apps or Software as a Service.

However, there are probably an equal number of cases where application virtualization makes a great deal of sense.

BYOD. In a bring your own device (BYOD) program, applications can be seamlessly delivered to staffers’ personal devices, eliminating the need to manually install software. Plus, corporate IT still has full control over the application, granting the appropriate rights when that app can be used and even supporting temporary worker initiatives.

Multiple-OS environments. Another example is for organizations running multiple operating systems and multiple versions of those operating systems across desktops. Application virtualization can become a stop-gap methodology, allowing IT staffers the time and flexibility to perform OS upgrades across the enterprise, all without interrupting the productivity of business application users.

Changing workloads. Enterprises that commonly work with external contractors, create temporary partnerships, and scale up and down based on seasonal needs can also benefit from application virtualization. The technology enables elasticity for those enterprise applications to meet temporary growth or temporary declines in user counts.

Migrations. Application virtualization can also be helpful during major application migrations, where a business needs to run a legacy application while transitioning to a new application. Here, the business can virtualize the legacy application and have it run side by side with the replacement application on newer hardware (and a newer OS), making the transition easier for IT and the end user.

Application virtualization is very useful, but only for certain use cases. It should not be thought of as a fix-all measure, but more of a stop-gap solution for businesses looking toward the future.

Dig Deeper on Application virtualization and streaming