iewed from the perspective of modularity and integration, we can see that Docker containers are designed to be the point of integration that everything else synchronises around. Docker takes the operating system, virtual machine, physical machine, and server operator below them, and commoditises them. It also provides a set of APIs that others can use to build on top of them. One part Docker doesn’t commoditise is the data centre, we’ll get to why that’s notable soon.
From a developer’s perspective, running your applications in Docker containers lets you treat the cloud services they run on as modular, replacable commodities. This is great because you can (in theory) move to another cloud service provider if you’re not happy with the deal you’re getting at your current one. This isn’t great for Amazon, Google or the other cloud providers, as being a commodity is a quick path to a low margin business. The value has moved from the cloud service providers providing the VMs, to the containers running on top of them.