{"id":735,"date":"2010-05-24T08:14:30","date_gmt":"2010-05-24T08:14:30","guid":{"rendered":"http:\/\/refraction.co.uk\/blog\/?p=735"},"modified":"2010-05-21T17:26:55","modified_gmt":"2010-05-21T17:26:55","slug":"virtual-desktop-infrastructure-vdi","status":"publish","type":"post","link":"https:\/\/refraction.co.uk\/blog\/2010\/05\/24\/virtual-desktop-infrastructure-vdi\/","title":{"rendered":"Virtual Desktop Infrastructure (VDI)"},"content":{"rendered":"<p>It seems that these days pretty much every cold call I get from a vendor is about VDI.\u00a0 If you\u2019re an enterprise it seems that it\u2019s pretty much anyone wants to talk to you about.\u00a0 It\u2019s clearly the topic of the day, but what does it actually mean?<\/p>\n<p>At work I\u2019ve been looking at options for VDI for a while, but to be honest I prefer to refer to the topic as Centralised Desktops.\u00a0 For me \u2018VDI\u2019 implies a particular solution, whereas in fact if centralisation is something you want, you should be looking beyond simple virtualisation.<\/p>\n<p><a href=\"https:\/\/refraction.co.uk\/blog\/wp-content\/uploads\/2010\/05\/VirtualDesktopReferenceArchitecture.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px\" title=\"Virtualised Desktop Reference Architecture\" src=\"https:\/\/refraction.co.uk\/blog\/wp-content\/uploads\/2010\/05\/VirtualDesktopReferenceArchitecture_thumb.jpg\" border=\"0\" alt=\"Virtualised Desktop Reference Architecture\" width=\"448\" height=\"358\" \/><\/a><\/p>\n<p>So what it?\u00a0 Well simply put, it\u2019s about moving the <em>execution<\/em> of your desktop environment away from your users desks and into a managed central location, probably a data centre.\u00a0 So no more desktop computers (well, probably\u2026 but we\u2019ll come to that another time).<\/p>\n<p>Instead, on each desk you put a Thin Client.\u00a0 These are small, cheap, power efficient devices that really don\u2019t do much more than receive the \u2018screen\u2019 from the newly centralised desktop and send the keyboard and mouse information back down down the wire.\u00a0\u00a0 The actual OS and applications are running in a far off data centre.\u00a0 This is where is get interesting, as there are many platforms that these can run on.\u00a0<\/p>\n<p>The solution most people think about with VDI is running the desktop OS and apps on a virtual machine.\u00a0 In this scenario you\u2019d typically have a server running a hypervisor such as <a title=\"VMWare\" href=\"http:\/\/vmware.com\" target=\"_blank\">VMWare<\/a>, <a title=\"Microsoft HyperV\" href=\"http:\/\/www.microsoft.com\/windowsserver2008\/en\/us\/hyperv.aspx\" target=\"_blank\">Hyper-V<\/a> or <a title=\"Citrix XenDesktop\" href=\"http:\/\/www.citrix.com\/English\/ps2\/products\/product.asp?contentID=163057%20&amp;ntref=prod_top\" target=\"_blank\">Citrix\u2019s Xen<\/a>.\u00a0 That server would host a number of desktop OS\u2019s that can be presented out to the thin clients on peoples desks.<\/p>\n<p>Now that\u2019s a good approach for most people, but it\u2019s not the only one.\u00a0 For high end users, guys doing CAD or analysis work, a VM isn\u2019t going to cut it.\u00a0 A share of CPU time and memory might not be enough.\u00a0\u00a0 For these sorts of users something like <a title=\"HP Blade Workstations\" href=\"http:\/\/h18004.www1.hp.com\/products\/blades\/workstation\/solution.html\" target=\"_blank\">HP\u2019s Blade Workstations<\/a> could be an answer.\u00a0 These are basically high spec computers squeezed into a blade form factor.\u00a0 If you\u2019re familiar with blade servers they\u2019re basically the same thing but with better graphics capability.<\/p>\n<p>So using Blades you can give end users very high end computing capacity from a remote location.\u00a0 But what about the other end of the spectrum, the people in your organisation who have very low computing requirements.\u00a0 There\u2019s a pretty good chance that for some people even a desktop VM is overspec\u2019d.\u00a0 For these guys more traditional Citrix\/Terminal Services type solutions are still a very good fit.\u00a0<\/p>\n<p>In that sort of scenario you\u2019d have single server OS that many people would connect and logon to.\u00a0 They can then share the OS and applications running on it as they are presented back to the thin client.\u00a0 Of course in that instance each user is only getting a share of the server and OS resources, but the point is exactly that.\u00a0 Each user consumes a share of a single server (and its costs) and a single OS (and its costs).\u00a0 Per user its cheap!<\/p>\n<p>So that\u2019s what the two ends of the solution look like.\u00a0 But how do you link them up?\u00a0 First lets talk about how the \u2018screen\u2019 gets from the centralised desktop to the thin client (and of course the keyboard and mouse back the other way.<\/p>\n<p>There are a number of protocols for achieving this.\u00a0 For years <a href=\"http:\/\/www.citrix.com\" target=\"_blank\">Citrix<\/a> has had <a title=\"Citrix ICA\" href=\"http:\/\/en.wikipedia.org\/wiki\/Independent_Computing_Architecture\" target=\"_blank\">ICA<\/a>.\u00a0 It\u2019s tried and tested, I\u2019d hazard a guess that most larger businesses are probably using it in some way or the other.\u00a0\u00a0 <a title=\"Microsoft\" href=\"http:\/\/microsoft.com\" target=\"_blank\">Microsoft<\/a> has <a title=\"Microsoft RDP\" href=\"http:\/\/en.wikipedia.org\/wiki\/Remote_Desktop_Protocol\" target=\"_blank\">RDP<\/a>, which has shipped with every version of windows since Win2000.\u00a0 Again, it\u2019s tried and tested, remote assistance uses it for example, and imagine pretty much every Windows server in the world uses it for management.\u00a0 The problem with these protocols has been that whilst they\u2019re great for running bog standard Windows and office apps, as soon as you throw anything complicated like graphics or media at them they start to choke.\u00a0 They\u2019ve improved a lot over the past few years, but there are still limitations.<\/p>\n<p>In addition to the Citrix and Microsoft protocols there are more specialise alternatives that aim to improve the experience for media intensive applications, or users over long connections.\u00a0 A good example of this is <a title=\"HP Remote Graphics Software\" href=\"http:\/\/h20331.www2.hp.com\/Hpsub\/cache\/286504-0-0-225-121.html\" target=\"_blank\">HP\u2019s RGS<\/a> protocol or <a title=\"Citrix HDX\" href=\"http:\/\/hdx.citrix.com\/\" target=\"_blank\">Citrix\u2019s HDX<\/a>.\u00a0 Last year we ran a proof of concept using RGS that saw people in our Bangalore office happily using AutoCAD on desktops hosted out of an office in Bristol.\u00a0 It works very well indeed.<\/p>\n<p>There are other solutions such <a title=\"Teradici\" href=\"http:\/\/www.teradici.com\/\" target=\"_blank\">Teradici\u2019s<\/a> <a title=\"Teradici PCoverIP\" href=\"http:\/\/www.teradici.com\/\" target=\"_blank\">PCoverIP<\/a> which originally used hardware acceleration at both ends to improve performance, but is now being used by <a title=\"VMWare\" href=\"http:\/\/www.vmware.com\/products\/view\/\" target=\"_blank\">VMWare<\/a> in a software only capacity as part of it <a title=\"VMWare View\" href=\"http:\/\/www.vmware.com\/products\/view\/\" target=\"_blank\">View<\/a> product.\u00a0 On paper this looks very good, but I\u2019ve not really had a chance to try it first hand yet.<\/p>\n<p>What connects the thin client to the centralised desktop?\u00a0 In the simplest of deployments you can actually hard code a thin client to talk to a specific desktop\/server.\u00a0 In essence this gives you a 1:1 connection.\u00a0 That\u2019s not necessarily the smartest route though.\u00a0 Most solutions will now use a connection broker to negotiate the right central desktop for each thin client or user.\u00a0 To my mind\u00a0 good broker is where the intelligence come into the solution.<\/p>\n<p>Personally I feel that there isn\u2019t a one-size-fits-all solution for VDI.\u00a0 Perhaps for some organisations that\u2019s not true, but for many I think a blend of solutions will be the best choice.\u00a0 A broker helps you do this.\u00a0 Say you have a mix of virtual desktops and blade workstations.\u00a0 How do you make sure your users get the right desktop?\u00a0 Well a broker will look at the connection request, who it\u2019s from or where, and connect the thin client to the right back end.\u00a0<\/p>\n<p>What\u2019s more, because this process is dynamic it doesn\u2019t necessarily have to connect the user to the same desktop each time.\u00a0 Say some of your central\u00a0 desktops are down for maintenance, the broker would direct them to one that was working.\u00a0 Even better, if you have say 10,000 people in your company, it\u2019s a fair bet that maybe only 80\/90% of them are working at any given time.\u00a0 In that case why have 10,000 desktops computers and licenses?\u00a0 Just have say 8,500 and let the broker make sure they are utilised.\u00a0 Depending on the solution the broken can even go off and provision more VM\u2019s should extra people show up.<\/p>\n<p>Of course in truth it\u2019s not quite that simple.\u00a0 For one thing if your desktops aren\u2019t going to be persistent, (i.e. not tied to a single user\/thin client) you need to work out what to do with your users applications, \u2018profile\u2019 information and data.<\/p>\n<p>Data is the easy one, just don\u2019t have any of it local.\u00a0 Put everything on network shares, in Sharepoint or in some other system.\u00a0 If your desktops are in a data centre next to those storage systems they\u2019ll get fast access to everything they need \u2013 faster than a traditional desktop would get.\u00a0 Local data is pretty much always a bad idea anyway.\u00a0 The one exception might be with Blade workstations, where demanding apps might need local storage to caching data etc.<\/p>\n<p>Your users \u2018profile\u2019 information is slightly more tricky.\u00a0 If they are effectively moving to a different computer every day, you need to make sure that they\u2019re settings follow them across those different desktops.\u00a0 One solution would be <a title=\"Roaming User Profiles\" href=\"http:\/\/en.wikipedia.org\/wiki\/Roaming_user_profile\" target=\"_blank\">Windows Roaming Profiles<\/a>.\u00a0 These have been around for years and can work well.\u00a0 Other solutions such as <a title=\"Appsense\" href=\"http:\/\/appsense.com\/\" target=\"_blank\">Appsense<\/a> or <a title=\"RTO Virtual Profiles\" href=\"http:\/\/www.rtosoft.com\/\" target=\"_blank\">RTO\u2019s Virtual Profiles<\/a> do things in a slightly different, more efficient way, but achieve the same goal.<\/p>\n<p>Applications, now that\u2019s the difficult one.\u00a0 If you think of a normal PC, apps are almost always installed locally, either by CD\/DVD or in business probably over the wire using something like <a title=\"System Center Configuration Manager\" href=\"http:\/\/en.wikipedia.org\/wiki\/System_Center_Configuration_Manager\" target=\"_blank\">SMS\/SCCM<\/a>.\u00a0 That installation takes time, and it\u2019s not something you can afford to do every time a user logs on to a centralised desktop to make sure they\u2019ve got the right applications.<\/p>\n<p>There are two answers to this.\u00a0 Application Virtualisation and (once again) Terminal Services.\u00a0\u00a0 App Virtualisation has been around for a few years, but has only really taken off over the last year or so.\u00a0 It\u2019s a complex technology, but basically it separates the application from the OS,\u00a0 allowing it to run in it\u2019s own mini-virtual environment.\u00a0 With the app separated from the OS, your not restricted to traditional installations.\u00a0 Most app virtualisations technologies will allow you to \u2018stream\u2019 the application down to computer as and when it is needed.\u00a0 Again, this is complex but for an end user is means that when they click on the icon, the technology downloads the application components as they are needed so there\u2019s no long installation, just a small initial delay.<\/p>\n<p>There are however some limitations to app virtualisation, which means that other solutions like terminal services may still have a place in a VDI environment.\u00a0 say you have an app that just won\u2019t work in <a title=\"Microsoft App-V\" href=\"http:\/\/en.wikipedia.org\/wiki\/Application_virtualization\" target=\"_blank\">App-V<\/a> or <a title=\"Citrix ZenApp\" href=\"http:\/\/www.citrix.com\/English\/ps2\/products\/product.asp?contentID=186\" target=\"_blank\">XenApp<\/a> or other virtualisation tools?\u00a0 In that case you can install them natively on a Windows OS and present them out to the virtual desktops using terminal services.\u00a0 it may sound a little convoluted, but it works.<\/p>\n<p>So\u2026 that\u2019s a real high level view of what VDI is.\u00a0 Hopefully it all made sense.\u00a0 I\u2019m planning to to some follow up posts with some more detail, but for now here\u2019s a quick diagram showing a reference architecture for a VDI implementation (the diagram above).\u00a0\u00a0 Again, it\u2019s quite high level, but I think it shows how these things all fit together.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Virtual Desktop Infrastructure (VDI) is a hot topic, with solutions from Microsoft, Citrix and VMware leading the way.  But what is it and how do application virtualisation (App-V, XenApp, ThinApp), brokers and remote protocols fit in?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[391,389,390,393,13,107,388,394,27,392],"class_list":["post-735","post","type-post","status-publish","format-standard","hentry","category-tech","tag-app-v","tag-applicaion-virtualisation","tag-blade-workstaion","tag-citrix","tag-microsoft","tag-vdi","tag-virtual-desktop-infrastructure","tag-vmware-view","tag-windows","tag-xenapp","entry"],"_links":{"self":[{"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/posts\/735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=735"}],"version-history":[{"count":5,"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/posts\/735\/revisions"}],"predecessor-version":[{"id":742,"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/posts\/735\/revisions\/742"}],"wp:attachment":[{"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/refraction.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}