Remote desktop and VDI
In my post yesterday I showed I gave you an introduction to Remote Desktop Services, today I want to contrast and compare a traditional remote desktop approach with the shiny new thing that is Virtual Desktop Infrastructure (VDI), in order to understand when to use them.
First of all why would you use either of them?
- Efficiency. You might decide remote desktops are a simple way of provisioning IT in hot desk areas ,branch offices, everywhere and deploy thin clients in place of PCs. An added advantage is that any user can use any desktop.
- Environment. You might achieve better control of your power usage by deploying low power thin clients on desks and pulling the computing power needed into a well managed data centre. However I am cautious about this as I think the savings are marginal unless you are also doing this for reasons like moving up to newer operating systems and doing a lot of consolidation as well as the energy and real costs of replacing hardware well have a long pay back period.
- Security. With a remote desktop solution all the data is in the data centre, so data loss whether accidental or deliberate is less of an issue.
- Manageability. Virtualising desktops is seen as a way of controlling the desktop by the IT department.
RDS has long been used as a solution to these issues, so what makes VDI better or indeed worse?
- Efficiency and the Environment. The idea behind any desktop virtualisation solution is to put all the computing power used by your users in the data centre with only the screen , keyboard and mouse on the users actual desk. The question then is how many concurrent desktops can I cram into one server in my data centre, as this will determines the energy and costs saving that can be made.
If I elect to use VDI I create a virtual machine (VM) for each of my users so the number of users I can support will depend on how many VMs I can run concurrently. Each VM will have its own operating system , plus any applications the users want to run. RDS works completely differently as each user session is not another copy of the OS with all its applications. Buried in the Remote Desktop Session capacity planning guidelines there is is this table..
Server Configuration |
Scenario |
Capacity |
AMD Opteron Quad-core CPU 2.7 GHz 512 KB L2 Cache 32 GB Memory |
Knowledge Worker v2 |
110 users |
2 x AMD Opteron Quad-core CPU 2.7 GHz 512 KB L2 Cache 32 GB Memory |
Knowledge Worker v2 |
200 users |
AMD Opteron Quad-core CPU 2.7 GHz 512 KB L2 Cache 32 GB Memory |
Knowledge Worker v2 without PowerPoint |
180 users |
2 x AMD Opteron Quad-core CPU 2.7 GHz 512 KB L2 Cache 32 GB Memory |
Knowledge Worker v2 without PowerPoint |
300 users |
Contemporary VDI solutions would be pushed to support 20 users on this, based on the memory alone, so RDS is at least 5X as efficient as VDI for this kind of workload and I am being very generous to VDI here.
Security. Both Microsoft RDS and VDI are equally secure as they both use the same protocol (RDP Remote Desktop Protocol) to connect to the desktop from the local device.
Manageability. In RDS you manage the server and the set of applications that are installed on it for use by the users. Also the user state doesn’t persist so the desktop returns to a known state at the end of a session. In VDI the operating system and the user applications are installed in each VM, all of which needs to patched updated and monitored. The fact you are running users’ desktops in VDI doesn’t actually change the manageability problem at all; and any tools like System Center you would use to do this would work equally well on physical desktops or VDI. BTW there is nothing to stop you running the Remote Desktop Session Servers as vms to get the benefits of server virtualisation.
So why would use VDI at all ?
RDS works well where you have a large community of users with similar and basic needs e.g. Information Workers who need to use Office , access the company intranet and internal applications like ERP and thus have one of a limited number of standard desktops with no persistent user state.
VDI gives each user a very personal desktop and the users state persists between sessions. This is might be essential for some power users with specialised needs, for example contractors who need special tools like Visual Studio and Expression, Actuaries, specialist financial staff and so on. VDI enables these users to be able to use the same thin clients as their colleagues, and to work remotely (where there are reasonable communications), from thin clients or low power PCs.
With the way the new component parts of the Microsoft Remote Desktop infrastructure works these two classes of users will have the same user experience and will not know whether they are in fact using RDS or VDI.
To conclude
- For most thin client solutions RDS is much more efficient than VDI, but there are niche uses cases where VDI makes sense
- VDI is not any more easier to manage than if that users desktop were running on the equivalent physical PC, in fact the same management tools work in both cases
Further Reading