Virtual Machines (VM) are ubiquitous in today’s datacenters and forms the basis for cloud and software defined datacenters. VM ecosystem, tools and associated IT processes are very matured, making it one of the most entrenched technologies in today’s datacenters. VMs really helped drive the overall cloud agenda since past few years.
However, with the recent buzz around docker and containers, as well as the pace at which docker and overall container ecosystem and tools are maturing, does this mean the start of the end for VMs ?
During my interactions with customers, I have been asked many times on the right strategy for deciding between VMs and containers. Should it be a mix of both or only one.
As with any technology, both VMs and containers have their pros and cons. It becomes really important to weigh in the pros and cons in the context of the current and future requirements.
VMs provided a way to improve datacenter resource utilization in addition to improving the delivery efficiency of IT resources and offered better overall security and isolation.
On the contrast, containers are light-weight, provides much improved resource utilization and agility. Security and isolation, which have been the Achilles heel of containers, is now increasingly getting more and more focus both from hardware and software point of view.
Change in a datacenter environment is not easy, and comes with it’s own challenges. A complete switch from VMs to containers is practically difficult in the near future, more so, since containers affects the entire spectrum of IT, starting from application delivery to deployment and maintenance.
In my opinion, we’ll see a mix of container and VMs usage for some years to come before VMs sink into oblivion. The advantages provided by containers cannot be simply ignored.
A very nice treatment on VMs versus containers is from Steven J. Vaughan-Nichols. It’s worth a read.
What is your take on this topic? Please share it in the comments section. I would love to hear them.