For some time at SitePoint HQ we’ve been making extensive use of virtual servers in our development and staging environment. If you can answer “yes” to any of the following questions then virtualization just might be the thing for you too:
- Have you ever uploaded code or made configuration changes to your production (live) server only to find that your site is broken?
- Is setting up new servers consuming a lot of your time?
- Is hardware in short supply? Do you ever think to yourself: “I wish I had another box to test this on?”
- Do you need an isolated environment for your clients to view your work?
Setting up a multi-server development and staging environment may be cheaper and easier than you think.
The free version of VMware Server combined with the virtualization technology which is now built into most Intel chips is pretty much all you need to get going. And unlike previous versions of VMware, the performance is pretty darn good (with a decent amount of RAM and disk space of course).
- This is where the fun stuff happens. We can tinker with various configurations and operating systems without requiring additional hardware.
- If something breaks in a non-recoverable way we can restore a fresh development environment from a backup VMware image. A big time saver.
- Moving changes to our staging environment is essentially a deployment rehearsal. It is not enough to know that the changes you just made to your code will work in production. Testing the actual deployment process itself can be just as important as testing the code.
- This is a mirror of the production server. Configuration changes can be tested here prior to being implemented in the production environment.
- We can let our clients loose in this environment since it’s isolated from development and production.
Of course we also use Parallels on our MacBooks (yay!) and/or Virtual PC on Windows with free VPC images (for IE6 and IE7) nicely provided by Microsoft. Very handy for testing those CSS changes in Internet Explorer.
In summary, if virtualization is something you’ve never considered then it’s definitely worth looking into. You’ll have extra time up your sleeve, save money on hardware and deploy with confidence!