Citrix Provisioning Server (PVS) has been a vital component in the Citrix technology stack for years. Allowing for the rapid provisioning of machines through OS streaming, it has been the bedrock provisioning mechanism for XenDesktop and is also used in provisioning XenApp servers and streaming to physical endpoints. Even though PVS provides all these benefits and has been so integral to various Citrix technologies, its days are clearly numbered. Fundamentally, streaming an OS over the network is inferior to provisioning machines and delivering the OS locally in some way. As an example, technologies like Machine Creation Services (MCS) can be used to provision an OS without the additional streaming component. And while the initial scalability numbers for MCS were lower than PVS and is currently limited to the XenDesktop technology stack, MCS is new and its scalability estimates are improving all the time and there’s no reason to think it can’t or won’t be integrated with other Citrix products. Indeed, there has been talk for years of merging XenDesktop itself with other Citrix products. So, what other possible reasons will there be for holding onto PVS in the future?
- “PVS can use the caching capabilities inherent to the local OS, this reduces IOPS”
When a target devices boots up or accesses portions of the base image, those portions of the OS are then cached in RAM on the PVS server. Subsequent attempts by additional target devices to access those portions of the OS will be read from RAM, thereby reducing the amount of IOPS required on the backend storage. Since IOPS are one of the biggest concerns for VDI deployments, this has been a major selling point for PVS. However, with the rise in popularity of VDI over the past couple of years, storage vendors have really focused on optimizing their array’s for IOPS, with many having terabytes of caching capabilities in them. So, if you now have enough RAM to cache at the storage level, is there really much benefit in being able to cache at the OS level? In addition to that, you have emerging technologies like Intellicache and whole distributed storage models being developed for VDI that should make IOPS less of a concern in the future.
- “MCS will never be able to deliver an OS to a physical endpoint”
This is true. You will never be able to use a locally delivered OS solution for remote endpoints. However, what is the purpose of streaming an OS to physical endpoints? Two use-cases come to mind. The first involves streaming the OS to desktop PC’s outside the datacenter. Companies usually choose this option as a first step into the VDI world. It’s cheap because it uses already existing hardware and it gives you the single-image management and security benefits of VDI without purchasing thin-clients, hypervisors and backend storage arrays. But the important thing to point out here is that this is usually just a stepping stone towards much more robust VDI rollouts. Once their currently functioning PC’s reach end of life, these companies start to replace them with thin-clients and are more willing to invest in hypervisors and backend storage rather than a hardware refresh, thus eleminating the need to stream the OS over the network. The use-case for this in the future will become extremely “niche” as companies move away from purchasing fat-clients as a standard. The second use-case involves streaming to blade PC’s. This is usually done when high performance desktops are a “must”. Like the previous use-case we examined though, there is limited need for this today and as hypervisors continue to advance, there will soon be very little reason, if any, why a desktop cannot be run as a virtual machine and still expect optimal performance.
Now don’t get me wrong, PVS today is still a great solution and should be the main provisioning mechanism for most XenDesktop deployments. For the reasons listed above however, the next few years should see PVS use-cases diminishing rapidly. MCS or some future locally delivered OS solution will take it’s place.