VMware App Volumes on Nutanix

April 22, 2020 | min

Application Delivery for Virtual Desktops

One of the components of end-user computing is application management and delivery: How do you get applications to your users? How do you update the applications? How do you remove applications when users don’t need them anymore? In the context of nonpersistent virtual desktops, there are a couple of methods for managing and delivering applications:

  • Install them in the gold image.
  • Use application virtualization.
  • Use application layering.

Each method has advantages and disadvantages. Often, organizations use a combination of these methods. For example, when you use VMware Horizon as your virtual desktop infrastructure (VDI) solution, you could use all three methods: install applications in the gold image, deliver applications using ThinApp (application virtualization), and use App Volumes (application layering) on top of those.

Read on to learn how running VMware App Volumes on Nutanix improves availability and performance.

What Is VMware App Volumes?

VMware App Volumes provides faster application delivery and management while reducing demands on IT management. With App Volumes, IT can deliver or upgrade applications to virtual desktops and published application environments in seconds and at scale. Read-only virtual disks called AppStacks store applications and administrators can instantly attach these AppStacks to individual or groups of virtual desktops, published application servers, or users with the click of a button.

In the following example, you see three virtual desktops. Users are logged on to all three desktops. On the first two desktops, users only have access to applications in AppStack A, while users logged on to the third virtual desktop have access to applications in AppStack A and B.

To the end user, applications perform as if natively installed. App Volumes also supports user profiles and user-installed applications by attaching writable volumes at logon. With writable volumes, the user gets a persistent desktop experience and the IT administrator gets the advantages of managing nonpersistent desktops.

The Nutanix Advantage for App Volumes

Using App Volumes does come with some challenges, especially when you use writable volumes in a multi-cluster or multi-site environment. When a user logs on to a desktop hosted in the primary cluster, the writable volume for that user is located on that cluster. In case of a disaster, you need to make sure the user’s writable volume is available at the standby cluster. With Nutanix, you can use the integrated replication technology to replicate those writable volumes.

We’ve created two videos that demonstrate how to replicate writable volumes and recover after a failure or disaster. One video demonstrates disaster recovery writable App Volumes on Nutanix using asynchronous replication and the other demonstrates disaster recovery writable App Volumes on Nutanix using synchronous replication.

Data Locality

Another advantage of running App Volumes on Nutanix is data locality. What does data locality mean in the context of App Volumes? As mentioned, App Volumes applications are stored in read-only virtual disks. These virtual disks are stored on a datastore. In a hyperconverged infrastructure (HCI), a datastore is a distributed datastore created from local disks in each server. If the HCI doesn’t have data locality, each VM hosted on a server other than the one where the AppStack is stored has to access the Appstack over the network.

On Nutanix we use a Controller VM (CVM) on each node to manage the storage. On these CVMs we have a feature called shadow clones. This feature detects if a disk is read-only and accessed by CVMs from more than two remote nodes. If it is, the CVM on each node makes a copy of the virtual disk and stores it locally. The desktop VMs accessing the AppStack then access the shadow clone locally.

This results in better performance, especially in large clusters. Shadow clones also improve the performance of linked or instant clones, where all the virtual desktops in a pool read from a single replica disk.


To demonstrate the performance improvement of shadow clones, we hosted 400 virtual desktops on an eight-node cluster and used VMware App Volumes 4.0 to deliver an AppStack with the application GNU Image Manipulation Program (GIMP). We used LoginVSI with a modified workload to automatically log a user on to each desktop every two seconds. After logon, GIMP automatically launched and we measured how long it took to start using uberAgent. We tested two scenarios, first with shadow clones disabled and then with shadow clones enabled, which is the default on Nutanix.

In the chart, you can see the GIMP startup times in seconds. The blue dots are the startup times with shadow clones disabled. The orange dots represent the startup times with shadow clones enabled.

The average start time of GIMP for all sessions:

  • Shadow clones disabled: 10.9 seconds
  • Shadow clones enabled: 9.7 seconds

In this scenario, shadow clones improved startup time by on average 11%. We tested on eight nodes; the improvement is even more noticeable on larger clusters.

