I’ve been using VMWare’s Fusion product on my 1st gen Apple Macbook (2.0Ghz, 2GB ram, 160GB hard drive upgrade) sporadically now for about six months. I originally purchased the 1.0 version and was pleased when just a few weeks ago I found out that there was a free upgrade to 1.1 which included a few bug fixes. The original install and subsequent upgrade were as smooth and uneventful as one tends to expect from Mac software versions. Insert the installation cd, drag the icon to your Applications folder and you’re done. After that, you’re ready to run Fusion for the first time. Of course, you will need to configure or install your first virtual machine the first time you run it. And wouldn’t you know it, there are hundreds of ready-made virtual machines for you to download at VMWare’s appliance marketplace.
Perhaps a brief explanation of virtualization (of the software variety) might be in order here. Normally your operating system (be it OSX, a Linux-variant, or WindowsXP) runs on top of the hardware platform that you’ve chosen. The operating system needs to have various drivers that allow it to connect to and control the myriad little pieces of the system. From network connections to video cards, they all need corresponding software for the operating system to be able to utilize them. So imagine that you have a program that runs on top of your operating system that intercepts and mimics all of the system calls and abstracts and isolates them from the real hardware you are running on. This software creates a separate ‘virtual’ computer on top of your existing system. You can then install a new operating system along with various programs into this ‘virtual’ computer and you then have a computer system running inside of (or on top of, depending on your viewpoint) your original system.
But that’s silly you say. Why in the world would I want to run two operating systems, one inside the other? Surely that can’t be very efficient! Actually there are several benefits to running a virtual system. First and foremost is the ability to create distinctly separate environments in which to work. For example: My primary laptop is as I’ve mentioned previously a wonderful little Apple Macbook running the latest OSX Leopard operating system. There are times when it would be beneficial to have access to various WindowsXP programs, such as Internet Explorer when I am trying to work out some cross-browser html/css hack. Or I need access to certain security tools that are only available for Windows (read: Cain & Abel ~ caution: this site is not safe for work environments) or perhaps I’m working on a particular Solaris 10 issue. Wouldn’t it be handy if I could just fire up the operating system of my choice from within my macbook?
And that’s exactly what I do with VMWare Fusion! Not only do I have two full WindowsXP installs, I also have the latest Ubuntu Stable version (7.10 as of this writing) and a full version of OpenSolaris 10 (Indiana) all available to me with just a click!
Another advantage comes from the ability to consolidate server hardware. Suppose that you have a web server that is used primarily during business hours and a secure ftp server that has its peak activity during the middle of the night. Instead of maintaining two separate servers, you could consolidate them onto a single server by migrating them into a VMWare instance running on a single server. With some of VMWare’s other tools you could even load balance both the web server and the ftp server across multiple machines.
So you get the ability to access multiple operating systems from a single desktop, giving you the ability to create an on-the-fly virtual lab. From a server perspective you can consolidate hardware resources (reducing power, heat and physical space consumption) or leverage your existing hardware better by taking advantage of VMWare’s Virtual Infrastructure.
One particularly useful benefit of VMWare’s Fusion product is its ‘Unity’ feature that allows you to run applications from a virtual machine along side your mac software. Instead of a single window dedicated to your virtual machine and all of the programs that run inside of it, you get a drop down menu that allows you to run the individual applications in their own window! Pretty slick and a fun trick to show your co-workers that you can run the latest Internet Explorer on your Mac (useful for testing those browser html/css hacks mentioned earlier!)
See some initial Fusion screenshots after the cut.