As a Developer, you may headed through this situation “Often doing a Clean installing of Operating system due to a Virus infection, Misconfiguration, lagginess etc”. I often get through this problem. I used to switch to different Operating system (I never stay with one), which ranges from Linux Ubuntu to Windows Server.
It would be a tedious job every time to install all the Application required for development and installing service pack updates since some applications required service pack updates to get installed and configuring the database servers, IDE, API’s etc. I would almost take 2 days to get my system ready and would eat my 8 GB of Internet Data.
After that i planned to use my development tools on a Virtual machine, so i won’t have to reinstall again.
How to build a Virtual machine:
Building a virtual machine is just a few clicks away. Things you need is a enough RAM to run a machine on a top of your operating system, may be a 2 to 4 GB of RAM, Intel VT-x/AMD-V support and a decent CPU (Atleast 2 Cores) and atleast a enough hard drive space(I recommend 20 GB at least).
You can use either Virtualbox or VMware player to run your virtual machine and install your favorite operating system.
If you are new to Virtual machine, you can check these documentation link for How to’s:
Virtual box:
http://www.youtube.com/watch?v=DAT34NRlCvY
http://www.wikihow.com/Install-Operating-Systems-Virtually-Using-Virtualbox
VMware:
http://www.youtube.com/watch?v=d13-ElOirnA
https://www.vmware.com/support/pubs/player_pubs.html
http://partnerweb.vmware.com/GOSIG/home.html
The difference between VirtualBox and VMware is Virtualbox is a opensource application which is developed by Oracle. It is free and a has most of the features which you need to run a virtual machine.Where-as VMware Player is a free application which has a minimal functionality to run a virtual machine.
One important feature which is available in Virtual Box and not available in VMware Player is Snapshot. But VMWare Workstation offers this support.
Snapshots allows user to save the current status of the virtual machine and can revert it whenever needed.The basic idea of a snapshot is that you setup your virtual machine exactly how you want it, take a snapshot, and then you can make any changes you want. You could even install something awful, because it doesn’t matter – all you have to do is roll back the snapshot, and your virtual machine will be exactly how it was before.
Advantages:
Save the state of the system and revert it whenever needed.
You can save the state of the system and revert it whenever you want using Snapshots. It is almost like a restore points which are available on Windows.
This will be a handy tool for developer who try lots of softwares. If something goes wrong, you can revert it with few clicks.
End your development session by just clicking on the close button.
You can end your dev session along with all the opened unsaved windows, Saved!!! Its just by clicking a button. This will be available using Save state option (VBox) or Pause (VMWare).
If you browse too much, or working with many IDE’s, then it would help from relieving some of your headache. You don’t need to open all the projects you need, everytime. Open once, leave it open forever..!!
Clone your system:
A major advantage of Virtual machine is you can clone your system as many as you want. For example, you installed a OS and required softwares in a virtual machine, you need not have to do the process again for another system. Simply you can clone the system. Since all Virtual machines are in file formats, you can clone it as much as you want. In Virtual box, there is a clone option which enables user to clone systems. Multiple copied for same hard drive file may not work since every file possess a UUID.
No Unwanted processes running all the time:
If you have installed a Web Server or a Database server, you might have noticed that all the time they were running. You have to manually stop and start whenever you need it to get ride of these processes. If you were working with three databases, then these would eat up around 600 MB of your RAM. When you are building a Dev machine on VM. These processes starts only when you start your VM and keeps your Host system clean.