Horizon 7 JIT Desktop and App Vol 2.12
From the latest VMware Blog HERE, VMware has just announced the Horizon View 7.1 where a new protocol BEAT is developed and Just in time (JIT) applications are being emphasised in the release. While the term JIT is referring to the instant clone technology which help provisioning VM in a very short time thru’ linked clone technology on both storage and memory aspect. So we can expect the JIT Application in horizon 7.1 would be an instant clone of RDSH hosts, yet as it has not been GA-ed yet, let’s just wait for it.
In this blog, instead, I would like to share the way to use JIT Desktop which is brought about from Horizon 7.0. Someone may said linked clone or JIT desktops are just something provisioning faster than full clone desktops. BUT, i would like to emphasis here again, this is absolutely NOT. In fully clone, we expect user data perhaps will be persisted on the desktop and such that one user may tie to one desktop. But actually Linked clone and JIT desktops target to make desktops a shared pool. We try to enable a pool of Desktops for users to consume such that in case one desktop broke down, they can use another with same user experience directly.
Why we need JIT desktop and App Volume???
To achieve this, we have to understand what make up the user’s “user experience” of a desktop, I think it can be layered as:
- Desktop OS layer
- Application layer
- User Environment layer
While in a physical desktop, we have all the three layers tying tight together. We generally don’t care about how to separate the layers. But in VDI, if we can decouple the layers, actually we can recompose an “user experience” base on a policy and making desktop management easy and possible.
While the JIT desktop from Horizon 7 enables we creating pool of consistent Desktop OS, the App Volume helps instead in providing decoupled applications on top of the Desktop. I didn’t cover it in this post, but VMware User Environment Management can help in performing the User Environment layer management perfectly further on top.
So how to build JIT desktops?
Actually, that’s simple. That’s even more simple than using linked clone in Horizon View. With linked clone deployment, you need to deploy the Horizon View Composer Server, right? But for JIT desktop, you don’t even have to use it at all. So, to begin with, you need to ensure the Horizon View Agent is being properly setup for JIT deployment, as differs from default option during the agent setup. You have to enabled the instant clone when you come to the following page
While the option for “View Composer” and “Instant Clone” are conflicting, we thus need to disable the “View Composer” and enable “Instant Clone” for enabling it, just like the following.
After prepared the image, you have to take a snapshot, just like how you are doing it for linked clone desktops. And then you can open the Horizon Admin page for setting up the instant clone Desktop Pools. But before that, go to the “View Configuration” > “Instant Clone Domain Admins” to add an administrator for performing the instant clone action. As we need to create Domain objects and join domain stuffs, do ensure the user right is proper.
Afterwards you can go the create a new Desktop Pool, there is not much special in provisioning an instant clone pool. Yet, user assignment has to be a floating one.
If not, you won’t be able to see the “Instant Clones” option
Select the snapshot just like how you do it for linked clone desktops
Wait for the completion of the cloning tasks, it is proper for you seeing cp-parent objects appear at least one per hosts and cp-replica one per datastore and cp-template VM there.
You can try the behaviour of the instant clone, if you try to power of the instant clone VM, it will be flagged out again
So after user assignment, you can test it out using either View Client or a browser if you enabled the HTML assess. DO try power off it from View Session too, you will see the magic of JIT desktop.
You don’t actually need to even recompose or refresh Desktop linked clone desktops, as the Desktop life can be as short as a power off action be triggered. And this is how a JIT desktop is being created.
So how to build App Volume?
So afterwards, we have to setup the App Volume Manager first, this is decoupled from Horizon View actually and you can use it with even Citrix VDI. The basic mechanism is we will install an agent into the VDI Desktops such that when a user login, the agent will help presenting the Applications including Desktop Icons and Binaries onto the Desktop. While we try to use VMDK based mounting and running natively on the desktop OS to achieve the application layer, you can expect the speed will be very fast and the performance of the application will not be limited by any sandbox environment.
Thus to achieve the above, we need to:
- Deploy the App Volumes Manager + Database
- Deploy the App volumes Agent
- Capture the Application as AppStacks for presenting
So, let’s get started!
Deploy the App Volumes Manager + Database
While the App Volumes Manager is a Windows based solution, the database required is thus a MSSQL. We need to create a database for the setup,
You can create a login dedicated for this database
So you just need to grant the dbo right of the DB for this new user, do grant the dbo right for the msdb database too.
Then you can start setting up the App Volume Manager on the Windows Server. Do this by download the IOS and mount it and running the setup binary, this is the same binary for setting up both Server and Client Agent
You can select the “Install App Volumes Manager” during the setup
Do select the External DB by “Connect to an existing SQL Server Database”
Input the DB connection string detail and proceed the setup
You could see the App vol icon on the desktop after the successful installation
After the setup, we need to perform the basic configuration of the App Vol Manager. Start by clicking the App vol icon on the desktop. Most of the admin tasks are being done on the web GUI
First you need to input a license or using the evaluation one
Then we have to connect the app volumes to the AD
Afterwards, we need to grant someone in the AD be the admin as the App Volume Admins
Add the vCenter Server under the “Machine Managers”, I choose “Mount On Host” to offload the tasks for vCenter Server which is by default the person to help mounting and unmounting the disks for the VDI Desktops.
You gonna accept the vCenter Certificates
And select the storage for the AppStack to be provisioned to
Start Upload the VMDK template as the seed of the AppStack and Writable Volume
Click the “Upload” to start importing the VMDK into the Datastore Selected
Click Okay to confirm and complete the initial setup
Following is the App Volumes main page after the initial configuration and we will come back here when we are creating the App Stacks for our applications again.
Deploy the App volumes Agent
So using the same App Volume installation binary, you can install the Agent on the desktop image. You just have to deploy it on the template we used in the section above in JIT Desktop and take a snapshot. Make sure the Desktop network can reach the app volume manager, do not use NAT in-between the networks if possible (as I have hit some issue before). And if you have Anti virus running in your desktop image, you would need to follow a VMware KB to amend a registry key about filter.
Input the App Volume Manager Information and “Disable Certificate Validation with App Volume Manager” if your app Vol certificates are not trusted.
Capture the Application as AppStacks for presenting
To capture an Application you would need a VDI Desktop with App Volume Agent but you would need to login with a domain user to ensure it’s connecting to the App Volume Manager. But to Click start the Application Capturing,
Go to the App volume management page and “Create AppStack” at the “Volumes” > “App Stacks”
Give the AppStack a name and choose which storage to be provisioned in
On clicking the Create the AppStack, it will create the VMDK for storing the AppStack for the target capturing applications
It will be in “Unprovisioned” mode, then we need to click the “plus” icon in the front to provision the App Stack which is actually kicking start with the new Application Capturing
But before “Provision” and capture the Application, as mentioned, do login one VDI Template or Desktop Image first in order to let App Volume to see this VDI for Application Capture
After login, you can see the VDI machine from the App Vol UI. And you can click the “Start Provisioning”.
You can see the status changed on the App Volumes UI, we then swap to the VDI desktop to install the corresponding Applications.
You can see the App Volume Agent prompted and following the message, do NOT click OK until you finished the application installation
Just setup the Application as usual
Click the “OK” to finish the setup and the application capture
Click “Yes” to complete the setup
Click OK to restart the VM to complete the Application Capture
You could see the following after the reboot and login. This is needed to complete the whole capture, thus, DO NOT skip this setup to religion the VDI image you use to capture the application.
Then you can see the status of the capture app is changed, and you can assign the app to different AD users or groups.
On Assignment, you can see the Application is being instantly provisioned on the Desktop
YES!!! You got JIT Desktop and Application Virtualisation done!!! In the upcoming blog we will study the User Environment Management considerations and see how to achieve this.