From the user's perspective, the application works just like it would if it lived on the user's device. The user can move or resize the application window, as well as carry out keyboard and mouse operations. There might be subtle differences at times, but for the most part, the user should have a seamless experience.
How application virtualization works
Although there are multiple ways to virtualize applications, IT teams often take a server-based approach, delivering the applications without having to install them on individual desktops. Instead, administrators implement remote applications on a server in the company's data center or with a hosting service, and then deliver them to the users' desktops.
To make this possible, IT must use an application virtualization product. Application virtualization vendors and their products include Microsoft App-V, Citrix XenApp, Parallels Remote Application Server, and VMware ThinApp or App Volumes -- both of which are included with VMware Horizon View. VMware also offers Horizon Apps to further support app virtualization.
The virtualization software essentially transmits the application as individual pixels from the hosting server to the desktops using a remote display protocol such as Microsoft RemoteFX, Citrix HDX, or VMware View PCoIP or Blast Extreme. The user can then access and use the app as though it were installed locally. Any user actions are transmitted back to the server, which carries them out.
Benefits of app virtualization
App virtualization can be an effective way for organizations to implement and maintain their desktop applications. One of the benefits of application virtualization is that administrators only need to install an application once to a centralized server rather than to multiple desktops. This also makes it simpler to update applications and roll out patches.
In addition, administrators have an easier time controlling application access. For example, if a user should no longer be able to access an application, the administrator can deny access permissions to the application without having to uninstall it from the user's desktop.
App virtualization makes it possible to run applications that might conflict with a user's desktop applications or with other virtualized applications.
Users can also access virtualized applications from thin clients or non-Windows computers. The applications are immediately available, without having to wait for long install or load operations. If a computer is lost or stolen, sensitive application data stays on the server and does not get compromised.
Drawbacks of app virtualization
Application virtualization does have its challenges, however. Not all applications are suited to virtualization. Graphics-intensive applications, for example, can get bogged down in the rendering process. In addition, users require a steady and reliable connection to the server to use the applications.
The use of peripheral devices can get more complicated with app virtualization, especially when it comes to printing. System monitoring products can also have trouble with virtualized applications, making it difficult to troubleshoot and isolate performance issues.
What about streaming applications?
With streaming applications, the virtualized application runs on the end user's local computer. When a user requests an application, the local computer downloads its components on demand. Only certain parts of an application are required to launch the app; the remainder download in the background as needed.
Once completely downloaded, a streamed application can function without a network connection. Various models and degrees of isolation ensure that streaming applications do not interfere with other applications, and that they can be cleanly removed when the user closes the application.