Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

we are using slow developer notebooks. They come equipped with vista and 2 gb rams, which slows down everything. Someone decided a good resolution would be to use vmware clients instead of faster pc hardware. VMWare clients would run on dual core xeon cpu's. What do you think of that and what backdraws will probably result out of it?

share|improve this question
3  
How many developers are we talking here? Would all virtual machines be on the same physical box? Off-hand that sounds like trouble. Buy some real hardware for your developers. :) Alternatively, you might see some improvement from replacing Vista with Windows 7. Anecdotally, I turned a low-end consumer laptop with 1GB RAM from a doorstop into a usable machine just by upgrading to Win7. It's a lot easier on resources than Vista. –  Anna Lear Jun 30 '11 at 13:41
1  
Is that a dual core per developer or one between the developers. If it's the later then I'd stick with your notebooks, it's likely to be faster... –  Jon Hopkins Jun 30 '11 at 13:52
    
Can't you just get the RAM upgraded? Under Windows that's usually a pretty cheap performance boost. Or is there no upgrade capacity? –  Jon Hopkins Jun 30 '11 at 13:55
    
If choosing desktops will afford you more performant machines, why use notebooks for development? (I know there are legitimate reasons for using notebooks, so please mention those.) –  rwong Jul 1 '11 at 5:36
    
we are talking of certainly more than 20 developers. Installing win7 on the general company notebook just aint an option. We plan to use win7 on the VMWare –  Toskan Jul 1 '11 at 9:21

8 Answers 8

up vote 14 down vote accepted

Be VERY careful here. I was recently deployed to a customer where everyone in the IT department had their VM essentially for the same reason - to enable them to have lower end PCs on the desk and then to remote into the VM and do their normal work.

The experience there was not pretty. At least once per week we were running extremely slow for various reasons. Generally, we could tell when someone on the team was running a set of processor intensive SSIS packages. They did eventually move a few of us off to different servers, which helped some, but performance was never right.

I think if you are going to do it - do your due diligence into server power, your processing needs, how many machines you are going to serve up, etc. It could save you some money, but if not implemented correctly, can cause LOTS of headaches.

Please note: this is NOT a flame of VM architecture - just a warning for folks who are looking into it - make sure you have your ducks in a row before implementation.

share|improve this answer
1  
+1 Do your homework! The guy who did it at my last company had experience and it went off without a hitch. It was the best system I've ever used for development, but took the better part of a man-year to design and implement. –  Christopher Bibbs Jul 1 '11 at 1:44

My team successfully implemented a "slow PC/Fast VM server" configuration. For a team of 20 developers, we had a 8 processor, 256GB RAM server connected via fiber to a very fast SAN. It was expensive, but cheaper than giving each developer a workstation with similar performance. For a small team (4 developers) I'm not sure the economies of scale would kick in and actually save you anything.

share|improve this answer
1  
Did you run into issues in other VMs when one started compiling a large project or do other resource intensive tasks? –  TheLQ Jul 1 '11 at 0:46
    
@TheLQ No problems, but the guy who designed the system had done it previously so the hardware was selected and tuned just for this task. The last I asked him, he said the processors were always mostly idle, but the disks spun like mad. –  Christopher Bibbs Jul 1 '11 at 1:35
    
so one san disk was going on the edge with 8 developers - what would you say to ~20? how many san do we require for that task? –  Toskan Jul 1 '11 at 9:27
1  
@Toskan No, we had 20 developers and 8 CPUs in the server. As for the number of disks, I believe our SAN had 12 disks, but I cannot be certain. –  Christopher Bibbs Jul 1 '11 at 12:16

Potential drawbacks

  • If the VM host goes down... you're all hosed. If you've ever had a team of 20 people yell "GAH! HOST NOT RESPONDING!?" in unison... it's not fun.
  • If you're permitting snapshots... those eat up resources quickly. 20 people * 10-20 snapshots each makes for lots of HDD space (or at least enough to start causing problems).
  • If you do encounter problems with resource usage on the host, again, everyone experiences the pain.

IME, it's a good solution and it does work, but you need some decent hardware on the host and when bad things happen, they happen to everyone.

share|improve this answer

This fails one of the most important criteria of the Joel test.

I make sure all my developers have at least an i3 or better laptop or desktop with as much RAM as it can possibly hold.

8GB is what I strive for.

It makes them more productive, and they can actually run Virtual Box on their local machines for development and testing, instead of on expensive to maintain servers. They can snapshot their Virtual Box install crazy stuff and test different browsers and installers and everything and in seconds be back to a known good configuration without any need to contact "IT" services.

Developers need the fastest machines in the company, with the most RAM and root permissions on their local machines. End of story.

share|improve this answer

We do that for our remote machines and it works fairly well. Most rarely work from home (normally only for an emergency fix here and there) so we just use fairly lowend netbooks, remoted into our speedy desktop machines at the office. They are definitely still slower (probably limited by the network more than anything), but work for short tasks every now and then. This would really not be acceptable for a full time work horse, however, since VM can frequently cause a bit of lag that even with the best hardware, IMHO, is a bit distracting.

share|improve this answer

On a slightly different tack - have you given your managers/accountants a spreadsheet highlighting the cost of using these slow machines? Point out to them that a VM solution (unless done right, and that ain't easy) might simply put the developers and therefore the company in the same boat.

share|improve this answer

This will depend on how much adminsitrative power you have over the VMware install, if you are put into a low priority subpool then you will have slow machines depending on the activity of other subpools.

share|improve this answer

Hardware is cheap, programmers are expensive.

Why would you want your programmers to be frustrated by giving them slow development machines? The cost of upgrading hardware pales compared to the performance benefit they will gain.

Ask for better machines. At the very least ask for 4 gb ram. Adding another 2gb tablet will be earned back in less than a week.

share|improve this answer
    
problem is the 32 bit windows which is installed on the notebooks –  Toskan Jul 14 '11 at 8:52

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.