I don't disagree with this post, but neither do I see the point of it. Anyone who is deploying containers on EC2 is already using the two technologies side-by-side, not that it means anything earth shattering. Maybe I'm in the minority here but I continue to not get the constant comparisons between containers and VMs. They're not the same thing, and they don't solve the same problems.
I spin up a VM from Amazon and it lets me share an underlying hardware platform in controlled ways so that I pay only for what I need and can't affect the other people sharing it. That's the problem VMs solve.
But now that the VM is running I still have to configure it for my applications. It's just a virtual server, with a potentially large gap between that state and the state I want it in. That's the problem containers solve.
The confusion I see comes from the fact that many people use/used VMs for things that containers actually work fine for. For example, developers set up VM with tools like Vagrant and VirtualBox to isolate the dev tools and services used by a project in a development environment. Docker does replace some previous use cases for virtual machines, particularly ones that did not need the security and resource control provided by VMs.
Yep, I agree. VMs encompassed the problems that containers address, whereas containers do not encompass the problems that VMs are designed to address at least not in any competitive way. Containers are essentially a finer-grained way to manage dependencies on a VM than the VM itself is. So yeah, I guess I do understand the reason why the comparison gets made. I just don't feel it's a very useful one.
I don't not agree with you. :) When people can stop comparing containers to virtual environments the better off both technologies would be! If you want to squeeze efficiency out of your system, use them both, together but independantly.
I spin up a VM from Amazon and it lets me share an underlying hardware platform in controlled ways so that I pay only for what I need and can't affect the other people sharing it. That's the problem VMs solve.
But now that the VM is running I still have to configure it for my applications. It's just a virtual server, with a potentially large gap between that state and the state I want it in. That's the problem containers solve.