In this article, I present the results of a bake-off between the three most widely used application layering solutions on the market today – Citrix App Layering, Liquidware FlexApp, and VMware App Volumes. There are also useful links to more in-depth product comparisons and virtualization decision tools later in this article.
A couple of months ago I had the pleasure of speaking at the Citrix Master’s Retreat, where Steve Greenberg, President of Thin Client Computing, suggested I should present a short version of my Application Virtualization Smackdown session. However, I’d done that a few times before so was keen to present something new and thought I’d cover results from an Application Layering bake-off I’d done. Most people buy into layering thinking it’s easier than traditional application virtualization due to less application compatibility problems. Citrix and VMware’s recent acquisition of layering solutions has intensified focus on this technology and added fuel to that view.
I’ve worked with Application Layering solutions for several years now – mostly with Symantec Workspace Virtualization, Unidesk, and App Volumes. I’d done a PoC for Citrix AppDisks when it first came out and quickly decided it wasn’t suitable for my environment.
I’d also worked pretty extensively with Unidesk in the past, in early 2018 I needed to do a comprehensive PoC with Citrix App Layering to see if it was suitable for production in my current environment. When I set up some testing parameters and compiled my results, I figured why not consider other layering products and that helped set the stage for the bake-off.
This post details my findings for 20 applications we use in the Healthcare industry as well as general applications. Along with this article, I created a WhatMatrix for these layering products, and I’ll come back to that later on with suggestions on how to use it and get value from it.
Disclaimer
Before you continue you should know that:
- I did this research for a specific environment, and so my testing criteria may not necessarily apply to your environment
- I am also very well versed with packaging and in particular application virtualization
- In my environment, we have standardized on App-V 5.1 for application delivery
Some of the appeal of bringing in Application Layering was simplified image management, simplified application packaging AND most importantly a higher rate of application compatibility than App-V.
Application Layering testing criteria.
As my environment is Citrix XenApp for published applications and Shared Desktops, I opted for Server 2012 R2 as my packaging OS for creating the layers. On this packaging VM …my criteria is a simple, straightforward install capture, no extra effort required to get the app to work as a layer with some exceptions.
I installed all Visual C++ Redistributables and .Net Framework 4.6.2. I included these on the packaging VM as I decided I never want these to get captured as part of an install and put in an application layer. I put these in the OS Layer for patching purposes and also to cut down on duplication and possible conflicts between layers. I know at least Liquidware recommend doing it this way too.
For testing my completed application layers, I deployed them to Server 2012 R2 servers which also had Visual C++ Redistributables and .Net Framework 4.6.2.
Keeping in mind part of my buy-in for layering is also simplified application packaging, so part of my criteria is a simple, straightforward install capture, no extra effort required to get the app to work as a layer with some exceptions. I selected Epic and Office as apps which are two large, all-encompassing products so I’m fine and suspect others would also be fine with following a guide for achieving success with these.
I tested the layers deployed instantly in real time and at login or boot. My results show for both of these deployment types.
Sample applications.
I used a small sample of applications but picked applications which contain a variety of different components which either don’t work with App-V or other application virtualization products today, or they do but with much difficulty. This includes DCOM components, COM+ components, boot time services, low-level system components, and drivers.
Over the last six years, I have mainly worked in healthcare, so I selected some healthcare applications, some developer tools, agents, business applications, communication and productivity tools. I tried to pick a small sample that at least covered a decent scope of app types and apps I knew that contained those unique components.
Bake-off results.
Real-time.
Results for the apps when deployed as Application Layers as real-time deployments, i.e., the application appear instantly for the user.
Login, boot, and image.
Results when the same apps are deployed the next time the machine starts up, user logs in or a new image is deployed.
What do the results show?
Looking at the results, you could conclude that there’s a higher rate of success with application layering when the layers are delivered as part of the published layered image with Citrix App Layering or at login or boot with Liquidware and VMware’s products. Side by side you can also see that Citrix App Layering edges it for overall application compatibility when deploying the applications as part of the Published Layered Image.
In fact, the only application which was an issue was Slack which I selected for testing because it’s a user based install, which I discovered was an issue across all products.
Some of the amber icons in this table are due to large applications which require further work in order to deploy them successfully because they’re not quite as straightforward. For example, with Epic Hyperspace deploying as an App Stack, you’ll want to pre-stage the registry in order for the application to launch with reasonable performance.
Although deploying layers as part of the Published Layered Image with Citrix App Layering has the highest rate of success, it may not appeal when compared to a product like App-V or Cloudpaging which allow for dynamic real-time delivery. You should take a look at an I wrote an article about getting 99.9% of applications virtualized with App-V and Cloudpaging.
I would argue it still holds a lot of value. Having the ability to create an application layer which you can then just wedge in or deploy selecting as part of your published layered image provides a lot of flexibility, but ideally, you’d be able to deploy all of your applications as Elastic Layers or immediately deployed application layers.
When looking at a side by side comparison for real-time deployments, we can see that App Volumes wins here. It was quite interesting to me as I didn’t have this high of a success rate with version 2.10. There’s a slight caveat with App Volumes when it comes to COM+ component services, before capturing the install you must change the snapvol.cfg. Thanks to Denis on the VMware EUC team for his help getting me on the right path with that!
While deploying a large application like Epic worked fine in the Published Layered Image with Citrix App Layering, you’ll see it’s amber when deployed as an Elastic Layer. This is purely because Epic does not perform well when deployed like this.
Issues with registry keys
In my experience, it seems like the three products handle applications with a lot of registry keys somewhat poorly, you need to work around this by pre-staging this registry, but interestingly, you can see I left IBM SPSS green here for Citrix App Layering while it’s amber for the other two. In my experience, Citrix App Layering out of the box handles registry mounting more efficiently than the FlexApp and App Volumes but there’s still a choking point with a very large registry when deploying as Elastic Layers.
Layering Microsoft Office.
[x_pullquote cite=”Rory” type=”right”]When deploying Office, for best success you should deliver at login, boot or part of the Published Layered Image.[/x_pullquote]
All of the products support layering of Office, but if you have ever tried to virtualize Office with ThinApp or application virtualization or containerization products other than App-V, you have likely hit issues with the Office licensing and performance. When deploying Office, for best success you should deliver at login, boot or part of the Published Layered Image.
Across both sets of results, you may notice that the App-V Client works as part of the Citrix App Layering’s Published Layered Image but not as an Elastic Layer, and it doesn’t work with the other products. The issue appears to be with the boot time service not starting due to corruption of a dependent service.
Which App Layering solution is right for you?
Liquidware FlexApp.
Liquidware has the advantage for former Unidesk or Cloud Volumes customers who don’t want to buy or sign an agreement with VMware or Citrix. They have flexible licensing, allowing customers to license FlexApp standalone.
Liquidware by far has the richest feature-set and quickest development cycle with rapid innovation through new features evident. This can certainly be seen in the results of the App Layering WhatMatrix which shows FlexApp as number 1 in the market for their rich feature set.
FlexApp, as the name suggests, is also a flexible layering product – you can deploy real time, on boot and to both virtual and physical desktops and with their new support for object-based cloud storage, they’re making their layers much more portable and cloud-ready.
Citrix App Layering.
Citrix App Layering is part of all licenses if you have a valid Customer Success Service agreement. Some features are only available through platinum licenses. It replaces the now deprecated AppDisk feature which can still be seen in Studio and the Citrix VDA today. Citrix App Layering doesn’t just help with application deployment; it provides a solution for overall image management.
With App Layering 4.x, the product offered a great solution for image portability allowing customers to easily take their existing image and move it to the cloud or even between different hypervisors with relative ease. It takes out a lot of the complexity of dealing with trying to manually convert yourself which can be time-consuming and costly.
Citrix App Layering also provides the overall highest rate of first-time success and app compatibility of all layering products IF you deploy them as part of the Published Layered Image. Citrix App Layering is formerly Unidesk making it the most mature layering product on the market which is still being actively developed and supported.
VMware App Volumes.
VMware App Volumes is one of many great additions to the impressive VMware EUC offering and Horizon stack. The bake-off results have shown that App Volumes is pretty strong in terms of app compatibility and first-time success when deploying AppStacks in real time (as an immediate assignment). This is of significance for those comparing layering products to traditional application virtualization products, because while none of the layering products can compete with a product like Numecent Cloudpaging concerning compatibility and success rate for apps deployed in real time, App Volumes comes closest.
Like FlexApp, you can also deploy App Volumes AppStacks to both physical and virtual desktops. Also, App Volumes is currently not tightly integrated with Horizon and can be set up independent of it.
More tools you should try!
Essentially the results show that Application Layering compliments App Virtualization, it doesn’t necessarily replace it and using both together is the right approach.
Virtualization decision tool.
To see how best to handle each application type get the App-V Decision Matrix and tools which goes beyond App-V and covers different virtualization technologies.
Detailed product comparisons.
For a more extensive breakdown of the products on a feature by feature basis, check out the WhatMatrix for Application Layering which I created with help from Bas van Kaam.
With the WhatMatrix, you can also create a custom report based on your own features of importance, e.g., Maybe you want to layer of the OS? Maybe Azure integration is important to you? You can weight those features and compare. For an example of doing this, check out the video demos in my Application Virtualization WhatMatrix post.
Let me know how you get on and feel free to add comments below.
Rory.
Excellent article Rory got me more interested in the whole app layering processing, never really ventured down this avenue as AppV and base image installs have got me by.
This is something I am going to look into and see how I can benefit. Thanks
Thanks, Scott! I’m glad you found the article useful. If you need any help or have any follow up questions, feel free to reach out to us.
Appv packages in app layer delivered elastically do not work for the first logon user. The time it takes for the applications to load in to cache is too long especially when you have multiple apps using connection groups, even appdisk coped with this as the disk is attached at boot up permanently, whereas app layering requires a user logon for the elastic layer to be mounted. I can’t understand why the Citrix app layering product does not have an option to force elastic layer mount at boot up rather than having to wait for the first user and their appv launch to fail
Hi Steve,
That’s interesting. That is something I haven’t tried and wouldn’t, to be honest. We work with a tool call App-V Scheduler. We deliver the App-V client as a layer in the published layered image and the App-V Scheduler agent as a layer in the published layered image.
App-V Scheduler allows us to manage the App-V applications\cache in real time easily. Using Shared Content Store mode for apps when it makes sense, mounting when it makes sense, managing the connection groups etc.
The App-V Scheduler gives us ACTUAL real-time deployment, so tends to be what we use in a data center based deployment. It’s a pretty cheap tool and they are pretty good with trials, you should check it out.
Regards,
Rory
Hi Rory,
So can App-V Scheduler be used as a common place to manage App-V packages to traditional desktops and VDI, replacing the need SCCM delivery, App-V Server infrastructure or utilising Citrix Studio for delivery?
Regards,
Darren
Technically, App-V Scheduler CAN be used for both physical and virtual but I recommend only using it for virtual. For scale for purely physical deployments, I still recommend SCCM even with all of its shortcomings. It just makes sense with its architecture. With App-V Scheduler to go physical you could be looking at many machine groups with various different shares depending on your environment. The real time cache management could also be hindered as run an inventory scan on thousands of desktops could take a long time!
With that said, we use App-V Scheduler to deploy to virtual desktops and XenApp Servers today. For most apps, we publish through XenApp and that’s how the apps are consumed on physical devices. They get the Citrix published app shortcuts on their desktops and start menu via Citrix Receiver.
However, for some apps that can be virtualized but just make more sense on a physical workstation e.g. Cisco Jabber for those in office. We deploy via SCCM as an App-V package. I recommend trying out Scheduler for yourself, if you’ve tried App-V Full Infrastructure or the Citrix App-V integrations, I think you’ll see it’s a big improvement on those.