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

  1. 1967

    IBM CP/CMS

    A forerunner of the hypervisor.

  2. 1999

    VMware is founded

    x86 virtualisation becomes a business.

  3. 2003

    Xen

    Paravirtualisation, an early foundation of cloud computing.

  4. 2013

    Docker

    The container becomes the unit of development and delivery.

  5. 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

M

Mendel Rosenblum

1958 –

Co-founder of VMware.

S

Solomon Hykes

1984 –

Creator of Docker.

07Further reading

  • Computer Systems: A Programmer’s PerspectiveBryant & O’Hallaron · 2003
  • Kubernetes Up & RunningBurns et al. · 2017