Home > Virtualization > Hypervisor is Containership

Hypervisor is Containership

March 27th, 2012 Leave a comment Go to comments

There are a few metaphors that help explain what virtualization is. Some suggested virtualization is like people (virtual machines) sharing a bus (physical machine) for efficiency and consolidation.

While the bus sample well explains the benefit of consolidation. It does not explain well isolation. Here I make up a new one: a hypervisor is like a containership, and a virtual machine is like a container that is stacked on the ship.

Time to learn how to "Google" and manage your VMware and clouds in a fast and secure


According to this wiki page, container ships “are cargo ships that carry all of their loads in truck-size intermodal containers in a technique called containerization.”  Containership was invented into operation in 1950s’ and has become popular type of dry cargo. BTW, if you are interested in how containership is operated, here is a video from Extreme Engineering series.

The benefit of containership is that many companies can share a ship but also maintain the flexibility and isolation as if they each own a smaller yet dedicated ship. Whatever benefits provided by containership are also seen in virtualization: many users can share a physical server but still own an independent machine.

With this metaphor in mind, it’s easy to explain why virtualization won’t be the only way to carry workload. In the shipping industry, there are many other forms of ships, like oil tanks, which specialize in transporting crude oil or gas. The volume and special requirements there justifies a special type of ships.

In IT world, we can easily find “crude oil” type of workload, for example search engine, multi-tenant CRM, online storage, etc. as I described in my last post. For these, virtualization doesn’t help much.

BTW, this containership metaphor does have its own limitations, for example, all containers are of same size and cannot change while virtual machines can easily change its “size” (CPU, memory, etc.) on the fly.

  1. March 27th, 2012 at 00:13 | #1

    Despite the containers all being the same size, you could just compare it to renting multiple containers… Which, for some IaaS-type services, is exactly what you’re doing.

  2. March 27th, 2012 at 01:18 | #2

    Very good point Bob!

  3. March 27th, 2012 at 02:32 | #3

    I’d actually argue that the container is exactly like a VM – the contents may vary (workload, CPU, memory etc) but the VM construct (.VMX, .VMDK etc) is always the same and the .OVF format is the equivalent of an international container standard (as containers do actually vary in size).

    Interestingly the analogy can be applied to many aspects of virtualisation. I wrote a blogpost exploring exactly that last year;

    Keep up the good work – I find myself coming back to your blog on a regular basis for some different thinking!

  4. March 28th, 2012 at 16:18 | #4

    Thanks for sharing your thoughts on it. You made a good case there on contain=VM. I should have read your posts earlier. I will add your RSS to my reader so that I won’t miss much in the future. :-)


  1. No trackbacks yet.