Application virtualization lets IT administrators deliver apps directly to PCs and mobile devices through remote access technology. But what is a virtual application and how does it work?
Organizations that want to give users access to specific line-of-business applications can virtualize them to make delivery a little easier. Although getting the infrastructure and resources necessary to virtualize applications can be a little costly, it has many upsides for IT admins and very little effect on users.
What are virtual applications, anyway?
Generally speaking, a virtual application is a program that's accessed over a network so it appears -- and usually behaves as if it were -- entirely local to users. What makes virtual applications interesting is that they often require supporting infrastructure that might itself be local: It normally lives alongside the application on the same platform, such as the .NET Framework or Silverlight environments. In other cases, the supporting infrastructure might be networked with links to other services, such as message queuing, databases or networked storage, all of which require real-time communications between the application and the services it consumes.
Simply put, a virtual application is one that typically resides elsewhere on a network rather than on a device. The application is either streamed in bits and pieces to a client as elements are invoked or it's downloaded to a client when a user runs the application. According to most vendors that provide runtime environments to support virtual applications, the applications give on-demand access to programs as and where they're needed, with no need for them to be present when they're not in use. IT can centrally configure, deploy and manage virtual applications, which make them easier to work with than programs physically installed on individual machines.
How do virtual applications work?
Virtual applications are typically defined in terms of a package or formal description, very often using some kind of XML notation. The package identifies the code to be run, resources to be used, links to be delivered and activated, configuration information, access controls and so forth. In the background, a management application or console requires IT to install, configure, provision and establish access controls to allow for application access when it receives a valid request from an authorized user.
From the user perspective, there is little or no noticeable difference between running an application locally and running it virtually. Applications may experience delays resulting from network download times, but downloads are usually carefully orchestrated to minimize frustration on the client end.
Microsoft Office 365 is a good illustration of this kind of technology for those who may be unfamiliar with application virtualization. With Office 365, a valid subscription ID is all it takes to run whichever Office components a user's account enables -- Word, Excel, PowerPoint and others -- in virtual form over the Internet instead of direct and local on the Windows desktop.
Benefits of virtual applications
In many cases, the business end of a virtual application resides in the cloud somewhere, as do the files, configuration data, services and other elements that appear on an end-user's desktop. This provides some additional benefits to organizations beyond the upsides that come from centralized management and control:
More on virtual applications
What's app streaming?
App virt breakdown: XenApp vs. ThinApp vs. App-V
Application delivery options
Best practices for virtualizing applications
Isolation. Virtual applications don't interact much with the local runtime environment on the user's host machine, so local security threats or exposures are far less likely to affect them. This also permits users to run incompatible programs in separate virtual envelopes, which can even include multiple and incompatible versions of the same program.
Install once, use many times. IT creates a reference install for a virtual application on the host server and needs only to manage and publish it once to make it available to all the users who need it -- subject to license restrictions, of course. Updates, changes and even license management are likewise centralized, and there's no need to manage installations on individual end-user machines.
There when it's needed, gone when it's not. Virtual applications consume no disk space or other system resources on a client when they're not actually in use, which reduces their storage and resource footprints substantially.
Readily available and easy to use. Employees can click on an icon or select a menu item to launch a virtual application the same way they would with a local installation. There's no learning curve for users, and if virtual apps are properly configured and packaged, performance is almost the same as in local installations.
What's the catch? Working with virtual applications does involve at least one server designed to manage, deploy and serve the apps up to end users on demand. It can be expensive to acquire and learn this kind of technology, but it is often the only way to maintain legacy applications in environments where local installations aren't feasible. Despite the costs, many organizations decide that virtualizing applications makes good business sense.