Tech_Interview_Prep

Containerization & Orchestration

Packaging an app with its dependencies via containers, and how Kubernetes schedules and manages them at scale.

What it is

Containers (Docker) package an application with its dependencies into a single portable unit, so it runs the same way in every environment. Orchestrators (Kubernetes) manage many containers across a cluster — scheduling, scaling, and healing them.

Key points

  • Containers vs. VMs: containers share the host OS kernel (lighter weight, faster startup); VMs virtualize hardware and run a full guest OS (more isolation, heavier).
  • Kubernetes core objects: a Pod is the smallest deployable unit (one or more containers); a Deployment manages replicas of a Pod and rolling updates; a Service provides stable networking to a set of Pods.
  • Self-healing: Kubernetes continuously reconciles actual state toward desired state — if a Pod crashes, it's automatically rescheduled, without manual intervention.
  • Horizontal scaling: adding more Pod replicas to handle load, which containers/orchestration make far easier to automate than scaling a traditional VM fleet.