Thursday, October 1, 2009

Virtualization on my laptop: I've seen the light!

Recently I had some colleagues telling me about how great VMWare is for virtualizing your laptop. Sure I've heard of companies using VMWare to virtualize servers -- my former company used it pretty extensively in the Windows server environment. But how does slicing my laptop up into virtual machines help me?

Well, I've quickly learned a few of the benefits:

Having multiple operating systems running on a single machine simultaneously rocks! My laptop came pre-installed with Windows Vista x64. Well as most have learned the hard way, not all Windows software works properly under a x64, software is mostly written and tested for 32 bit installation. So I created a Windows 7 32 bit virtual machine. And most of my background is in UNIX/Linux, so to keep my familiar surroundings I also have a virtual machine running Centos 5.3 (RedHat) Linux. And I don't have to reboot my machine in order to do something in Linux, and then re-boot again for Windows7, and then again to get back to my office applications running on Vista x64. I have access to everything at once.

Okay, so you think that seems pretty cool. If you are like me, maybe that's not enough to convince you to figure out how to download, install and configure VMWare. Is it really going to be worth it? Well consider this. Once you have virtual machines created, you can copy and clone them anywhere you want. Stick them on an external hard drive and move them over to another computer, or carry them with you to a client site. Also think about this, how many times have you installed some software and regretted it? Either because it drastically slowed down your computer, or it introduced some driver conflict or virus? VMWare also supports Virtual Machine snapshots. These snapshots allow you to rollback any changes made to a virtual machine. Or if you have cloned the virtual machine, then simply copy the clone back and your changes are "undone" magically!

So, gosh, wouldn't this run like mega-slow? Isn't there a lot of overhead? Amazingly, no, there isn't. When you create a virtual machine you allocate a certain chunk of memory and processor power to the virtual machine. It doesn't seem to impact the host machine (in my case the base Vista x64 O/S) and the virtual machines are fast. I have had my base O/S plus Windows7 plus Centos up and running with no problems. The efficiency is amazing.

Here's how I'm using VMWare. I would love to hear some comments from others about what they are doing with it. I'm sure I will be creating more VMs in the coming weeks and will update my post with new learnings.

Base OS: Vista x64 Home Premium with only essential productivity apps (like office)
Windows7 VM: Windows based development software including Visual Studio, Oracle 11g, Informatica
Centos 5.3 VM: Linux based development software including Oracle 11g, php, ruby

No comments: