The big battle! between Citrix MCS vs PVS which has been an ongoing battle for some time for the Citrix admins. Now since I have been working mostly with Cloud the last years I didn’t get into that debate since Citrix has only supported MCS in Cloud (until now) …
Therefore, in this blog post, I wanted to describe the difference between using MCS and PVS in a cloud environment like Microsoft Azure. How it works and how it is different from MCS.
MCS has had a lot of improvements over the course of the last years, and Citrix has put down a lot of engineering powers here to improve it.
MCS uses the built-in storage APIs in Microsoft Azure to provision virtual machines. With this approach, you are not dependant on a network like you have been using PVS.
But let us go through the provisioning workflow from MCS. It should be noted that MCS supports regular VMs within Microsoft Azure or Azure VMware Solutions (which is VMware vCloud Foundation deployment within Azure datacenters)
1: When you create a golden image you can now configure settings like
- Accelerated Networking,
- Boot diagnostics
- Host disk caching (relating to OS and MCSIO disks)
- Machine size (unless otherwise specified)
- Tags placed on the VM
MCS also supports dedicated host groups as well, which is an Azure service where you get dedicated physical hardware within Azure.
Which will then be inherited to the machine catalog. You can also see this as part of the image wizard when you start to create the machine catalog as well.
Citrix with MCS also supports ephemeral disks which provides a higher level of performance –> Look at James Kindon’s blog on that here –> Citrix MCS and Azure Ephemeral Disks (jkindon.com)
That is also available now as part of the MCS wizard. It should also be noted that. Persistent catalogs do not support ephemeral OS disks.
When setting up machines as well, it also supports using of availability zones. If they are not specified it will deploy it just within a single AZ.
In terms of Storage MCS supports:
- OS disk: premium SSD, SSD or HDD
- Write back cache disk: premium SSD, SSD, or HDD
Also, An Azure identity disk is always created using Standard SSD is always used for MCS.
If your configuration uses an Azure ephemeral disk, enabling write-back cache always uses standard HDD storage.
So MCS in Azure supports a wide range of different Azure services. Now with the support of ephemeral disks and with the new cache mechanism I belive that the performance will be a lot better then PVS in Azure.
MCS in Azure also uses a new feature called on-demand provisioning. VMs are created only when Citrix Virtual Apps and Desktops initiates a power-on action, after the provisioning completes. This means that when Citrix initiates a power-off action for a VM, that machine identity is deleted in Azure. It no longer appears in the Azure portal. (The VM’s status in the Full Configuration interface changes to Off.)
Now PVS in Azure has a different setup.
You install the Citrix Provisioning Server on a Azure VM, like on-premises deployments, and a SQL Server (Azure SQL is not supported). The target VMs boot using a small boot disk, which is about 20 MB and contains the Citrix Provisioning UEFI boot application.
- It only supports UEFI-based virtual machines; therefore, it requires generation two virtual machines in Azure. (More and more virtual machines support generation 2 you can read more about it here –> Azure support for generation 2 VMs – Azure Virtual Machines | Microsoft Docs)
- Streaming 64-bit Windows 10, and Windows Server 2019 target VMs.
- Import an existing image to your Azure setup using Citrix Image Portability Service.
You can also use this together with Azure Files to provide storage for the vDisks (however these needs to be using Azure Premium Files) it should also be noted that you should use a PVS server that has adequate network bandwidth. Citrix recommends that you have at least 10 GB of bandwidth available for the streaming. Such as the new Dv5 series which has bandwidth up to 12GB’s Ddv5 and Ddsv5-series – Azure Virtual Machines | Microsoft Docs
To install PVS in Azure, you must use the build that is made available for the Tech Preview
A short summary
While PVS in Azure is a great new addition, it still lacks much of the native features in Azure to provide a good alternative to MCS. MCS supports much of the main Azure services and with the combination of ephemeral disks and MCSIO it can compete with PVS in terms of performance. Secondly MCS provisioning is pretty integrated with Azure to make it easy using native Azure storage API’s to provision new machines. PVS will have some benefits with the small os disk, and leaving more of the bandwidth to the network, but still it means that we need to have more infrastructure in our Azure enviroment to provide the management and streaming capabilites.