Several new Docker tools are out there: Docker Machine, Docker Swarm, and Docker Compose. They come from Docker Inc. itself, which has has the advantage of being designed by the same folks who developed the Docker container.
But they also risk shutting down the growing community of third-party Docker tools, as developers might not want to risk the Docker Inc. mothership becoming a competitor later.
The new Docker tools from Docker Inc.
Docker Machine provides developers and system administrators the ability to both provision and host infrastructure, then install the engine. Docker Machine supports Amazon Web Services EC2, Google Cloud Platform, IBM SoftLayer, Microsoft Azure, and a few others.
Docker Swarm provides clustering, scheduling, and integration capabilities. This tool enables developers to build and ship multicontainer/multihost distributed applications for the necessary scaling and management for container-based systems.
Docker Compose simplifies the work for Docker developers, allowing them to create multicontainer implementations using declarative YAML files, which can then define the containers comprising an application, providing orchestration capabilities so they can be bound together to form distributed applications.
The third-party Docker tools that Docker Inc. now competes with
As someone who defines Docker-based solutions for enterprise clients, I don't have issues with the tools themselves. But they are redundant with tools in the market. Here are two examples:
- Google's Kubernetes is an open source container cluster manager much like Docker Swarm. Kubernetes can schedule any number of container replicas across a group of node instances.
- Cloudify provides a Docker orchestration tool that overlaps with Docker Compose. Its YAML-based blueprints let developers describe complex topologies, including the infrastructure, middleware tier, and app layers.
Which tools should you use? The ones provided by the Docker Inc. mothership? Or those from other providers?
I would like to see Docker Inc. focus on making the container standard and architecture the best they can be. After all, it has only finite resources available.
I would like to see it leave alone such items as container management, orchestration, and scaling to third-party providers. Those other companies should not have to worry about investing in the Docker ecosystem only to have the carpet yanked out from under them by Docker Inc.
If Docker Inc. sticks to Docker itself, everyone will be better off -- trust me.