Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Possible Duplicate:
15 to 20 developers on VM

Looking to upgrade dev boxes for my dev team. I have spoken with my CTO and he's potentially giving me the option go to either buy powerful boxes (let's say core i7, 8GB of RAM) - spend maybe a max of $1000-$1200 per box or, I can take about $15k to invest in a VMWare server for my team.

I have a team of 7 (soon to be 8) developers and we ultimately want more flexibility to create development environments easier, without relying on our IT dept to build new boxes for us. Obviously, there are a bunch of other benefits with VMWare like increasing our ability to create our own testing environments, etc.

If I go the VM routine, I'm going to dump the 15K all into hardware, and just run the VMWare ESXi free hypervisor - as I believe that will work well for my team's needs. However, will a 15k worth of server hardware chopped up 8 ways compare in performance (or come close?) to smokin' hot core i7 PC's for everyone? Maybe even if the VM's a little slower - all the other benefits make VM the overall better pick?

Interested in hearing from people who've had to made this choice.

share|improve this question

migrated from stackoverflow.com May 4 '11 at 13:29

This question came from our site for professional and enthusiast programmers.

marked as duplicate by GregD, Iain, SvW, Shane Madden, Ben Pilbrow May 5 '11 at 7:33

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
This is totally subjective... but before it gets moved i would comment that while VMs sound great and have some positives, $15K isn't going to get you far, especially if you have to get a consultant involved. –  slugster May 4 '11 at 13:17
    
Although they talk about KVM on linux, there's some discussion of cost and speed of VMs in this thread. –  R0MANARMY May 4 '11 at 13:19
add comment

3 Answers

In my opinion, I would go with high power workstations. You will need to have extremely well optimized storage in your VM environment if you hope to keep your devs happy. In my environment, each dev is running multiple instances of SQL, which would keep the disks very busy all the time in a VM environment.

If you want to make development tasks easier with more flexibility and scalability, a better thing to do would be to implement a repository of some sort, such as Team Foundation, or whatever is applicable to your shop.

share|improve this answer
add comment

In my eyes it's not "either, or" situation.

Your developers need as fast machines as you can get them. It improves their efficiency, it gets job done faster and prevents them from getting distracted while waiting for their computer to finish a task.

Your developers also need an environment to test their application. Installation, de-installation, if it works in specific setup. If it is a client-server app, then they need several systems to test the application, and every one of them needs the environment, to be able to hunt their own bugs, not fight each other for access to the test bed.

Therefore, the answer depends on what you have now. If you have just desks, chairs and coders, you need workstations, because people have to work somewhere. If you have decent hardware and think about upgrade, then get a station for the 8th developer and get them their own playground^H test environment. Ability to create and tear down machines with any configuration they like is going to be very useful. They will appreciate restoring snapshots too. OTOH if you have slow machines, but a semi-decent IT department to create test environments for your guys, then get them faster physical machines.

As far as speed goes, workstations will be faster. You are talking about 32+ real cores and 64 GB of RAM dedicated just for development environment. CPU usage will depend on speed of your development cycle (how often do they compile/perform other CPU-intensive tasks), but you would like to give them at least 48 GB RAM, allowing for VMware's memory deduplication (if their environments run identical OS and, preferably, identical development tools). Still they would need something on their desk to connect to the virtual infrastructure.

On the storage front, if you don't have something, that you can attach to your VM infrastructure, then an entry-level dual controller FC system will eat better part of your 15K USD. In that case building a virtualised development environment doesn't look feasible to me.

share|improve this answer
add comment

I think the choice between really nice PCs for a local "sandbox" vs a common test machine is really specific to how your team works. In our environment, we have central test servers that all of the developers share because they can share a lot of common components. We're mostly developing on Windows so we have a couple domain controllers on virtual machines, a few common SQL servers that they mostly share and then extra VMs for whatever project each person is working on. The upside is this test lab does provide a common level of services that they all share and don't have to build separately on their own machine but they still have a lot of flexibility to have their own VMs for whatever.

$15K isn't going to go a long way for a dev server but it really depends on what kind of work they are doing. Are they using it only for configuration type testing where they make sure their code works against whatever systems it integrates with? Low power VMs can certainly handle that. But if they want to do any kind of load testing that wouldn't work with your budget.

We just happened to purchase a box for some testing that we spent about $15K on. It's a Dell PowerEdge T710 with 16 internal drives, 64GB RAM, and two 6-core processors. You can easily get 35 low power VMs on that box.

Obviously with your budget you're not going to be buying some external storage array and certainly not fiber channel but a simple machine with a bunch of big disks would do the trick.

share|improve this answer
add comment

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