How to choose between PVS and MCS for image management
When running Citrix Apps and Desktops, image management is a must. It will make it so much easier to upgrade and patch both the operating system and the applications that are installed on the workloads. Citrix offers two image management technologies: Provisioning Services (PVS) and Machine Creation Services (MCS). Before we go into which technology to choose, let’s take a closer look at both of them.
Provisioning Services (PVS)
Provisioning Services is streaming a master image to the Workload VMs In PVS terms, and workloads are called target devices. The master image is located in a file share located on the PVS server. The Workloads PXE boots on the network and downloads a boot file from the PVS server. The workload starts to stream the master image from the PVS server across the network. A cache disk is attached to the workload VM to store parts of the master image and for writes. When the VM is rebooted, the cache disk will get wiped.
When a change is made to the master image, you just need to boot the workload VMs, and the updated image will get deployed.
With PVS, you need to have full control over your network. Each workload will PXE boot and pull the image across the network. If your network doesn’t perform, neither will your workloads. Everything has to go across the network. From my point of view, this is a solution for on-prem environments. PVS is not meant for environments running workloads in a public cloud. However, PVS supports Azure and GCP. PVS can also deploy to physical machines.
Licensing
PVS is available in the following editions of Citrix Virtual Apps and Desktops.
- Virtual Apps Advanced *
- Virtual Apps Premium
- Virtual Desktop Standard **
- Virtual Apps and Desktop Advanced
- Virtual Apps and Desktop Premium
* Citrix Virtual Apps Advanced is available for VMHosted applications running on a desktop operating system only.
** Physical desktop support is not available with the Citrix Virtual Desktops Standard Edition
Machine Creation Service (MCS) – Thin Provisioning
Machine Creation Service is a component that is part of the delivery controller in your Citrix Apps and Desktop environment. It communicates with the hypervisor or cloud vendor, where your workload VMs are located through APIs. MCS creates VMs and adds them to your Active Directory. Your live image is created from a snapshot of the master image that you have created with your master VM.
When you create new workloads, MCS builds a linked clone from the master image you have created. It will create a differencing disk for the changes that will take place when to machine is in use. At the same time, it will also create an identity disk for the VM.
It is very easy to get started with MCS because it is part of the Studio console. PVS has a separate console. MCS is meant for virtual hosts and cannot be used for physical machines.
MCS has support for the following virtualization platforms:
- Citrix Hypervisor
- Nutanix Acropolis
- VMware
- Microsoft Hyper-V
If you wish to deploy your workloads to a public cloud, MCS has support for:
- Microsoft Azure
- Amazon AWS
- Google Cloud Platform
You can read more about running your workloads on Google Cloud Platform in these two articles:
How Citrix Machine Creation Service on GCP made managing workloads easier
Machine Creation Service for Google Cloud
Machine Creation Services (MCS) – Full Clone
MCS also gives the option to create full clones. This means that each VM gets its own disk. With this option, you can spread out your load to different storage pools, which is a good idea if you have workloads that demand a lot of IOPS.
Licensing
MCS comes with every edition of Citrix Virtual Apps and Desktops.
Conclusion
The first thing you need to figure out is where you want to deploy your workloads. In the table below, you can see which technology you can use where.
Deploy to | PVS | MCS – Thin | MCS – Clone |
Physical Machines | X | ||
On-Prem Virtualization | X | X | X |
Public Cloud | X* | X | X |
*Azure and GCP are supported.
Each technology uses different resources. PVS stream your image across the network, so you need to ensure there is enough capacity on your network and that you do have any latency.
MCS uses storage, so here you need to pull enough IOPS from your storage solution. As mentioned earlier, if you have highly demanding workloads, you can always create full clones that you can spread across different storage pools.
Excellent & best article I came across in last 8 years trying to understand the real difference between 2 technologies.
Excelent explanation.
Really didactic and well written. Congrats and thanks!
Good work …
PVS now supports public clouds Azure and GCP.
Luckily, things are evolving. I have changed the article with the correct information.