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.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
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.