Lesson 5 — Core Technologies

Virtualization and Containers

Virtualization and containers are the two foundational technologies that make cloud computing's flexibility and efficiency possible, each abstracting hardware in a different way.

Virtual Machines

A hypervisor lets a single physical server run multiple independent virtual machines (VMs), each with its own complete operating system, isolated from the others. This is what lets cloud providers safely run many customers' workloads on shared physical hardware.

Containers

Containers package an application with its dependencies, but share the host operating system's kernel rather than running a full separate OS each — making them significantly lighter weight and faster to start than a full virtual machine. Docker is the most widely used container technology, and Kubernetes is the most widely used tool for orchestrating many containers across a cluster of machines.

VMs vs Containers

VMs provide stronger isolation (a full separate OS each) at the cost of more overhead. Containers are lighter and faster to start, but share the host's kernel, offering a different isolation trade-off. Many modern cloud architectures use both together — containers running inside virtual machines.

Common Mistakes

  • Assuming containers and virtual machines are interchangeable — they solve similar problems with genuinely different isolation and performance trade-offs.
  • Underestimating a VM's resource overhead when a lighter-weight container would be sufficient for the workload.
  • Assuming Docker and Kubernetes are the same thing — Docker packages and runs individual containers, while Kubernetes orchestrates many containers across a cluster.
  • Running containers with excessive privileges, reducing the isolation benefits they're meant to provide.

Professional Tip

A helpful distinction: a virtual machine virtualizes an entire computer, including its own OS kernel; a container virtualizes just the application layer, sharing the host's kernel — which is exactly why containers start in seconds while VMs can take minutes.

Your Turn

Research the difference between Docker (a container runtime) and Kubernetes (a container orchestrator), and summarise in your own words what problem each one solves.

Mini Quiz

What is a key difference between a container and a virtual machine?