Vikasumit

How To: Use Single computer for Multi platform Development
Author : Sumit Gupta

As software industry grow, lots of small developer open a company at their home and start doing coding for their offshore clients. But due to lack of resources, they often fail miserably to complete the project in time. Failure leads to financial loss to client and to developer as well. However, most of those limitations are due to lack of standalone PC a developer/team has.

I obviously go through this phase in my development career, even in my 50+ developer company. We often come short of Hardware PC to test our piece of code, as other teams acquire our 3 testing machine for their purpose and we cannot buy more machines for testing only. To overcome this issue, I search internet and come across well know “Virtual PC” solution. It is well known as most of hosting company gives away Virtual PC now a days and these virtual PC run on this solution only. Also Amazon launched a virtual PC service which uses same technology at backend.

Microsoft provides Virtual PC 2007 free of cost along with Virtual Server (for server products). Both software are good for their purpose, and provide very good OS environment to test your product. So let us take a quick look how to use Virtual PC 2007 to create a testing environment at your home.

First step is to get your physical hardware ready for it. Since virtual PC use dedicated RAM, you need lot of RAM to run more than one image of Virtual PC at a time. I opt to use 2 GB RAM with Pentium 4 Core 2 Duo. Once hardware is ready, install your desire Operating System from Windows that support Virtual PC 2007. I prefer to use most common windows XP.

Second Step is to install Virtual PC 2007 from Microsoft itself. Once install, create a Virtual PC, says for Windows XP as Guest OS. Create Virtual PC and then create Virtual hard disk (.vhd) to store your data. Create as many machines you want. However, depending on your Physical hardware, you can allocate limited ram to these machine along with limited, other resources. And you can run only few virtual machine at one go.

Third step is to configure each individual OS to share a drive so your main (host) machine can share data with these virtual machines. Now map that virtual hard disk to virtual machine. So whenever these virtual machine boot up, they always find the network drive. However, sharing virtual drive disk won’t map it at physical machine startup. So do which one is good for you.

Fourth Step is to use the machine. Very simple isn’t it.

At last, I just want to say that I am using Virtual machine for my multi platform development, along with testing. I create two Linux machine having CentOS 4.4 and CentOs 5 on them, so I can do PHP on my Linux machine while I do .net on my Windows without mixing my codes and environment on either of them.