views:

130

answers:

2

I use Linux as primary OS. I need some suggestions regarding how should I set up my desktop and development. I do work on mostly .Net and Drupal, but some time on other lamp products and C/C++, Qt. I'm also interested in mobile (android..) and embedded development.

Currently I install everything on my main OS, even I use it a little. I use VMs a little (for lamp server).

Should I use separate VM for each kind of development (like one for .Net/Mono, another C++, one for mobile and one for db only, one for xyz things etc) Keep primary development environment on main os and move others in VM.

  • main os should be messed up
  • keep things easy to organize (must)
  • performance should be optimal (optimal settings for best performance of components)

I'm interested to know how others' are doing.

+1  A: 
  • Optimal performance != using VMs
  • if you need to use VMs anyway, then yes: it could be better to use a separate VM for each thing that need one, unless you need more than one at once
Lo'oris
by optimal performance I mean optimal performance of individual component (VM), (i.e. with many packages installed server may slow down).
Sharique
A: 

There are both pros and cons with VM's.

Pros:

  • portability: you can move image to different server
  • easy backup (but lengthy)
  • replication (new member joins team)

Cons

  • performance
  • hardware requirements
  • size of backups (20-40 GB per VM ...)
  • management of backed up images (what is the difference is not obvious)
  • keeping all images up to date (patching / Windows updates)

For your scenario, I would create base VM with core OS and shared components (Web server, database), replicated it and installed specific tools into separate VM. If you combine tools within VM, you may end up with same mess as in case of using base OS - the advantage is that it is much easier to get rid of it ;-)

Miro A.