I’ve already written about the Magic Balloon episode of Engineers Unplugged I recorded at VMware PEX, but that wasn’t the topic I was originally invited to record.
The topic I was originally asked to speak to was “The Evolution of Virtualization”. I was paired with Gabriel Chapman (@Bacon_Is_King), who I’d only known online up until that point. As I understand it, that episode will be published next week.
In the meantime, I thought I’d share our thought process — what went into preparation for the episode. In advance of PEX, Gabriel and I spoke on the phone and kicked a couple ideas around. We talked about the efficiencies that virtualization creates. We talked about logical partitions on mainframes and how we might represent that visually on the whiteboard.
I took notes during our call and turned them into an outline that we used as our starting point. I’ve reproduced it below “as-is”. I haven’t seen the video yet, so I thought it would be interesting to see how the final product compares to what we started with.
What are your thoughts on the evolution of virtualization? Did we get it right? Did we miss anything? Personally, I find the idea of what I called “accidental advances” — benefits that arise as a side-effect rather than by direct intent — particularly interesting.
Evolution of Virtualization (Draft Outline)
At its core, virtualization has always been about creating efficiencies – getting the most out of what you have by maximizing the use of resources.
- The Early Days
- Virtualization traces its roots to mainframe computing
- By creating logical partitions, a single computing resource could be treated as several
- The Client-server world
- As computing moved away from mainframes to individual single-purpose servers, resources were distributed inefficiently
- Many standalone services were given their own server, only to end up using a fraction of its resources (CPU, memory, network bandwidth, storage, etc.)
- Since all the hardware was separate, there was no way to share distribute those unused resources elsewhere and keep the services standalone and separate
- Enter the beginning of “Virtualization as we now know it”
- At first, virtualization was all about consolidation. By virtualizing servers and encapsulating them, people were able to make full use of the hardware resources (e.g.: one host now housing ten virtual machines), while still maintaining that separation.
- Accidental advances
- While this consolidation improved utilization of resources,things weren’t as efficient or easy as they could be – you were still limited to the resources within a single host
- With the creation of SANs and shared storage, new options opened up.
- Sharing a pool of storage resources among multiple hosts allowed those storage resources to be easily provisioned and used extremely efficiently, allowing for even higher consolidation ratios
- One day, someone realized that having multiple hosts share storage meant that the same virtual machine images were visible to multiple hosts.
- With VMs no longer tied to a particular host, high availability became available.
- Where we are today
- There have been further advancements in virtualization – we’re not just virtualizing servers any more
- Storage – advancing beyond the simple sharing of storage, it’s now being virtualized, whether through a virtual storage appliance (where a virtual machine acts as an intelligent controller for storage resources) or through a storage virtualization product like EMC’s VPLEX.
- Network – the idea of using a virtual network for handling VM-to-VM communication within a single host has been around for a while, but now virtual pools of network resources are being shared amongst physical hosts, whether through the distributed vSwitch capability that comes with vSphere or through a product like the Cisco Nexus
- Virtual datacenters – so far, we’re only really seeing this at the lab level, but since you can run nested vSphere – that is, creating a virtual vSphere host capable of running virtual machines itself – it’s now possible to emulate an entire datacenter of multiple hosts on a single piece of hardware…
- (anything else?)
- There have been further advancements in virtualization – we’re not just virtualizing servers any more
- The future
- Expect to see more things being virtualized
- (Need to flesh this out, give some examples or predictions)