The Downside of App Volumes

So what are the downsides of using App Volumes? First, not all applications can be delivered using application layering. You also have to think about which applications you want to package in a single AppStack. Because there is a limit on the number of AppStacks you should attach to a VM, you can’t install every application in an AppStack. Another downside is that using App Volumes has an impact on performance. One aspect of this impact is that applications installed in App Volumes might start slower than those installed in the gold image. Another aspect is the impact on overall processor (CPU) usage, which in turn impacts the number of users you can host per server (user density).

To demonstrate what the impact on user density could be when you use App Volumes, we tested the following scenarios on an eight-node cluster using the LoginVSI workload “KnowledgeWorker”:

  • 800 users without using App Volumes.
  • 800 users with one AppStack attached at logon. 
  • 550 users with one AppStack attached at logon.

It’s important to note that the applications installed in the AppStack were not used by the LoginVSI workload.

The duration of a LoginVSI test is 48 minutes. During this timeframe, all the users are logged on. After 48 minutes the simulated users continue to “work” in their applications. This phase is called the steady state. In the following chart you can see the average CPU usage (%) of the entire cluster during the LoginVSI test.

You can see that having 550 users with one AppStack attached resulted in the same CPU load as 800 users without an AppStack. The CPU load during the steady state is between 70% and 80%, which means that user density is approximately 30% lower when you use App Volumes. In other words, you need approximately 30% more hardware to host the same number of desktops. For reference, you can see the CPU load with 800 users with one Appstack attached. The CPU load hits the maximum capacity before the last user has logged on.

We also tested the performance impact on writable volumes. With writable volumes, you can choose to store the user’s profile, the user’s installed applications, or both on a virtual disk attached to a nonpersistent desktop at logon. We tested the following scenarios using 400 desktops hosted on eight nodes to make sure the CPU wasn’t the bottleneck during the tests:

  • Local profile, no writable volume (first logon, profile is created).
  • Profile stored on a writable volume (first logon, profile is created).
  • Profile stored on a writable volume (second logon, profile is already on the writable volume).

The logon times were captured using uberAgent. In the following chart, you can see the differences in logon time (in seconds) between the three scenarios.

The average logon time of each scenario:

  • Local profile: 18.6 seconds.
  • Profile stored on a writable volume (first logon): 36.3 seconds.
  • Profile stored on a writable volume (second logon): 22.6 seconds.

Be aware of this impact on the user logon times when you use writable volumes.


With VMware App Volumes you can manage your applications separate from your gold image. This means you can quickly assign updates and new applications to your users without having to update the entire desktop pool. Using writable volumes gives you the ability to provide users with a persistent desktop experience while you have the manageability advantages of nonpersistent desktops. These advantages come with a downside: There is a performance overhead for using App Volumes that impacts the user density and user experience. VMware App Volumes on Nutanix gives App Volumes a better performance by leveraging shadow clones and the integrated replication you need when you have multiple clusters leveraging App Volumes.

Hardware and software used in tests


  • Nutanix NX-3060-G7
  • Per-node specs (four nodes per 2RU block):
    • CPU: 2x Intel Xeon Gold 5220
    • Memory: 768 GB of memory
    • Disk: 2x 1.9 GB SSD, 4x 1.9 GB HDD


  • Nutanix AOS
  • VMware vSphere 6.7U3b
  • VMware Horizon 7.11
  • App Volumes 4.0
  • Windows 10 - 1909 
  • Office 2016
  • LoginVSI 4.1.40
  • uberAgent 5.3.1

© 2020 Nutanix, Inc. All rights reserved. Nutanix, the Nutanix logo and all Nutanix product, feature and service names mentioned herein are registered trademarks or trademarks of Nutanix, Inc. in the United States and other countries. All other brand names mentioned herein are for identification purposes only and may be the trademarks of their respective holder(s). This post contains links to external websites that are not part of Nutanix does not control these sites and disclaims all responsibility for the content or accuracy of any external site. Our decision to link to an external site should not be considered an endorsement of any content on such a site.