As I have stated several times on this blog, I am primarily a Linux and OS X geek. However, running several web design and hosting companies, I need to have a wide variety of OS platforms available so I can see how the websites look in many different browsers and in many different environments.
Obviously, one of the most prevalent operating systems is Microsoft Windows. Unfortunately, about the only reason I ever need to run Windows is to be able to test websites in Internet Explorer. In addition to testing Internet Explorer using XP, I must also test it using Vista (and any other derivatives such as 64-bit versions and such). I have to test Firefox as well as some lesser known browsers. I also test various browsers under Apple OS X and well as different flavors of Linux.
Having to test in all of these environments is enough of a pain as it is but if I had to have a room full of PCs with all of these combinations, it would be ridiculous. So, how to be best handle this issue? Virtualization
There are two competing products (VMware and Parallels) that give us the ability to run a computer inside of a computer (to put it in simple terms). These “inside” computers are called virtual machines. The virtualization software basically creates a software version of a PCs hardware. Then when an OS is installed or loaded in one of these virtual machines, it “thinks” it is running on real hardware even though it is software telling the OS that it is hardware. Are you confused yet?
Virtual machines have actually been around for several years but it was sometimes difficult to get the software running properly and the hardware requirements of the host machine were beyond most consumer PCs. However, today with memory being inexpensive, processors getting faster, and processors being able to handle virtualization in the hardware itself, it is becoming a lot more feasible and in many cases essential to use Virtual Machine technology.
Using this technology, I can be running Apple OS X as my primary (host) OS with a virtual machine running Windows XP, another virtual machine running Windows Vista, another virtual machine running Ubuntu Linux, and another running Red Hat, and so forth and so on. Also, I can save a “snapshot” of each virtual machine at a given time that I can always revert back to. These snapshots are ideal for things such as keeping a version of Windows with Internet Explorer version 6 before upgrading to Internet Explorer 7. This way, I can load up either image to test either version.
Virtual machines usually boot up faster than if they are on “real” hardware and if they crash for some reason, it is just the virtual machine that crashes. The host operating system keeps running.
One of the biggest benefits to me is if I am using my Mac, I can run all three major operating systems at the same time. They all act just like real machines all networked together.
I could go on and on about all of the benefits but it would turn into an entire book (hmmmm – maybe an ebook….) If virtual machines sound like something you may be interested in, check out Parallels or VMware.
When using virtual machines to run all the major operating systems all on the same hardware, you can have your cake and eat it too.
- Hill Robertson