agile3
Engineering Practices

Containerization

Packaging an application with everything it needs to run, so it behaves the same everywhere.

2 min read · Practitioner

In 30 seconds

  • A container bundles the app, its libraries and settings.
  • It runs the same on a laptop, a test server and production.
  • Supports fast, repeatable delivery and scaling.

Containers vs virtual machines

ContainerVirtual machine
IncludesApp and its dependenciesA full operating system
Starts inSecondsMinutes
SizeSmallLarge

Docker, released in 2013, made containers mainstream; Kubernetes is the most widely used tool to run many of them.

How containers help delivery

Pitfalls

  • Bloated images with unneeded tools
  • Outdated base images with security holes
  • Adopting complex orchestration before it's needed

Myth vs reality

Myth · Containers are only for microservices.
Reality · Single applications benefit too.
Myth · Containers are secure by default.
Reality · They need patching and scanning like anything else.
Myth · You need Kubernetes to use containers.
Reality · Many teams run containers without it.

FAQ

What is an image?

The packaged template from which containers are started.

Do containers replace VMs?

Often they run on VMs; they complement each other.

How do containers relate to DevOps?

They make environments consistent and automation easier.