What Is VMware App Volumes?
Faster delivery, lower costs
is an application packaging solution that provides real-time application delivery and life-cycle management for digital workspaces. App Volumes provides faster application delivery and simplified and unified management of apps and users, while at the same time reducing IT costs. App Volumes does this by abstracting Windows applications from the base operating system and delivering those applications through virtual disks. This is a different way of doing things, which enables you to streamline your golden desktop image and manage it separately from the applications.
This introductory demo gives you an idea of what VMware App Volumes can do for you and your organization:
App Volumes can be integrated with a variety of digital workspaces, such as VMware Horizon®, Horizon Cloud Service
™ on Microsoft Azure, Citrix Virtual Apps and Desktops, and Remote Desktop Service Hosts (RDSH). The App Volumes architecture is different for each integration. This document focuses on one of those integrations: vSphere-based VMware Horizon environments.
A different way of doing things
With VMware App Volumes, we’re changing the application delivery process. Traditionally, you would install all of your applications into a base operating system. That would also include customizations for user profiles, app settings, and so on. When you needed to change or update the OS down the line, you had to consider all the applications embedded in it. And likewise, when you wanted to update an application, the changes had a ripple effect across the OS it was embedded in. Problems included:
- Maintaining and updating large numbers of applications
- Having to create multiple images to manage everything
- Handling desktop pool sprawl for all the different use cases
- Providing consistent, highly personalized desktops, applications, and suer settings
App Volumes solves the traditional application delivery problems by doing things in a different way: delivering applications through virtual disks. Instead of installing applications on a golden image (which can cause sprawl), or on individual desktops (which is costly and time-consuming), you install it once. You capture that in an image, and apply the image to hundreds and hundreds of desktops. That means you can update it once, and roll the updates out to all end users. And you can end-of-life it once, in the same way.
Figure 1: Real-time app delivery and simplified app lifecycle management
App Volumes attaches containers called packages with applications to your virtual machine, and those applications are displayed live to the end user. Applications are delivered by attaching a standard VMware Virtual Machine Disk File (VMDK) or Virtual Hard Disk (VHD) file to a virtual machine. You can centrally manage the applications, and there’s no need to modify the desktops or individual applications.
All Application Programs are packaged as fully installed, and delivered in real-time to the user's session. A key benefit is that to end users, the applications that App Volumes delivers look and feel like natively installed applications.
How does App Volumes provide this new approach? App Volumes boasts a number of unique features that help manage application delivery – packaging, organizing, and managing lifecycles of Windows applications –in a different way. Three of these features are applications, packages, and programs.
Applications, packages, and programs
You start with an application, a software tool that you want to assign to users, groups, computers, or organizational units (OUs). You can make those assignments in a couple of different ways: based on a marker or a package assignment. Each application contains one or more packages. Version numbers are designated at the package level, not the application level.
Figure 1: Applications, Packages, and Programs
One or more packages are embedded within the application. Each package is a read-only volume that stores a particular version of the application. Where there are multiple packages in one application, one package is designated as the marker. Each package stores one or more programs required for an application to run.
A package can be delivered to multiple virtual machines and users. For example, you can assign core applications to everyone in your organization, departmental applications to specific user groups, and make one-off user assignments of specialized applications to individual users with specialized roles.
You can insert multiple executable programs within each package, which are the software pieces required for the application to run.
For example, the following diagram shows the OpenOffice application. Embedded within this application is the package containing version 4.1.0 of the OpenOffice app. Embedded within the package are the program executables: Writer and Calc.
Figure 2: A single application within a package
Organized into a single-app package like this, the application is separated from the OS and from other applications. That makes it possible for you to manage it separately, update it separately, and deliver it to users, based on their individual assignments and demand. This increases the number and speed of attachments, supports both single app packaging and combined apps, and improves admin experience managing complete application lifecycle.
What happens when an updated version of the application is released? Using App Volumes, it is easy to roll out the updated version 4.1.13.
Figure 3: Multiple packages within an application
The second package has its own versions of executable programs embedded within it. With multiple versions of the package inside the application, you can control which version (package) each user gets the next time they launch the application.
This gives you granular control and flexibility in how you update and manage your applications over application lifecycle, and is especially useful for applications that require frequent updates.
Capture and target machines
The capture machine, sometimes called a packaging machine, is a clean virtual machine that is used for application installation and capture. To deliver applications to users, you capture (install and later update) an application on the capture machine, and distribute the package of that application to multiple other virtual machines that are of similar OS type and version as the capture machine. You can use a single capture machine to capture many different applications and their respective packages, achieving one-to-many provisioning.
Classic and on-demand delivery
There are two primary methods of delivering app packages to target machines: classic and on-demand.
Classic delivery happens as the user logs in or boots up their virtual machine. It can slow down login time, depending on how many applications are attaching at the launch of the virtual machine. In addition to possibly overloading the machine with too many attachments, the classic delivery method also attaches all the applications that users are entitled to, regardless of whether they need them or not. We’re also attaching all the applications that the user might not be needing during that session. So, creating a lot of overhead that is not actually being used.
On-Demand delivery happens as the user launches the application. This results in a faster login time because the applications are attached as the user calls them after logging in. It does slow down the loading time compared to loading the application natively. The benefits from this trade-off are that you can deliver the same application with the same configuration to every virtual machine. The slow-down occurs only when the application is requested, and users receive only what they need and ask for during that session. They don’t have to wait for a delay caused by applications that they don’t even need.
In addition to assigning applications to a user, you can also assign a writable volume to a user. A writable volume is an empty read-write VMDK or VHD file which is then available to that user from any device upon login. The writable volume persists any changes written during a session, including personalized data such as the user profile, licensing, configuration, user-installed applications, and other settings. You can assign only one writable volume per user. The writable volume mounts to the virtual machine when the user authenticates to the desktop, allowing the user to access data and user-installed applications across sessions and devices.
Traditionally, desktop components – such as applications, user data, and custom settings – were tightly coupled with the operating system. App Volumes decouples that arrangement, separating the applications into packages, which you can define. App Volumes uses an entirely different package for persisting user changes between sessions.
As an IT admin, this makes it easier for you to apply updates, and to make small changes to individual applications quickly. It means you can update or modify these elements without creating a whole new desktop image, and make these updates or modifications available to your end users that much faster. App Volumes reconstitutes each element on-demand when your end users need it. You can deliver just-in-time desktops and applications across any infrastructure topology, and to any device.
Provides powerful, streamlined app and user management
Whether your virtual desktop and RDSH/published application environments are powered by Horizon or by Citrix Virtual Apps and Desktops, App Volumes simplifies management of both applications and users.
- App Volumes supports enterprise-scale capabilities such as streamlined updates and assignments, quick and easy rollbacks, and application lifecycle management.
- App Volumes make it easier to deliver applications, update applications, assign applications, and manage the lifecycle of applications – and users – across virtual desktop (VDI) and published application environments.
- You can apply context-aware user policies and profile management through App Volumes, which provides secure and personalized access to desktops and applications.
Lowers costs without sacrificing user experience
App Volumes can lower costs while continuing to deliver a customizable and persistent user experience across desktop sessions.
- App Volumes reduces management costs by efficiently delivering applications from one virtual disk to many desktops or published application servers.
- App Volumes delivers zero-downtime updates, and one-to-many provisioning which lowers storage and operational costs.
- App Volumes supports a stateless desktop that does not sacrifice user experience for lower cost.
- You can manage applications in volumes, which reduces storage capacity requirements without impacting network and compute resources.
- You can decouple OS images and applications, which helps reduce the number of images to manage.
Offers a reliability platform for cloud-based environments
App Volumes provides reliability, consistency, and extensibility.
- App Volumes provisions applications faster, delivers context-aware user policies, and isolates applications as needed for a personalized, reliable, and consistent user experience.
- Application delivery and user management services are built on an extensible platform for cloud-based technologies.
- App Volumes includes out-of-the-box integrated services, such as app delivery, user management, and monitoring for cloud-based environments.
- App Volumes also includes built-in integrations into Horizon and Horizon Cloud on Microsoft Azure which enable you to utilize both from the same UI.
Supports Horizon, Citrix, and RDSH environments
Supported environments for App Volumes include VMware Horizon, Citrix Virtual Apps and Desktops, and RDS-hosted environments.
- Horizon – App Volumes is included in VMware Horizon Enterprise. If you have Horizon, you have App Volumes and the real-time application delivery, application isolation, and user management features that App Volumes provides.
- Citrix – You can optimize your Citrix Virtual Apps and Desktop, XenApp, or XenDesktop environment with App Volumes. App Volumes allows real-time application delivery, application isolation, and user management, which can enhance your investment in XenApp and XenDesktop.
- RDSH – You can enhance your RDS-hosted environment with App Volumes to achieve real-time application delivery, application isolation, and user management.
Provides secure, personalized access via desktop, cloud, or physical
Your end users can access from any device and any location. Even though you are constructing non-persistent desktops dynamically, your end users are getting a personalized and persistent experience every time they log in.
- On the backend, App Volumes separates the OS image from the app images, enabling you to apply updates or even small changes to individual applications quickly and make that available to your end users. To the end user, that means access to the most up-to-date applications without waiting.
- Because of the OS image-app image separation, you can use App Volumes to install and display an app to a single individual, even if that individual is the only one who needs that app. To the end user, that means they get the applications they need to get their job done, even if their need is unique.
- On the backend, you can apply context-aware user policies and profile management through App Volumes. To the end user, that means secure and personalized access to desktops and applications.
Basic vSphere-based architecture
A typical App Volumes environment consists of a few key components that interact with each other, and with an external infrastructure. That external infrastructure can be one of a variety of supported platforms such as VMware solutions like , , , and , or third-party solutions such as Citrix Virtual Apps and Desktops, Citrix XenApp, Citrix XenDesktop, and Microsoft Remote Desktop Session Host (RDSH) environments. And support for additional infrastructures is continually being added.
Note that App Volumes is architected differently on each different infrastructure. We don’t go into detail about all possible infrastructures here. Instead, this guide focuses on just one: the basic architecture for vSphere-based Horizon environments. To find out about some of the other supported integrations of App Volumes, the Reference Architecture is a great place to start:
App Volumes components
For a vSphere-based environment, App Volumes uses management servers that connect to deployed virtual desktops that run an App Volumes Agent. As the IT administrator, you would work with the following components:
Figure 4: Basic App Volumes architecture on a vSphere-based platform
Note: Remember that the above diagram depicts a vSphere-based environment. This looks quite different on other platforms. For example, if your environment is SaaS, the architecture is much simpler because most of these components are in the cloud.
- App Volumes Agent – The agents are installed on VDI or server farm images where Application Packages and Writable Volumes are delivered.
- Application – Applications can include the collection of versions of an application in the form of packages.
- Packages – A package is a read-only volume that stores a version of the application that can be assigned to and used by users, groups of users, virtual machines, and organizational units (OUs).
- Writable Volume – You can also deliver empty VMDK or VHD files that contain personalized data such as the user profile, licensing, configuration, user-installed applications, and other settings.
- Storage Group – You can configure Storage Groups to automatically replicate Application Packages or distribute Writable Volumes across multiple datastores. You can also use them to define a group of datastores that should all contain the same Application Packages, such as when using departmental applications.
- App Volumes Manager – This is the web-based interface integrated with Active Directory (AD) and vSphere, which consists of services that orchestrate application delivery and interface with the vSphere environment. You can use App Volumes Manager to manage assignments of volumes to users, groups, and target computers, collect Application Packages and Writable Volumes usage information, maintain a history of administrative actions, and automate assignment of applications and Writable Volumes for agents during desktop startup and user login.
- SQL Server – The App Volumes database is a Microsoft SQL or SQL Server Express database that contains configuration information for Application Packages, Writable Volumes, and end users.
- Active Directory – App Volumes uses the Active Directory (AD) database which contains critical data about your environment and resources, and your end users and which entitlements are granted to each.
- vCenter Server – App Volumes uses vCenter Server to connect to resources within the vSphere environment.
- vSphere Hosts – These are the data storage devices on which the ESX or ESXi hypervisor has been installed, each of which can create multiple VMs.
Hungry for more?
Now that you have an idea of what App Volumes is, here’s a chance to go deeper:
- Get introduced at the
- Dive in and get started in activity path
- Watch a few demos at
- Get the latest scoop at
Other VMware solutions
If you are interested in other VMware projects, see the following introductions: