Can You Really Deploy VDI for Less than New PCs?

Citrix
has been very vocal, lately, about the latest version of VDI-in-a-Box (“ViaB”), and has suggested that
ViaB can be deployed for less than the cost of buying new PCs. But is that claim valid? With all due
respect to my friends at Citrix – it depends. Specifically, it depends on the cost of the new PCs you’re
considering, and on whether you have Microsoft Software Assurance on your existing desktop PCs, and on
the level of reliability you want to have in your VDI infrastructure.
Don’t get me wrong – ViaB is a great product, and is, in my opinion, much easier to implement and manage
than anything else I’ve seen out there, including XenDesktop. (In fact, in a future article, we’ll
discuss when it makes sense to deploy full-blown XenDesktop vs. ViaB.) But we aren’t doing anyone any
favors if we use misleading data.
For example, I’ve seen a pricing calculator from Citrix that states that a commodity server with 8 CPU
cores (dual, quad-core processors), 32 Gb of RAM, and 250 Gb of direct-attached storage “can easily serve
at least 30 desktops.” That same pricing calculator shows the cost of such a server as $3,000, with a
qualifying note that it could be as much as $4,500. I have several problems with this:
RAM - Citrix’s own sizing guidelines indicates that you should allow for at least 1.5 Gb
of RAM each, and preferably 2.0 Gb (sometimes more, depending on the workload) for virtual Windows 7
desktops. And, even if you’re still on Windows XP today and don’t want to change anytime soon, would you
really want to deploy a new VDI system that wasn’t capable of supporting Windows 7 desktops when you do
upgrade?
Personally, I would recommend at least 2 Gb per desktop. You also need to factor in “at least 1 Gb” (Citrix's words) for
the hypervisor, and “at least 1 Gb” for the ViaB virtual appliance. That tells me that we’re looking at
about 64 Gb of RAM, not 32 Gb, and
that, in turn, is likely to push us to a more expensive server
platform that's capable of handling that amount of RAM.
Storage - The ability to use direct-attached storage is a
huge
advantage for SMBs, because it eliminates reliance on a SAN. The ViaB appliances take care of replicating
your “Golden Images” (the master images that you use to create VDI desktops) among themselves. But you
have to include storage for those Golden Images when you design your servers.
The guideline here is to allow for 2x the size of your Golden Image (times the number of Golden Images,
if you have more than one). So, let’s assume our Golden Image is 20 Gb, and that we have two different
images that we’re going to use to provision desktops. That means we need 80 Gb for image storage.
We also need roughly 70 Gb for the ViaB virtual appliance itself. Then, assuming that we’re using the
“linked clones” method of provisioning desktops (because that’s the most efficient use of space), we need
to factor in 15% of the image size per desktop – so that’s 15% of 20 Gb x 30 desktops, which is another
90 Gb.
That brings us to 240 Gb…but we haven’t accounted for the space consumed by the hypervisor installation
itself, and we haven’t factored in anything for swap files and any kind of transient activity. So 250 Gb
probably isn’t going to do it in any case. And, if you plan to use persistent desktops for any of your
users, remember that, given enough time, they will eventually grow to the size of your Golden Image
itself.
IOPS – We also need to factor in the disk IOPS that our virtual desktops will need while
they’re running. A Windows 7 desktop will consume 10 – 20 IOPS, depending on the use case. Again, using
Citrix’s own sizing guidelines, you would need at least four 15K SAS drives to support 25 – 50 virtual
desktops. With any drive available on the market today, that’s going to total far more than 250 Gb of
storage. (For more details on this subject,
cruise on over to our Moose Logic blog site, and search for
“IOPS.”)
Redundancy—If a PC fails, you have a user down. If your VDI fails, you have
multiple users down. So, if we’re talking about anything other than a proof-of-concept,
you’re going to want some redundancy in that server. That means, at a minimum, redundant power
supplies. I’d recommend RAID 10 for the disk drives as the best mix of performance and redundancy.
You’re probably going to want hot-swap drives as well, so you don’t have to take the whole platform down
to change out a failed disk drive. Again, these are not features you’re likely to find in a $3,000
server, or even in a $4,500 server. And if you really want high availability, you would build an “N+1”
server array – meaning that if you can support your users on one server, you buy two; if you can support
them on two, you buy three; if you can support them on three, you buy four; etc.
VDA Licenses – If you do not have Microsoft Software Assurance on your client PCs, or if
you plan to use non-PC clients, like Macs or thin clients, you will need to purchase Microsoft Virtual
Desktop Access (“VDA”) licenses. At present, these are only available on a subscription basis, at
$100/user/year. So, to be fair, you can’t just lump in $100/user. You need to lump in $100 x the useful
life of the PC you would otherwise purchase. If you tend to replace your PCs on a 3-year cycle, that’s
$300/user.
So where does this leave us?
Well, here’s the kind of server I would actually recommend to someone who was doing a
production
deployment of ViaB for 30 users:
- Dual-processor, quad– or six-core
- Minimum of 64 Gb RAM
- Six 15K, hot-swap, SAS drives, with a high-end RAID controller tha has at least 512 Mb of read/write
cache—two drives in a RAID1 configuration for the XenServer OS, and four drives in a RAID 10
configuration for the storage repository that will contain everything else. Those four should be 300 Gb
drives. The first two could be smaller, but it’s probably simpler to standardize on one drive size.
- Hot-swap, redundant power supplies.
- 3 year, on-site, 7x24 manufacturer’s warranty, with 4-hour response.
My research suggests that a server that meets these specifications is likely to cost somewhere in the
$10,000—$12,000 range, depending on manufacturer, model, additional NICs, etc.
Assuming it’s at the lower end of that range, and that you’re OK with having a single server, the numbers
look like this:
- $10,000 / 30 users = $333 per user
- VDA Licenses (over three years) = $300 per user
- ViaB licenses + first year maintenance = $195 per user
Total: $828.00/user – which is probably pretty close to the cost of a decent, business-class PC, like a
Dell Optiplex 390. That’s not a bad story, considering the ongoing flexibility that VDI can give you in
supporting remote access, access from a wide variety of client devices including smart phones and iPad
and Android tablets, and, arguably, lower ongoing management costs. Of course, if you want two servers,
for redundancy, that pushes the cost to $1,161/user.
Let’s scale things up a bit, though. If you needed to support, say, 100 users, we could build the
individual servers to support 50 each, and provision three servers so we could have that N+1 redundancy.
The primary impact on the server cost would be more RAM, so let’s use the $12,000 price tag for the
servers. That’s $36,000 for three servers, or $360/user. Add in the other pieces, and we’re at
$855/user for a fully-redundant, highly-available VDI infrastructure. That’s starting to look a little
more compelling to me.
So, to our original question: Can you really deploy VDI for less than the cost of a new PC? Maybe,
maybe not. But I think we’ve demonstrated that the cost of VDI-in-a-Box can be very
competitive
with the cost of new PCs, and that, in itself, is pretty remarkable, because it now allows
us to frame our business decision in terms of the
strategic things that VDI can
do for an organization without having to worry about paying a lot more for those strategic advantages.