On Virtualization

So we’re finally to the point in technology where virtualization is mainstream. I’m going to suggest that most of you reading this blog knows what virtualization is. For those who do not, click on this.  I first came in contact with vmware back at a project in 2003/2004.  The development manager set up a virtual server to host our production application servers for this one java based webapp.  At the time, the notion of virtualization was pretty cool but the hardware requirements and the cost of the product didn’t exactly appeal to my price point.

Now, virtualization is cheap.  As in dirt cheap.  The options are great on the host, guest and hardware requirement side.  On the host software, administrators have the choice among VMWare’s vmware server, Sun’s Virtual Box and xen.  Of these three, the hypervisors I’ve evaluated were vmware server and VirtualBox.  Both have their strength and weaknesses.  Both are production ready as well as mature.  Most importantly, both are free (some versions of the respective product are free as in speech).

Rather than buying one server, for every tech stack I want to deploy, experiment with, develop on, why not utilize one server to host multiple apps.  Sure, you can download JBoss or Apache Tomcat (in the Java world) and host multiple applications in one server that way, but why not utilize one server to separate or host your apps at the server level?  Well that’s what I did and the notes below are from my experience with the configuration of both Sun’s Virtual Box and VMWare Server.  I did not experiment with Xen’s hypervisor.

Sun’s Virtual Box

The first hypervisor I experimented with was Sun’s Virtual Box.  The official documentation and the third party documentation was pretty good.  I was able to read it over just once and install it on one of my Ubuntu desktops and set up two guests rather easily.  The networking was probably the most time consuming (google kung fu resolved my issues in a timely manner).  What I liked most about Virtual Box was its interface on the desktop.   Configuration was also breazy.  I liked the option to create an expanding storage device or create one big allocation at once.  What I wanted to do was install it on a server without a desktop.  I think I will do that in the future.

VMWare Server

A couple weeks later, I bought a server off of desktop components.  It was an AMD, Phenom II quadcore with 1 TB or storage and 8 gigs or RAM.  I added it to my network using basic network configuration and installed proceeded to install the the host remotely.  The experience was slightly more challenging than Sun’s Virtual Box, but it was worth it.  The host didn’t have a desktop so all the installation was done via the command line.

Right away, I was able to access the web interface via port 8222 on the host (which redirected me to an https port on 8333).  This web interface (which didn’t work well on Opera 9, but works great on Firefox 3) allowed me to create hosts rather easily.  You can edit/delete hosts equally as easy via this web interface.  The only thing I have to check out is the number of process it allocates to a host.  On my quad core, I can assign only 2 processors per host.  Is this correct with the version of vmware server I downloaded?  I made sure that virtualization in my bios is set correctly.  I’ll have to go through the documentation again and verify.

On the administration front, the web interface seemed sufficient.  I installed the vmware addon for Firefox and it allowed me to create a link on my desktop that is a front end to a specific host.  I installed a host as a desktop and this addon seemed more than sufficient as well as responsive.  The desktops that I tested were gnome and xfce on Ubuntu.  At the time of writing, I have a six guests in this host.  2 lamp stacks, 2 java stacks (one is tomcat6 and the other is used for the Alfresco CRM), 1 is my desktop and the last is my Oracle XE server.

My only complaint is that sometimes I have to restart the server.  This is because the web interface sometimes doesn’t work.  I haven’t explored the solution but an acceptable (at the development level) work around is just to restart the server.

Virtual Appliances

My next evaluation will be how virtual appliances work on both the Virtual Box and VMWare Server host.  There are a ton of virtual appliance sites out there, included in the references below.  I think it would be cool to have these virtual appliances as guests “templates”.  Stay tuned for the review or recipe on virtual appliances.  I’ll you through how to create and configure a virtual appliance in the context of server administration.

References:

  • http://en.wikipedia.org/wiki/Virtualization
  • http://www.vmware.com/products/server/
  • http://www.virtualbox.org/
  • http://en.wikipedia.org/wiki/Virtual_appliance
  • http://www.vmware.com/appliances/directory/
  • http://virtualappliances.net/

Follow

Get every new post delivered to your Inbox.