Application virtualization makes it easier for IT to manage VDI images, but it also introduces a few challenges. IT might want to turn to app layering instead.
Applications have always presented a challenge for VDI. Early on, applications were commonly embedded within virtual desktop images. This approach was impractical, however. When IT wanted to patch an application or upgrade it to a new version, IT needed to recreate the image.
As VDI has gained more traction, organizations are beginning to embrace application virtualization as a way to ease application management. Application virtualization encapsulates applications in a way that allows them to run on top of a virtualization layer, while also creating the illusion that the application is still running directly on top of the virtual desktop operating system.
Challenges of virtualized apps
Just as virtual machines that run on top of a common hypervisor are isolated from one another, so are virtualized applications that run on a virtual desktop. Each application is effectively sandboxed from the other virtualized applications that are running on the system.
In some cases, admins may want to use application sandboxing. The isolation boundaries of a sandbox might improve security, for example. Isolating applications from one another can also make it possible to run otherwise incompatible applications side by side.
Some applications have dependencies on one another, however, and isolating those applications can break those dependencies. Even if there are no direct dependencies, there are often benefits to running applications within a common user space. For example, a user may need to copy data from one application and paste it into another.
Some organizations initially got around the problem of application isolation by grouping applications together into a common virtualization package rather than virtualizing each application independently. This approach had mixed success. On one hand, grouping applications enabled them to interact with one another. On the other hand, it also increased the complexity associated with application management. If an IT admin needed to patch even one application in a bundle, he or she would have to redo the entire bundle.
Bundling applications together requires IT to know which applications need to be bundled together. This sounds obvious, but knowing which applications have to interact with one another requires more than just knowledge of the application dependencies. It also requires IT to understand how the users engage with the applications.
How app layering works
A more effective approach to application management is application layering. App layering works differently depending on the product that IT uses. In general, app layering commonly uses differencing disks to layer applications onto the operating system.
First, a virtual desktop's operating system is installed onto a virtual hard disk. When IT uses app layering, this virtual hard disk acts as the first of three or more layers.
The second layer is usually the application layer. The application layer contains application binaries, as well as their supporting components, such as dynamic-link library files. Depending on the product that IT uses, there may be a separate virtual hard disk file for each application.
The third layer of the stack is a data layer. The application layer and the virtual disks that make up the application layer are commonly treated as read-only. This protects the integrity of the application binaries and the operating system. The data layer handles all of the write operations. It may act as a part of the user's operating system profile or it might simply contain transient system data.
App layering does not sandbox applications in the way that application virtualization does. Applications are able to interact with one another just as they would if the applications were installed directly on the operating system. With app layering, IT can manage applications individually and more easily perform operating system image management.