Computer Virtualization at Home: Free Software for Experimenting with Virtualization

icon

This is the last blog entry in my series on the basics of virtualization and cloud computing.  If you missed part 1 about Virtualization and part 2 about Cloud Computing, you might want to read them first.

 I've been using some pretty cool software lately for running the FreshBrain server on my home systems, for doing things like performance benchmarking and testing new features and content.  This software is related to my last couple of blog posts about virtualization, so this seemed to be a good time to mention it.  Oh, and by the way, all of this software is FREE!

The first product is VirtualBox from Sun Microsystems.  VirtualBox is an open source virtualization product that runs on x86 systems running Microsoft, Mac, or various *nix (Linux, Solaris, and BSD) operating systems.  With VirtualBox installed on a MacBook, I can create numerous "virtual machines" and install other x86 operating systems on them, and run them simultaneously.  Right now the MacBook is running MacOS as the host operating system, and I have a virtual machine created in VirtualBox that is running Ubuntu Linux as a guest operating system.  I can install the FreshBrain server on the Linux system, and then run a broswer on the Mac system and connect to the Linux server.  All of this on a single physical computer!  And both the VirtualBox and Ubuntu teams have done great jobs on the installation and configuration of these products, it is very easy and quick to get all of this up and running.

The second product is Ubuntu Linux.  Ubuntu is a very user friendly Linux distribution, both in the server or desktop configurations.  If you've ever wanted to try Linux but thought it was only for the nerdy techie folks -- well, that may have been true in the past, but these days Ubuntu is a very polished desktop system, easy to install and use.  If you currently have a Windows or x86-based Mac system, there are a couple of ways you can try out Ubuntu and still keep your existing Win/Mac system intact.  First, Ubuntu has a "live CD", where you can boot and run off of the CD without installing any of the Ubuntu bits onto your system's hard drive.  The second way should be obvious from what I worte earlier -- just install VirtualBox on your system, and you can create a virtual machine environment where you can install Ubuntu as a guest OS!  It's like having two different computers that you can run at the same time, running on a single hardware system.

The third product is really several products, known collectively as the LAMP Stack: Linux, Apache (web server), MySQL (relational database), and PHP (web page scripting language).  The LAMP Stack has been around for a while, and is a very popular platform for development and deployment of real web sites.  But here's the cool thing: using VirtualBox and Ubuntu, along with LAMP, you can run your own little web server and browser, running on separate (virtual) systems, right on your existing home computer!  So if you've ever wanted to get started with web development, and wanted to really get your hands on all of the pieces, now you can do it.  Take your existing Windows, Mac (x86), or *nix system, install VirtualBox on it, create a virtual machine to act as your web server, install Ubuntu on it, install the LAMP stack on the Ubuntu guest system, and you're off!  At that point, you should be able to connect to your new web server from a browser on any other system on your home network (including the host system on which the guest is running).  This could be a pretty fun project if you want to learn a bit about what it's like to run your own web server.  And the software is all available for free!