Using Virtual Machines in a Web Development Environment

VirtualBox ScreenshotIt is commonplace in web development to make use of a development and/or testing environment where websites live before they go in front of the ever watchful public.

Many web development testing platforms exist, such as:

  • A single development server which all developers share over a network
  • Individual installations of web and databases servers on each developer’s workstation
  • Testing environments built into developer IDEs

These methods all have their own advantages and disadvantages. The most common disadvantages are conflicts with shared resources and differences in configuration, both between development and live, and also between individual development workstations.

One increasingly popular way to test web developments is to make use of virtual machines.

A virtual machine can have a full operating system and configuration specifically designed for web development and testing, and if necessary set-up to match the live hosting environment as much as needed. Given sufficient system resources, each developer can have their own copy of such a virtual machine, allowing themselves to develop in confidence that their code will be compatible with the live system and the set-ups of other developers working on the same project.

Given that each developer has their own virtual machine, this also gives the added advantage of customisation. Each developer can modify their testing environment without worrying about causing the kind of conflicts or downtime that could seriously impair productivity if the development/testing server was shared.