I am starting to get quite sick and tired of setting up all my dev tools every time that I need to move to a new machine, or get a laptop, or screw up my registry with constant installs and uninstalls.
So new plan. I have heard of people virtualizing their development environment and this sounds like a great idea. Only problem is that I have scant little experience with running virtual machines so I do what I always do when I just don't know, I ask stackoverflow.
Do you run your development environment in a virtual machine? What should I look out for? What are the non-obvious advantages?
I've got the free version of VMWare server installed on a Dell Optiplex 760 with XP that is on my company's Active Directory domain.
In it I created a 25 gig VM called Dev Tools with XP installed, this is not on any domain. This is where Visual Studio, TortoiseSVN, Git, Ruby, Toad, etc are going to go. I will also create a virtual disk for storing code files.
Some more questions:
- Should I do my daily web-browsing on the host machine or should I spin up yet another VM for it? What is the rule of thumb to use when deciding whether to install an non-dev application (like GIMP) to the host or new VM?
- What about my development database? Should that get its own VM?
- What is the best arrangement of physical hardrives? Should I avoid having the host and client VM on the same one? I am planning on getting an SSD - how do I optimize the speed that this will offer?
- Developing .NET without admin rights is a pain in the ass but should I bother running as administrator on my host machine?
- Any good solutions for backing up my 25 gig dev tools machine? How frequently do you take backups? I don't want to restore it a year from now and have to spend days updating every single application on there.