Virtualizing your workspace

Over the years I’ve gone through many OS updates, software upgrades, hard drive reformats, hard drive crashes… you name it. Each time, even with backups, it’s always a pain to have to reinstall all the server software, components, dependencies, etc.

Enter virtual machines.

For those of you unfamiliar, a virtual machine is exactly what the name implies: virtualized hardware (machines) that allows you to run multiple operating systems at the same time. For more information, see http://en.wikipedia.org/wiki/Virtual_machine.

Virtual machines aren’t new at all and I have used them for many of years for various tasks (testing new software, test / tracing viruses without infecting my host computer, network testing, and gaming to name a few), but previously I hadn’t used them that much for my web development work (aside from browser testing). I’ve tried both Parallels and VMWare Fusion and at the moment don’t have a preference, however, currently I use VMWare Fusion.

My setup:

  • Host OS: OSX
  • Guest OS (VM): Ubuntu 64bit
  • Web server: Lighttpd, PHP w/ FastCGI and MySQL

I set this up awhile ago and so far it has worked great.

The benefits are many:

  • Anytime I perform a host OS upgrade, I just need to copy my virtual machine to my local disk and my development server is ready for work.
  • I can copy my virtual machine to any number of computers and run the same environment regardless of whether I’m using my desktop or my laptop.
  • Virtual machines can be used regardless of the host operating system without affecting my server applications or impacting my work
  • Since I keep regular “snapshots” of my virtual machine, I can easily roll the virtual machine back to a previous state if there are issues with upgrading the guest OS… all without impacting my host OS.
  • Combining a virtual server with Git makes sure any project I need can be easily retrieved and updated, regardless of where I am.

In the end, the most valuable thing it gives me is a ton of time saved and as much redundancy as I want.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.