For all the hype surrounding Docker containers, the fact remains that the number of IT organizations that have put in place a formal approach to manage them remains relatively small. At the Dockercon 2016 conference today Docker Inc. made it clear it sees satisfying those needs as being core to its fundamental mission.
The latest version of Docker takes the management functionality that Docker built into its Swarm tools for managing clusters running containers and embeds it directly into Docker Engine. Docker COO Scott Johnston says Docker Inc. is now in effect democratizing Docker container management using a declarative approach that neither requires developers to invoke a separate construct outside of the Docker programming environment nor requires IT operations teams to learn how to program.
In contrast, Johnston notes container management frameworks based on platforms such as Kubernetes require developers to refactor the applications they developed using Docker containers. At the same time, Docker claims that Swam is orders of magnitude faster than Kubernetes, as well as being simpler to deploy and manage.
To advance Docker container management, every Docker Engine as of Docker 1.12, due out in July, now can automatically discover each other and form a decentralized Swarm. In the event one Docker Engine goes offline, the decentralized instances of Swarm will take advantage of autonomics to reconfigure themselves using container-aware load-balancing algorithms and network overlay that can support multiple hosts.
In addition, Johnston says, a service deployment application programming interface (API) now defines services and attaches storage, networking and compute to ensure high performance, consistency and resiliency at scale. Finally, communications between nodes now is encrypted by default to make the overall container environment more secure.
While moving to democratize containers Docker Inc. also revealed it has extended its relationships with both Amazon and Microsoft via custom plugins. As of Docker 1.12, the Docker Engine for AWS securely installs a Swarm of Docker Engines integrated with AWS Autoscaling, Elastic Load Balancer and Elastic Block Store. Similarly, Docker for Azure securely installs a Swarm of Docker Engines in a way that is integrated with Azure VM Scale Sets, Azure Load Balancer and Azure Storage.
The decision to embed Swarm inside Docker Engine is a pre-emptive strike. Backers of Kubernetes and other frameworks are racing to make their frameworks more accessible. Right now, however, because of the complexity of those frameworks, the benefits of container orchestration are currently restricted to a privileged few, Johnston says. That’s not going to be viable in an age where every application is made up of a collection of containers. IT operations teams need access to tools such as Swarm, he says.
Of course, Docker isn’t necessarily looking to start an all-out war. For that reason, Docker has elected to turn off Swarm mode by default. IT organizations can opt to make use of Kubernetes or Mesos. But the code needed to run Swarm already will be present in Docker Engine in a format that humans can easily understand, versus requiring programmers to make it useful.