VMs are dead. Long live containers.

In the early 2000’s, we were introduced to virtual machines promising the ability to layer multiple complex environments on top of the same hardware without interfering with one another. We graduated from single-purpose servers to multi-purpose servers, greatly improving efficiency and allowing data centers to outgrow their physical footprint in terms of traditional usefulness. Fast-forward to the present time and container technology, that has been around for decades as well, has matured to the point that most services that we would run on VMs can now run from containers.

What’s the big deal? Well, at the end of the day, virtual machines emulate hardware and containers do not. This gives containers an edge over VMs regarding performance. But it goes deeper than that. VMs are generally big and bulky. Containers are generally small and modular. Container technology allows for faster backup and recovery times, tighter standardization (through compose yaml files), all in addition to the aforementioned performance boost.

This is why I run as many services as I can within containers, and only the few that are not yet fully supported are run from VMs. But the clock is ticking for those few services.

Leave a Reply