I’m Adam Carter, the technical product manager for Virtual Desktop Infrastructure (VDI) in Windows Server at Microsoft. VMware® recently published a datasheet about why you should choose VMware View™ over Remote Desktop Services (RDS). The article sets out to discount Remote Desktop sessions, a proven technology in use by millions of users every day. I wanted to share some of my thoughts on that document.
Our approach to VDI is fundamentally different from VMware’s, primarily because we believe in providing choices to our customers. Unlike VMware, Microsoft can deliver VDI functionality in 3 different ways:
As each solution has its pros and cons, a single console management experience for all three means that you can choose to mix and match experiences for your users depending on their needs.
Microsoft Remote Desktop Session Host (RD Session Host) has been around for over 15 years (formerly known as Terminal Server), and has been constantly improved with each new Windows Server release. RD Session Host works by enabling multiple user sessions to run concurrently on one copy of the operating system (OS), similar to the way mainframe computing works.
A session-based desktop deployment is a great solution for centralizing desktops to reduce management, increasing security of data, and enabling mobile work scenarios. With the Desktop Experience feature enabled on a server, the RD Session Host experience is nearly identical to that of a client OS. Because there’s only one installed copy of the OS, a session-based desktop deployment can reach a greater density of concurrent users per server than virtual machine-based desktop deployments. By not providing a copy of the OS per user, RD Session Host also reduces storage requirements and simplifies management.
In practice we see that, of customers that evaluate VDI solutions, 70% actually implement RD Session Host, citing the greater density of users per server, simplified management, and reduced licensing complexity as some of the reasons. Over 30 million users access RD Session Host servers worldwide—it’s hardly the niche solution VMware makes it out to be.
One of the areas of focus for the product has been improving the stability and isolation of user sessions. Going back to Windows Server 2008, services run in Session 0, and user sessions run in isolation starting with Session 1, so there’s no direct interaction between users and services. Generally speaking, what this means is an app crash in a user session can only affect that user; it won’t bring down services or other users on the same server because of this isolation.
The isolation between sessions also effectively creates a security barrier between user sessions—with the proper security configuration, user data is only visible to the user session where it is being used.
In Windows Server 2008 R2 we introduced Fair Share CPU Scheduling, which automatically distributed processor time across active sessions so that one user couldn’t monopolize the CPU and reduce the performance of other users on the same server. In Windows Server 2012, Fair Share was extended to Network and Disk scheduling as well (Dynamic Network Fair Share and Dynamic Disk Fair Share). Fair Share is enabled by default and works automatically – you don’t have to worry about one user impacting the experience of other users.
Because session-based desktop deployment has been around for so long, going back to Terminal Server and Remote Desktop Services, applications that follow best practices should run and are supported in an RD Session Host environment; generally, enterprise applications should “just work” in an RD Session Host environment. For other apps, the RDS team released the RDS Application Analyzer to determine if an application has any behavior that would prevent it from running properly in a multi-user environment. In addition to application compatibility, the usage licensing for apps should be reviewed as well to assure they are licensed properly in a session-based desktop deployment. RD Session Host supports using App-V to deliver apps, which enables users to stream applications that the administrator has granted them access to, without requiring that applications be installed on the RD Session Host server.
One of the great features of RD Session Host is RemoteApp—the ability to make one application available to a user, instead of an entire desktop. The user experience is seamless—the app looks and feels similar to an app running locally, but the app actually runs on the server. This flexibility allows users to have a local desktop, but specific apps can be executed in the datacenter to provide data security, or improve performance for remote workers on slow network connections by running applications in the datacenter where they have faster connectivity to data.
IT pros can also use RD Session Host to deliver desktops to users. You could use a hammer to pound in screws, but a screwdriver would work better—VMware wants you to use their View hammer to do everything.
A virtual machine-based desktop deployment in Windows Server 2012 enables IT pros to deliver a full client OS desktop experience in scenarios where you want the benefits of centralizing computing to the datacenter but need additional functionality beyond what session-based desktop deployment offers. Some of the features of the Microsoft virtual machine-based desktop solution include:
Unified Management – personal virtual desktops are managed by using the same tools used to manage physical PCs – System Center Configuration Manager. The VMware datasheet talks about Horizon Mirage as their PC management tool, but then they say that they don’t support using Mirage to manage virtual machines in VDI. If you have a mix of physical and virtual machines in a VMware environment, you’ll have to manage them two different ways!
Accelerated Graphics Support – A Microsoft virtual machine-based desktop deployment will utilize the CPU to provide an accelerated graphics experience to users, and also includes the RemoteFX virtual graphics processing unit (vGPU), which will share physical GPU resources installed on the server among virtual desktops to improve the performance of video and 3D apps. RemoteFX is currently the only way to get an accelerated graphics experience for multiple users from a single GPU – other solutions require mapping a GPU installed on the server to a specific virtual desktop.
Dynamic Memory – Hyper-V includes the ability to dynamically add or remove RAM from virtual machines based on utilization. In a virtual machine-based environment, this can increase the density of virtual machines per server by up to 40%, reducing the cost of a virtual machine-based desktop solution. For more info about these results, see the blog article Hyper-V Dynamic Memory test for VDI density.
Flexible Storage Options – Hyper-V in Windows Server 2012 supports multiple storage options for virtual hard disks: locally attached storage, SAN storage, and SMB shares. This enables IT pros to leverage existing investments in storage technology, or build inexpensive storage arrays by using Windows Server Storage Spaces and local storage.
Scalability – A virtual machine-based desktop solution can be deployed completely on a single server, or scale to thousands of users. All management functionality is exposed via Windows PowerShell, so all management tasks can be automated. All the roles in a deployment can be configured for high availability, so there’s no single point of failure in a virtual machine-based desktop solution.
In addition to the offering from Microsoft, there’s a rich ecosystem of partners who have built on our solution. There are several companies that provide RDP clients for non-Windows desktops such as iPads and Android tablets, as well as several thin and zero client vendors.
VDI, both session-based and virtual machine-based, enables scenarios that simplify management, secure access to data, and enable mobile workers. Microsoft offers IT pros flexibility in choosing the right mix of technologies to deliver a VDI solution while providing:
Find out more, or download and start evaluating today at www.microsoft.com/vdi
Just as an FYI, VMware View has these same three kinds of provisioning available...
Automated Pools, such that one master image VM can be cloned into multiples and give several people their own personal VM on the fly.
Manual Pools, such that each person can be given a customized VM desktop.
Terminal Service Pools, such that many people can connect to the same VM via MS Terminal Services.
Can you clarify how you see VMware supporting session-based VDI? In their own datasheet, they disparage this model as "a shared slice of a Windows server" with some FUD about how that model is vulnerable to crashes. See www.vmware.com/.../VMware-View-MicrosoftRDS-Datasheet.pdf
#3 in your list doesn't sound like VMware's offering, but VMWare hosting Microsoft's offering.