3 min read
VPS vs VM vs Containers

We often hear VPS, VM, and containers used interchangeably. They all solve the same problem - packing more workloads onto fewer machines but at different abstraction levels. Here’s the clean breakdown:

1. VPS (Virtual Private Server)

  • What it is: A marketing term, not a technology. You rent a slice of a machine (or VM) from a provider. They use virtualization or container tech under the hood, but you don’t see it.
  • Think of it as: A productized VM. Providers oversell density (many VPS per host), you get root access, but it’s not guaranteed isolation.

2. VM (Virtual Machine)

  • What it is: Hardware-level virtualization. A hypervisor (KVM, Xen, VMware, Hyper-V) carves a single physical host into multiple VMs, each with its own OS kernel.
  • Isolation: Strong. Each VM runs as if it had its own machine.
  • Overhead: High - every VM boots a full kernel, needs system packages, etc.
  • Perfect for multi-tenant isolation (finance, healthcare). Use when you need strong security boundaries.

3. Containers

  • What it is: OS-level virtualization. Processes share the same kernel, but namespaces and cgroups isolate filesystem, networking, CPU, memory.
  • Isolation: Weaker than VMs (shared kernel), but good enough for most apps.
  • Overhead: Minimal. No guest OS, containers start in milliseconds.
  • This is why Kubernetes won: containers gave cloud-scale density and portability without VM bloat.

The Evolution

  • 2000s: VMs exploded → enterprises loved strong isolation, hated bare-metal waste.
  • 2010s: Containers took over → faster, lighter, cloud-native orchestration (K8s).
  • 2020s: Mix of both → security-sensitive workloads still run VMs, but most app stacks run in containers on top of VMs (EKS/GKE/AKS). There also some middle space between VMs and Containers. Things like Firecracker, what AWS Lambda uses behind the scenes.

Mental Model

  • VPS = the product you rent.
  • VM = virtual hardware.
  • Container = virtual process.

Isolation ↑ as you move down. Density ↑ as you move up.