How-To
Hands on with VMware Horizon 7.12
VMware recently announced the availability of Horizon 7.12, CART 5.4, and DEM 9.11.
While many may already know that CART is the client software that is used to connect to a Horizon desktop or application, many may not know that VMware has announced that they have renamed User Environment Manager (UEM) to Dynamic Environment Manager (DEM).
Although this 7.12 release doesn't have any huge new features, it does have some interesting new ones that should make desktop administration and provisioning easier, and streaming applications launch faster.
Given their recent update release schedule, with Horizon 7.10 being released in September 2019 and version 7.11 being released in December 2019, VMware appears to be releasing Horizon updates on a 3-month cadence.
Horizon 7.12
In order to get a better understanding of the changes in Horizon 7.12, I upgraded a replica Connection Server in my environment to 7.12, and installed Horizon Client 5.4 on a Windows system; this allowed me to work with both 7.11 and 7.12 to compare the two and see what has changed.
Updating my 7.10 Horizon Connection Server to 7.12 was a smooth process, and I didn't have any issues. The upgrade process took less than 10 minutes, and a reboot was not required. During the installation, I was still able to access my Horizon environment from the other Connection Server in my environment which was running 7.11. During the upgrade, and for a few minutes afterwards, I noticed that the system on which I was installing 7.12 would have its CPU utilization occasionally reach 100%. This is not a cause for concern, just an interesting thing that I found.
On inspection, I found that the high CPU utilization was mainly due to Tomcat service.
Horizon Console
The HTML5-based Horizon Console (which is now the de facto standard for administering Horizon) has some new features, and in this section below I'll give a quick rundown of them.
The summary details on the 7.12 Horizon Console dashboard are now on par with the old Flash-based Horizon Web Console.
This is more information than the 7.11 Horizon Console provides.
Horizon Console now has multi-tab browser support, so you can right-click any link in your Horizon Console to open it in another web browser tab. When I tried multi-tab browsing with the 7.11 Horizon Console, I got a launch screen in the new browser tab.
You can also now use the Help Desk Tool to search for a specific process or application by entering the session process or application name in the search filter field.
The search box is not available in the Horizon 7.11 console.
When creating a new desktop pool, you now have the option for dedicated multi-user assignments. The option to assign multiple users is available for automated pool containing full virtual machines (VMs), manual desktop pools, and instant-clone desktop pools. This is especially useful for use cases such as shift workers, developer testing, and support staff.
The multi-user assignment feature was not available in previous versions.
When I first tried to attach to a multi-user desktop, I received the following screen shown below.
To make it available for users, I had to go back to Horizon Console and assigned users to it.
I then logged in and out of the desktop pool as Vuser01, Vuser02, and Vuser03; they all logged on to the same desktop (MPDT-1). I verified that it only one desktop was being used from Horizon Console and the events.
An interesting side effect of using multi-user instant clone desktops is that if you disconnect and log off the desktop as one of the multi-users assigned to a desktop, you will need to wait until a new desktop is created with the same name before you will be able to access the desktop again.
You can now view Connection Server session details by going to Monitor > Dashboard, and then clicking View in the Connection Servers view.
Click the Connection Servers tab, then select a Connection Server and click View Services Detail.
The connections for each Connection Server, and details of whether or not it is going through a gateway, will then be displayed.
Horizon Console 7.11 does not have Non-Gateway Protocol Sessions.
You now have the option to show the name of the virtual desktop to which users are connected rather than the pool name on the Horizon client. I specifically find this extremely useful as it saves the intermediate step of looking up which virtual desktop a user is currently working on.
To enable this, select Display Assigned Machine Name within Desktop Pool Settings when creating a desktop pool.
The virtual desktop is shown in the right corner.
You can view how many users are using applications (this tracks both RDSH and VM hosted applications). To see this information, select Applications from Inventory. The User Count field is not shown in the Horizon 7.11 console.
It needs to be noted that this feature tracks how many users are using the applications, but it does not track how many instances of the applications are being used. For example, in the screenshot below, Horizon Console shows a user count of one for Notepad; however, if we look at the processes of the virtual desktop streaming the application, it shows that three instances of notepad.exe are actually running.
The GPO bundle for Horizon 7.12 VMware has a new setting called Prewarm session time limit in the vdm_agent.admx file, which they claim will treat the initial login like a reconnect rather than an initial login. The documentation on this setting is pretty sparse, but it looks useful so hopefully I will get some time to work with it a bit and figure out what it actually does.
One issue that instant clone desktop pools had in the past was that their MAC addresses were regenerated every time they are recreated -- but in 7.12 they persist. MAC persistence will be a huge help to applications that use the MAC addresses, and may also help with some of weird DNS issues that I have seen in the past. I verified this feature by logging into an instant clone and checking the MAC address.
I then disconnected and logged off it, forcing a new instant clone to be recreated and again checked the MAC address; it was the same.
VMware has been able to stream applications from Windows 10 systems since Horizon 7.9, but with this release you can pre-launch the application before the user opens it via the Horizon Client from within Desktop Pool Settings. This will make applications launch faster.
Under Remote Settings.
VMware also states that Horizon Agent 7.12 will have lower CPU usage for Blast, and lower GPU usage for PCoIP. I hope to test out these claims as well.
One of the biggest changes that I noted for Horizon 7.10 is that VMware added support for REST APIs; this was huge as it allowed Horizon customers and partners the ability to access Horizon (Enterprise Edition only) using the tools of their choice rather than having to go through PowerCLI. The 7.10 release was somewhat limited as it only supported monitoring in Horizon, and did not allow you to make changes to your Horizon environment. The 7.11 API added API categories for Configure and External (lists information related to AD domains of the environment). 7.12 furthers VMware's REST APIs to provide better automation options, as well as 50 new endpoints, including Image Management Service, Universal Broker, Configuration, and Inventory. You can find a list of the REST APIs here.
Conclusion
Although this release was rather minor in scope, I think with VMware continuing forward with what appears to be quarterly releases, we will not get monumental changes, but rather incremental changes, to Horizon.
I just gave you the highlights of the changes in this release, but you can find an extensive list of changes in the release notes for Horizon 7.11, Cart 5.3, and DEM 9.10 here or download it from here.