2) Provisioning

Updated! November 2011
I know things get outdated quickly so if you feel something I've written is inaccurate please email me at gunnar@gunnarberger.com.  I'm always happy to update this thing to reflect the ever changing technology.

Provisioning Server vs View Composer
I originally opened up this article by saying that Provisioning services was the great differentiator in the management of the two products.  I have to take that back now.  I do want to state that I tend to say over and over again that technology changes.  Unfortunately my website doesn't always keep up with those changes, so I put at the top that I've updated this article.  Now the next few paragraphs are going to talk about the history of provisioning, its goes a little something like this: 1) Citrix in a lot of ways invented this (at least they bought the inventors).  2) VMware came up with a simpler way of doing it.  3) Citrix changed the way they do provisioning and now more inline with this simpler way so now both products are pretty much doing the same thing (however Citrix still offers two methods to provision, which is good.)
 
Citrix Provisioning Server and Ardence:
Back in the day (in IT terms this is all of a few years back) there was a company called Ardence.  They made a pretty cool product where you could remove the harddrive from your physical workstation and set the workstation to boot off the network.  You now had a Virtual Hard Drive and all its data resided in the datacenter.  If a computer was stolen it didn't have any data on it.  They accomplished this by running an agent inside the image that would basically ghost the image on what is now called a vDisk or a VHD.  DOD and other government entities loved this product.  I loved this product, its pretty cool.  Eventually Citrix realized they needed a product like this if they were going to provision workstations centrally and virtually so they bought Ardence and did just that.  BTW Wyse had (and may still have) a very similar product.
 
When Citrix bought Ardence they renamed it to Provisioning Server.  They didn't change much else, heck even now with the latest version you can still see things like ARD being used in the registry and such, a lot HASN'T changed, which is good, as it's a good product.  So Citrix bought a great product that replaces the physical hard drive of a physical workstation with a virtual hard drive; all they had to do with this was use it on a virtual machine.  They did this successfully, and when they were the only competitor out there doing this it looked like this was the way to do VDI, so you did what you had to do.  And I did a lot of XenDesktop deployments... until VMWare got in the game for real and came out with VMWare View 3.0 and something called View Composer.
 
View Composer:
Instead of ghosting a hard drive that required a special agent (so not only did you have the Citrix XenDesktop Agent you also had the Provisioning Agent) VMWare took a complete different approach, they used Snapshots.  Most people even looking at VDI were already familiar to Snapshots, it's one of the great features of virtualizing a server.  So in the VMWare approach, all you had to do was build a VM get it to the state you wanted then shut it down and click, "take snapshot".  It was that easy.  Then following a simple wizard the View Composer would use that snapshot to create as many VMs as you desired.  Not only was this process simple, but installing the View Composer was just a plug in to vCenter, something you already had up and running.  While Citrix Provisioning Server is a pretty large product, View Composer is basically the invisible product and has no management other than backing up its SQL DB.

Don't get me wrong Provisioning is a strong product, its just too much of a product for what we are trying to accomplish in a VDI model.  I want easier management not more things to have to understand.  I like the VMWare approach because there is nothing I really need to learn.  Citrix PVS is something I need to learn and understand.  Once I have it down it works like a champ and is a good product.  But its a product... I don't even feel like Composer is a product, its just a plugin that works... that I like, a lot. 
 
Citrix Responds with MCS in XenDesktop 5.0:
I don't think I'm the only person that has been complaining about this, with XenDesktop 5.0 Citrix introduced Machine Creation Services (MCS).  MCS uses Snapshots, WHO HOO!!!  MCS does not require a separate agent inside the VM like PVS does. WOO HOO!!!!!  MCS is a great idea... that only scaled (notice the past tense) to 50 people... and creates a clone, not a linked clone.  Take this for instance, I need to create 100 VMs, each VM is roughly 20GB in size on the C:, with MCS, IF you could sale to 100 - which you can't - this would take 2TB of space.  The same scenario using PVS or Linked Clones would take around 150GB or so of space on your SAN.  Last I checked SAN space is expensive.  So while MCS is the future for Citrix, its still not the present, although I am looking forward to updates on this product.  Citrix isn't stupid, I am confident they will get MCS to compete with Composer.
 
Citrix Responds with MCS in XenDesktop 5.5:
So again, technolgy changes, and Citrix being the smart company they are, has finally caught up with Linked Clones (and surpassed it in some ways).  As of the time of this writing, MCS can now scale to 2500 desktops and no longer needs to do a full image of each VM.  These two complaints are why I was anti-MCS, and the truth be told Citrix was very clear about the first release of MCS, they knew it didn't scale, they weren't trying to hide anything.  I think more than anything they were just trying to get the product out so people could start doing XenDesktop without PVS, which is a good move.  I can now say I'm offically pro-MCS.
 
But I'm not done talking about MCS.  I'm going to point you to a blog a friend of mine wrote that talks about the use of Intellicache for MCS.  If you don't know already, IOPS tends to be the biggest issue when designing a VDI environment (be it VMware View or Citrix XenDesktop).  Intellicache can act as a caching proxy that reduces the overall IO load to your backend storage.  Very cool stuff and Citrix is ahead of the curve with it.  So check out Steve's blog post here: http://www.egroup-us.com/citrix-intellicache-for-mcs-how-it-reduces-cost-of-vdi-deployment
 
VMware Responds to Citrix Intellicache... well sort of
Before I hang up on this update I also want to point out that VMware is responding to Citrix taking the lead in this category with the Content Based Read Cache (great name!).  The only issue is it's not really public info, check out VirtuallyGhetto's blog post on this where the writer finds some interesting things under the covers of vSphere 5.0.  http://www.virtuallyghetto.com/2011/08/new-hidden-cbrc-content-based-read.html
 
A quick talk with a Citrix Sales Guy
One point that a Citrix friend pointed out to me recently is that PVS and Linked Clones are not the same.  I didn't think this was big news, until he pointed out something to me.  When I have to do an update on my master VM, which I would be doing at least once per month, I have to run a recompose job to get those VMs updated.  On the scale I tend to deal with (sub-2000 VMs) I never really cared about this, however the more VMs the longer this process takes.  The nice thing about PVS is that you don't have to recompose.  You just update the master VM (which the Citrix guy also admits is a bit more work than Linked Clones or MCS).  Since everyone is already PXE booting to this master image there is no recompose process.  This seemed so obvious I was ashamed I missed it.  This really does mean that in economies of scale, PVS may have a higher Administration cost, but if you are talking thousands of VMs, it may be worth that cost in the quicker process it is to get that Master VM out to all the users, it would be immediate in their case.

Conclusion... for now.
Both products do a heck of a good job in the feature of provisioning desktops, where Citrix had fallen behind they've caught up and taught VMware some tricks.  PVS is no longer a major hurtle that sub 2500 seat deployments have to contend with, this is great!  The nice thing is that for deployments over 2500 seats you still have PVS which is a great product and I would assume if you have +2500 seats you probably have the expertise in house to master the PVS technology.
Comments