Cool Tools 4: VMWare Server

Yes, I’m a VMWare fanboy.  I own stock.  I truly believe in this “cloud computing” thing, but it’s going to be a while – if ever – for large corporations and government to trust someone like Google or Amazon to store their data in the cloud.  In the meantime, the next big trend is for these organizations to host data in their own “cloud” – i.e., virtual servers.  Lately, I’ve been migrating some ALUI clients to WCI via VMWare Server.  That is, rather than upgrading servers in-place, we’re using the opportunity to “go virtual” and install the WebCenter 10gR3 portal stack in the VMWare environment, then migrating data and content from the physical servers to virtual.  This eliminates down-time – you can just cut over the DNS or load balancer whenever the virtual environment is ready to go after the data synch.  I’m sure I’ll have another post on this strategy someday, but today’s post is about the Cool Tool called VMWare Server.

For those not in the know, VMWare Server allows you to create many “Virtual Machines” on 1 or more physical machines, each running Windows (or Linux or whatever operating system you choose).  There are many huge advantages of this, including:

  1. Being able to physically reboot the virtual server without “standing in front of it” (this is huge if you’re a WebCeneter portal administrator who’s never actually seen the servers running the WebCenter Interaction portal, and are tired of asking IT to push the power button if something goes horribly wrong).
  2. Being able to duplicate virtual machines to a dev environment or Disaster Recover (DR) site
  3. Being able to use generic drivers while still having full redundancy (say I have a huge physical machine with 4 HP network cards; I don’t need to install HP drivers and configure Windows to handle all those NICS; the VSphere handles that for me; to the virtual environment I have a single, generic NIC that basically never goes down because there are four physical NICs behind it)
  4. Being able to add and remove resources like CPU and RAM from the virtual systems without touching hardware, and view resource consumption in real-time

It’s this last point that warrants a little attention.  Let’s say we have a massive machine or cluster of machines with 4 quad-core 3GHz CPUs and 80GB of RAM, running 20 Virtual Servers.  Each of those servers would have 4GB of RAM – Windows can’t dynamically allocate memory to grow and shrink the memory in real-time, but if we found one server that’s at 90% RAM and another at 10%, we could shift some RAM from one VM to another after a reboot.

Here’s what’s REALLY cool though:  a 3GHz processor handles 3 billion instructions per second; a quad-core (bear with me on this, it’s not technically accurate) can handle 12 billion.  If this were a physical machine, we could mostly get 3GHz out of it, but because we’re virtual, all virtual machines share the same computing power.  So if your WCI Collaboration server is basically idle while the WCI Publisher server is furiously copying files, you might see performance metrics like this:

That’s right – the publisher server is running at SIX (6) GHz, because multiple physical CPUs/cores are crunching data for the one virtual CPU.  Meanwhile, the “idle” server is still doing its job, but handling its load at only 500 MHz:

Ah, techmology…

Tags: ,

Leave a Reply