
Simulation, Emulation, Virtualization, and Containers: The Restaurant Metaphor
“So what’s the difference between a container and a virtual machine?” I get this question a lot. And the answer usually involves terms like “hypervisor,” “kernel sharing,” and “hardware abstraction” — which just creates more questions. But there’s actually a deeper question lurking here: what’s the difference between simulation, emulation, virtualization, and containerization? These four concepts are often confused, but they’re fundamentally different approaches to solving the same problem: running something in an environment it wasn’t originally designed for. ...
