Now that I have my Virtual Machine file with 10 years of my life on it (as well as the last semi-production code I have written) I need to deploy it an run it on a virtual server.
I have two alternatives:
- Run VMware Server on top of my new 4 core desktop running Vista 64 or
- Rebuild my existing Pentium 4 based server and install VMware ESXi, the OS-independent VMware hypervisor
Option 1 would allow me to get rid of one physical server and make my household a little greener. VMware ESXi is supposed to have a lower performance hit than VMware Server but given the load on my web server (yes, I do have a big extended family back in Italy but I still get only an average 20 hits a day on my web site…) and th epower of my new desktop processor (Intel i7), I should be just fine.
Option 2 would be a better learning experience as it is a more production-like configuration, I would have to install ESXi from scratch and manage it remotely using VMware management tool. Moreover, later on I could play with vMotion and why not, use VMware technology to make my website highly available (I have a pretty aggressive SLA with “the family” back in Italy :))
I have a third option actually. I could run my virtual machine in the cloud using one of VMware’s partners service. This would be a great option actually as it would get me out of the business of procuring, installing and running my own hardware but at this stage I want to eat the dog food directly to learn.
Hardware != Control
Interestingly, as I write this I just realized that I am dealing with the issue of control. Owning your own hardware gives you the illusion of control. The reason I say illusion is that it is more like hardware is controlling you and your budget in multiple ways (see my previous post on hard drive failure). What you really want is control over provisioning of applications and resource allocation. In my case capacity is not really an issue (20 hits a day…) but provisioning in case of a failure is. In real world IT scenarios, the issue of (perceived) control, provisioning, resource planning and balancing are big issues that virtualization can actually address effectively and elegantly. But first things first. Let me first explore the basics of virtualization technology before I drill down into budgeting, organizational and political issues.
I guess I will pursue both option 1 and 2 to learn the most. Then decide which one I will go with.
I will definitely explore options 3 later on as I move from virtualization to cloud computing (and after I cook my way through convincing Ben (who manages our partner program) to get me a discount from one of our hosting partners