A container is a small, complete package that holds everything an app needs to run like its code, tools, and settings. You can think of it like a shipping container for software: it keeps everything together so the app runs the same way no matter where it’s used.
Why would anyone run their applications on a container in 2025?
Before containers, deploying an application meant setting up a physical server or virtual machine, installing an operating system, copying the app’s code to it, installing the right language and framework, and then building and running the app. Even then there was the problem of applications could behave differently on different servers because of small configuration differences (“it works on my machine” problem).
Today, we also need to consider how modern applications are built often using smaller, independent services (micro services) that must run quickly and consistently across different environments.
Here’s a simple explanation:
A virtual machine (VM) runs on a physical server (or host computer) and simulates an entire computer, including its own operating system via a hypervisor running on the host computer or physical server, which makes it large and resource-heavy. For example, if you wanted to host several apps, you’d need to create a separate VM and therefore a separate operating system for each one app. This quickly uses up a lot of the server’s memory, storage, and processing power.
A container also runs on a physical server (or host computer) but works differently. Instead of creating a full virtual computer with its own operating system like a VM, a container shares the host’s operating system meaning it uses the same core part of the OS (called the kernel) to access system resources like CPU, memory, and storage.Each container still stays isolated from others and only includes the application, its code, and any files or libraries it needs to run. This lightweight setup allows many containers to run on the same server efficiently, using far less space and power than virtual machines.
What is runtime?
In addition to infrastructure ( like VM or physical server) and an operating system, you’ll need a container runtime solution. Modern container runtimes include:
Containerd (used by Docker and Kubernetes)
CRI-O (used in OpenShift and other Kubernetes distributions)
Podman (Docker-compatible, daemonless runtime)
The runtime is the tool that actually runs your containers and keeps them isolated and manageable on your computer or server. When you build a container image, it’s like creating a blueprint or recipe it tells you what the container should look like and what it needs to run. But that image can’t do anything on its own. You need something to bring it to life, start it, and manage it that’s what the container runtime does.
Orchestration:
A container runtime can only run containers on one VM or server. But in real-world systems, you often need hundreds or thousands of containers spread across many servers all working together remember modern applications rely on micro services 1000s of them.
Container orchestration is a technology that automates the deployment, management, and scaling of containerized applications. It simplifies the complex tasks of managing large numbers of containers.
Orchestrators provide a framework for managing container lifecycles, facilitating service discovery, and maintaining high availability. For micro services architectures, where cloud-native applications consist of numerous interdependent components, this framework is foundational. Modern container orchestrators include:
Kubernetes – The most popular orchestrator; used by AKS (Azure), EKS (AWS), and GKE (Google).
Docker Swarm - built directly into the Docker platform.
OpenShift – Red Hat’s enterprise platform built on top of Kubernetes.
Nomad (by HashiCorp) – Lightweight orchestrator for containers and other workloads.
AWS ECS – Amazon’s native orchestrator for managing Docker or containerd containers.
Jump into PART 2 what makes up a container?
Have blog ideas, want to engage on a topic, or explore collaboration? Let’s take it offline reach out on LinkedIn. I’d love to connect and continue the conversation!




