How Containers Solved a Specific Problem

Containers didn't happen because Docker was a good idea. They happened because the alternative was genuinely awful. Here's what "before containers" looked like in practice: You have one application server. You need to run three services  on it. Each has a different Python version, different system  library requirements, different assumptions about what /tmp  contains. The solutions were: separate VMs (expensive), configuration  management (fragile), or very careful manual isolation  (not actually isolated). Containers solved this not by inventing something new, but by  surfacing Linux primitives that already existed. cgroups were added to the kernel in 2006. Namespaces existed before that. Docker in 2013 was a well-designed interface on top of things  Linux already knew how to do. Understanding this history matters for one reason: if you know  why containers were invented, you know what they're actually  good at, and what they're not. They're excellent at process isolation and dependency management. They're not a security boundary by themselves. The tool is the solution to a specific problem. Know the problem. #Docker #Linux #DevOps #Containers #Infrastructure  #CloudNative #SoftwareEngineering #History

I think you also point to another point: Docker was adopted widely BECAUSE its underlying components were already available on the Kernel. It's interesting to see what will happen to the industry once Security-centric infra starts dominating.

To view or add a comment, sign in

Explore content categories