01Overview
In 1967 IBM’s CP/CMS ran a hypervisor on the System/360 so several operating systems could share one mainframe. In 1999 VMware brought x86 virtualisation to commercial servers; in 2003 Xen used paravirtualisation for speed. Virtualisation turned data centres from “one machine, one application” into elastic pools of resources.
In 2013 Docker wrapped Linux namespaces and cgroups into the container: shared kernel, millisecond start-up, reproducible images. In 2014 Kubernetes standardised container orchestration. Today virtual machines give strong isolation and containers give density and speed, and the two are routinely mixed on the same infrastructure.
02History
- 1967
IBM CP/CMS
A forerunner of the hypervisor.
- 1999
VMware is founded
x86 virtualisation becomes a business.
- 2003
Xen
Paravirtualisation, an early foundation of cloud computing.
- 2013
Docker
The container becomes the unit of development and delivery.
- 2014
Kubernetes
Containers get a de facto orchestrator.
03Core concepts
Hypervisor
The layer that divides resources between hardware and guest operating systems.
Namespaces
Give a process its own view of PIDs, network and file systems.
cgroups
Limit and account for the CPU, memory and I/O of a group of processes.
04Hands-on
Do it once — it beats reading it ten times
Run the same service in a container and a VM; measure start-up time, memory overhead and isolation
05Self-check
Say it in your own words first, then open the answer. Whatever you cannot explain is what to review next.
Can you explain "Hypervisor"?
The layer that divides resources between hardware and guest operating systems.
Can you explain "Namespaces"?
Give a process its own view of PIDs, network and file systems.
Can you explain "cgroups"?
Limit and account for the CPU, memory and I/O of a group of processes.
What problem did it solve, and why was there nothing better at the time?
Go back to the history section: how was this done before, and what did it cost?
If you had to build it today, how would you break it down?
Use the hands-on task above: write a plan of at most three steps before you start.
06Key people
Mendel Rosenblum
1958 –
Co-founder of VMware.
Solomon Hykes
1984 –
Creator of Docker.
07Further reading
- Computer Systems: A Programmer’s Perspective
- Kubernetes Up & Running