Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We currently have 40+ desktops which are solely used for remote desktop access to run things like Visual Studio, Clearcase, and other related development tools. These are commonly used by remote users who have slow VPN connections or work from home frequently. The current desktops are Dell's running Xeon E5506's (2.16 Ghz) and 3GB of RAM. Everything else is pretty much standard on these machines.

Would moving to some type of virtual machine setup to accommodate these users be economical? I believe we lease the PC's from Dell currently are a corportate rate (somewhere around $100/month I believe?? Guessing here...).

share|improve this question
Something that's unclear - are you leasing these desktops and they sit in the office and users remote into them? Or you lease these and give to users to take home and use for remote access? I think this is an important clarification for Chris' answer below. You may not need any thin clients, just a virtual host for View workstations. However, you are talking about $1200/yr x40, or $48,000/yr for your current setup, or roughly the same cost one time for a new View setup and 3 years of support. Cost-effectiveness is a question for the CFO since leasing may affect write-offs. – Jes Sep 8 '10 at 16:48

You're going to need to do a proper cost/benefit analysis on this, tailored to your specific scenario.

The main advantage of implementing a VDI solution is for situations where you do precisely the same thing on a lot of workstations for a lot of users, and can connect them all back to a single central system.

In your case, I'd look very closely at:

  • How varied the requirements are between each of your users in terms of the configuration of their workstation, and whether there are clumps of users you could comfortably group as running identical setups
  • How much it'll cost you per month to lease thin-client units as opposed to the full workstations you currently lease
  • How much RAM per client you'll need in your VDI, and translate that to how much RAM you'll have to stack your host servers with.
  • Identify any rich content requirements on clients and be aware of the limitations of VDI that are otherwise trivial to regular workstations. Any 3D output isn't going to be happening yet (Although RemoteFX is available for Hyper-V, it's not gonna be cheap to implement once you start speccing up 4Gb Quadros) and even things like rendering flash or video can be big problems for any kind of remote desktop.

IMO the VDI/Thin client architecture still doesn't stack up as particularly cost-effective, and won't unless the cost of thin client hardware drops significantly. The main benefit is for situations (e.g. Point of sale) where you want to keep the operation of the system as close to the centre as possible).

One option I often float and implement cheaply/effectively is to setup a terminal services environment that serves up the core business apps to any and all clients - This ignores the stuff that people like to customize (development environments etc) but standardizes access for your 'cookie cutter' applications (e.g. timesheet system, payroll). This, and/or shifting some stuff out to SaaS applications (e.g. can cut down the amount of extra hassle you have to go through for giving VPN users access (you just let them reach the TS), and less time spent configuring each PC with all the fiddly apps.

share|improve this answer
Completely agree on the thin clients; while not scalable from a manpower perspective, I ended up rolling my own thin client using a mini-ITX system with a CompactFlash-to-IDE adapter, 1 GB of DDR2 RAM, and a modified Ubuntu 10.x with read-only partitions. First was expensive, dd imaging and help from a co-op kid to assemble the next 10 was not. Came in under $300 and a scripted configuration means less than 10 minutes per thin client setup time. – gravyface Sep 8 '10 at 13:26
Simple Thin Clients are available from HP for $200. TCs with more flexibility start at $300. They're not as expensive as they used to be. – Chris S Sep 8 '10 at 19:24

You have two options really - deploy a Windows Terminal Server or use a desktop virtualization like VMware View. Does each user really use the 3GB of RAM? If so, then I'd recommend going with the VMware View option. With that solution, you'll be able to reserve all (or a large part) of that 3GB RAM for each VM that you need to run. I'm not sure that's possible with Terminal Server. You could do this on the standard (non-View) VMware infrastructure, but you'll lose some of the nice features that View would give you like automatic provisioning/deprovisioning, Master VM images, etc.

share|improve this answer
Hyper-V does VDI integrated with RDS and makes provisioning new desktops quite painless if properly configured. The 2008 R2 SP1 (currently in Beta) also allows for Dynamic Memory Allocation, so Desktops not using the whole assigned 3GB don't actually use the physical 3GB. The VMware options works just as well, as you noted. – Chris S Sep 8 '10 at 19:20

Yes, it probably is. Assuming you have a stack of machines set up solely for 1 user to RDC into... you can save a lot by hosting them all on a single server. VMWare is good choice for this, if the desktops are all very similar (even slight modifications to an image) then VMware will re-use the RAM that is shared amongst the running images. (eg you have 20 guest images all running Windows, you don't need 3GB RAM for every machine as a lot of the memory use will be duplicated - VMWare consolidates the duplicate pages so you have to use less physical RAM. Pretty neat I think).

You might like to check out creating a single guest image and then using snapshots to allow each user to modify it so they all get their own PC image, but the majority of the image is a shared single image.

You'll still need to try it out, although I guess your developers won't notice a performance hit as they're over a slow connection, they might notice compile times drop as that uses a lot of IO, and VMs aren't the best at providing IO rates like a native machine (especially as that disk array is used by many users all at once whereas before it was 1 disk per user)(so get a good array and configure it as RAID 10).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.