Couple of days ago I decided to deep dive into Citrix Application Layering formerly known as “Unidesk”. Took me a while to get a hang on the layering approach the product took and how all these layers work together to formulate a deliverable VDI Image.
Honestly speaking I was not impressed because of two things, one being all I wanted was elastic applications delivered to my existing VDI environment, one which customer has established for a while and happy with, well that is unfortunately not possible because elastic applications will only work with images delivered from Citrix Application layering and not existing machine catalogs or base images.
If you are familiar with VMware App Volumes, all you do to attach AppStacks (Elastic Apps) is install an agent on your VDI base image, point it to App Volumes server, update machine catalog/pool and voila applications are elastically added to existing VDI machines or new VDI Pools which are created the old fashioned way. Same thing goes for writable volumes which makes the whole configuration and management part much more easier for administrators accustomed to existing VDI portal. Here you spin any VM with the same OS as your VDI Pool , capture the application , upload it to App Volumes, and that’s about it.
Second was the complications of Platform Layer, OS Layer, App Layer, and Images . Having to configure all of these components and figure out what to perform on each layer to get them all working together for the sole purpose of delivering elastic applications and a User layer ( Technical Preview ) is a very big undertaking especially with existing VDI environments. Assuming User Layers are production ready, to be able to move your existing VDI users to those layers as of now would require recreation of all VDI pools/catalogs and using Citrix Applications Layering OS/Platform/App layers for the same.
Now that been said the product by itself is very powerful and handy for many situations like controlling base image sprawl since one OS platform can be maintained for all base images, supporting multiple platforms ( Azure, VMware, Microsoft, Nutanix … ) using same OS layer, and ease of management for pure RDS implementations for example along other solutions as well. It just happens that my aim was pure elastic applications and in the near future User layers which is a game changer.
In the near future I would like to see console integration with Studio, Elastic Applications & User Layers supported on existing base images, and better implementation documentation especially for App recipes.
Along the way I faced a little issue which was very simple but a bit interesting so thought I will point it out. While creating a Windows 10 OS layer, the following error was received “ a failure occurred while importing the OS: Cannot handle more than two partitions on a disk ” . I am well aware that OS layer only supports one OS drive which is c:\ and made sure of that so the next step was checking disk management on the OS VM I was trying to import.
When I opened the OS VM I was trying to import and navigated to Disk Management, I could see a new partition called (Recovery Partition) which to my knowledge was not there upon OS installation.
What happened is that the Windows 10 build I installed from ISO was an outdated one so when I ran windows update, a new Windows build was installed thus creating a recovery partition incase I wanted to revert to the old build. So all we have to do is first do a disk cleanup and make sure to choose Cleanup system files then choosing to clear all files.
We also have to delete the recovery partition which cannot be done directly from disk management so we have two options:
- Run CMD as administrator .
- Type list disk . ( Note the number of the disk that holds the recovery partition ).
- Type select disk “disk number” .
- Type List partition . ( Note the Recovery partition name and size to make sure its the recovery partition ).
- Type select partition “partition name” .
- delete partition override .
2- MiniTool Partition Wizard Free
After that OS importing in ELM worked fine and so did the other layers consecutively . Check out these two great resources on Citrix Application Layering with Hyper-V by fellow CTA George Spiers and for VMware by CTP Carl Stalhood.