Virtualization – Save Time, Money and Sanity

Tweet

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).

VMware Console

In Development

  • 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.

In Staging

  • 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.

Browser Testing

Parallels

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!

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • mihd

    i posted bout this in browser testing thread here as well few days ago :)

    http://www.sitepoint.com/forums/showthread.php?t=462563#10

  • http://www.sipofwater.com/ fumbler

    Have any thoughts, comments or feedback on using it in a production environment?

  • http://anand.biz AnandC

    Having been at a large technology company, I have worked with massive VMWare infrastructure set ups. For internal applications it is not uncommon to also have production inside a VM at large companies. It really does save on development costs. Imagine shared dev boxes for functional teams working on a large projects. Instead of having to buy 6-8 servers, you can just get one beefy server and set up a VMs for each team. Not to mention this saves on energy, space, and other costs of maintaining physical infrastructure.

    For most people the cost of an ESX server is far to great, especially for the audience that usually frequents SitePoint. The way I use VMWare WorkStation for small development is as follows:

    1. Run Linux on VMWare on my desktop. I SSH in and use my dev tools on Windows to do all my work. It is also nice to be able to take snapshots at different points in case I mess things up with an install.

    2. My VM image is portable, so if I need a subcontractor to work on something, I have the option to send him the VM image. This is really handy when I absolutely need a contractor to have the exact same distro and environment as me. I can also move the image onto a laptop quickly so when I have a client meeting, I can easily show them rough cuts of my work.

    Of course for test and production, I usually host it on a single Virtual Private Server at a hosting company and have subversion set up to push out changes between the two.

    Good luck to all future virtual machine users!

  • Curious

    Are there any limitations on the free version of VMware Server?

    Also, Virtual PC 2007 seems to be a free download from Microsoft… Why are both of these products fee? Is it to entice enterprise customers to try them out?

    Just Curious

  • ciaranmg

    Your timing is impeccable. This is a topic that I’m really interested in right now as we’re about to take control of our in-development website and I wanted to set up dev and staging environments for our in-house team going forward.

    I’d like to know where I can find out more about the different options available and how it all works together.

  • cmuench

    Virtualization is th way to go. We use virtualization every day at the coampny I work even for production boxes. Its great to not have to trudge to the data center to use the console. Also its very very easy to add harddrives or work with isos. Overall I would not trade my experience with vmware for anything. And hopefully when I get a MacbookPro this June I will be putting parellels on it so that I can run Vista and my favorite linux distro side by side.