Earlier this week I went down to San Jose for a briefing with Nimble Storage about what they're doing in the VDI space. I was blown away by how many of their VDI reference clients were on VMware Horizon View using shared non-persistent images based on linked clones. I just couldn't believe how many of these projects could have been handled no problem with RDSH / Terminal Server infrastructures.
So what the hell is going on here?
I don't want to get into the whole "persistent versus non-persistent" debate again as we covered that ad-naseum (here and here) a month ago on this site. But regardless of which side of that debate you're on, you have to admit that there are plenty of non-persistent VDI environments in the world that would work perfectly fine (and be much cheaper) with RDSH. When I dig further into this phenomena and talk to actual customers about why they're using VDI instead of RDSH, many of them are unable to provide a good reason. (Well, they can't provide a "good reason" based on my opinion.) I can't get over how many of them have preconceived biases against RDSH, with many citing "facts" about RDSH that haven't actually been true in years.
So again, what the hell is going on here?
I point the blame at VMware, who even today in 2013 is spreading FUD about RDSH. For example, from VMware's 2103 document titled "Why Choose VMware Horizon View over Microsoft RDS 2012?" they wrote:
In comparing VDI and sessions, VDI offers the following advantages over sessions:
- Eliminates application-compatibility issues
- User or OS resets do not impact other users (sessions require resetting entire server)
- Provides better native-application compatibility
- Eliminates application-to-application conflicts in a multi-session environment
- Applications do not have to be written with TS or RDSH in mind (i.e., desktop applications are supported)
Later in that same document, VMware also writes:
If you are considering a choice between VDI and RDSH, consider the following questions:
- Do you have users that require constant up time?
- Are you concerned about your application licensing agreements being valid in a multi-user environment?
- Do your users need a full desktop experience, i.e., admins of their own machines, unique application requirements, and varied and broad USB device support?
- Do you want or need the flexibility to easily migrate users between servers?
An answer of “yes” to any of these questions indicates that VMware Horizon View is a better solution for your environment than RDSH.
Again, more hogwash. Users that require constant uptime? What's the advantage that VDI has over RDS sessions? That you can live migrate a VDI VM? Yeah, you can live migrate an RDS host too. Application licensing concerns? Total bullshit that we put to bed in 1998. Microsoft and the other app vendors have stated over and over that if you use permissions to restrict access to applications, then that complies with licensing. (Otherwise you'd have to license every user for every computer in your company, because technically a user with a domain account could walk up to any workstation and login.) USB support? Seriously? That was solved back in RDP 7.1 in Server 2008 R2. And the flexibility to easily migrate users between servers? In RDSH, the user just logs out and then logs back in to a different server. Or if they're talking about live migration, you can live migrate an entire RDSH VM. (Okay, if they're talking about session-level live migration, you can't do that in RDSH. But do you want to pay 3x hardware costs for VDI to do this? VMware should point that out.)
As far as I can tell, most of the people using VDI where RDSH makes sense are VMware environments. This makes sense because VMware Horizon View only fully supports VDI. (VMware can broker connections to RDSH sessions, but then only via RDP and without many of the additional benefits like View Persona and advanced printing. So no VMware View customers really use that because if they did then why are they paying for View?
The other reason these scenarios tend to be VMware customers is because Citrix XenDesktop customers also have the option to use XenApp. So most XenDesktop environments are really XenDesktop / XenApp combinations, whereas most Horizon View environments would have to buy additional licenses to use RDSH or they'd have to fall-back to the "in box" Microsoft technologies to deliver RDSH.
I'll say it again for the thousandth time: There are many very legitimate use cases where delivering Windows desktops from the datacenter makes sense. Some of those require the full workstation experience of VDI, and others are fine with RDS sessions. In 99% of the cases where VDI "wins," it's because the customer needs 1-to-1 / persistent disk image models since most environments where linked clones and non-persistent VDI is feasible can simply use RDSH for about one-third the cost.
Based on all that, and based on talking to several actual VMware Horizon View VDI customers, it's my belief that the vast majority of environments based on shared VDI would also work perfectly fine with RDS sessions. Sure, we can come up with very tactical reasons why shared VDI makes sense over RDS sessions (like the one-in-a-thousand app that doesn't work on RDSH), but for 99% of shared VDI environments out there, that is NOT the reason they're using VDI. They're using VDI out of ignorance or because they love VMware or because VMware gave them free View licenses with their vSphere purchase. If you don't believe me, take a serious look at the VMware View customers you know and count up how many of them really need VDI versus how many would work fine on RDSH. It's a shame.