Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you set up your virtual machines?

Recently the buzz of virtualization has reached my workplace where developers trying out virtual machines on their computers. Earlier I've been hearing from several different developers about setting up virtual machine in their desktop computers for sake of keeping their development environments clean.

There are plenty of Virtual Machine software products in the market:

  • Microsoft Virtual PC
  • Sun VirtualBox
  • VMWare Workstation or Player
  • Parallell Inc's Parallells Desktop

I'm interested to know how you use virtualization effectively in your work. My question is how do you use Virtual Machines for day-to-day development and for what reason?

like image 612
Spoike Avatar asked Jan 02 '09 11:01

Spoike


People also ask

Is it easy to set up a virtual machine?

Setting Up a Virtual Machine. Once you've decided on a VM app and gotten it installed, setting up a VM is actually pretty easy. We're going to run through the basic process in VirtualBox, but most apps handle creating a VM the same way. Open up your VM app and click the button to create a new virtual machine.


1 Answers

I just built a real beefy machine at home so that I could run multiple VMs at once. My case is probably extreme though, but here is my logic for doing so.

Testing

When I test, particularly a desktop app, I typically create multiple VMs, one for each platform that my software should run on (Windows 2000/XP/Vista etc). If 32 and 64 bit flavors are available, I also build one of each. I also play with the VM hardware settings (e.g. lots of RAM, little RAM, 1 core, 2 core, etc). I found plenty of little bugs this way, that definitely would have made it into the wild had I not used this approach.

This approach also makes it easy to play with different software scenarios (what happens if the user installing the program doesn't have .NET 3.5 sp1? What happens if he doesn't have XXX component? etc?

Development

When I develop, I have one VM running my database servers (SQL2000/2005/2008). This is for two reasons. First, it is more realistic. In a production environment your app is probably not running on the same box as the db. Why not replicate it when you develop? Also, when I'm not developing (remember this is also my home machine), do I really need to have all of those database services running? Yes, I could turn them on and off manually, but its so much easier to switch a VM on.

Clients

If I want to show a client some web work I've done, I can put just a single VM into the DMZ and he can log into the VM and play with the web project, while the rest of my network/computer is safe.

Compatibility

Vista64 is now my main machine. Any older hardware/software I own will not play nicely with that OS. My solutions is to have Windows XP 32 as a VM for all of those items.

like image 170
Giovanni Galbo Avatar answered Oct 07 '22 19:10

Giovanni Galbo