Testing it out virtually

VirtualMachineOne of the many hurdles that many developers experienced in applying patches to different site is testing out the compatibility of the patch. In most cases the live system would already be customized and the last thing you want to have is losing important customizations due to site update. What we want is a way to test safely without too much trouble if anything goes wrong.

The answer will be “virtualization”, in this case we are talking about virtualization at the desktop level. By creating a virtual machine you will be able to create a virtual web server on your desktop. Installation of the operating system is done in a very similar manner as you would install on a physical machine.  Following installation, all of the configurations are done like a typical web server. In general you will have to install a linux/unix operating system, apache, php and MySQL.

In a very simple way, a virtual machine emulates physical machine configuration including various hardware commonly found in a computer. This means you can get pretty close to a real machine without actually buying one, which is very beneficial for testing purposes. If you are interested on finding more detailed explanation of virtualization, visit here.

Once a successful virtual server installation is ready, anytime you want to test a system, all you have to do is make a duplicate copy of the existing virtual machine and use that to test out the system. If in any case your patch /  update fails, all you have to do is delete the virtual machine and start over using the fresh copy. Your live server will be unaffected and your work machine will not be affected as well.

Here is a list of virtualisation products that you can use (for this purpose look at desktop virtualization, not server virtualization):

From the above list, VMWare and Parallels are the most mature, while VirtualBox is a new player with good compatibility and is actively developed by the community. On the other hand, from Microsoft, VirtualPC2007 is only good for Windows OS. I wouldn’t recommend using VirtualPC2007, but it might have some use to test in windows environment.

If the idea of installing a complete operating system manually to a virtual machine starts to feel daunting, don’t be. There are ready made boxes available for testing which would be discussed in the next post. So stay tuned!

Leave a Reply