At the DockerCon Europe conference hosted at Amsterdam on December 4th, Docker, Inc. previewed a set of new features. First in line were the platform enhancements for managing multi-container distributed applications. Developers are increasingly using Docker for deploying applications that run across multiple containers and hosts. Orchestrating these distributed applications requires a native multi-container, multi-host approach with a common UI and tooling that works across infrastructures. Docker’s orchestration capabilities are built on top of the foundations of existing Docker Engine. These capabilities are delivered through three new platform services that are designed to cover all aspects of the dynamic lifecycle of distributed applications aligned with the DevOps tasks. According to Docker, Inc., all these features are designed with "Batteries Included, but Removable" design philosophy indicating that they can work with 3rd party services. This provides choice to customers to choose between Docker's native orchestration tools or community-provided alternatives.
The three new orchestration services are:
Docker Machine: This service makes it easy to provision a host running the Docker Engine in a variety of environments. Developers can rapidly launch host machines running the Docker Engine on a laptop, a data center VM, or a cloud node. This avoids the task of logging into a host to install and configure Docker daemon and client. While still in alpha release, Docker Machine supports provisioning Docker locally with VirtualBox and remotely on Digital Ocean instances. Support for AWS, Azure, VMware, and other infrastructure is expected in the future. Interested developers can try the service available in github repository.
Docker Swarm: Docker Swarm is a Docker-native clustering service that works with the Docker Engines, provisioned by the new Docker Machine service, and creates a resource pool of the hosts on which the distributed applications run. This enables developers and operations team to treat a cluster of host machines as a single resource pool. Administrators can schedule containers that will be launched in any of the hosts that meets the requirements. Docker Swarm provides standard and custom constraints to support requirements and policy-based scheduling. This lets administrators to declare requirements and constraints specific to each container. Docker Swarm is designed to scale with the lifecycle of the app. It can support from one host in the development environment to hundreds of hosts running in the production environment. Docker Swarm source code is available on github.
Docker Compose: Docker Compose enables developers to assemble applications from autonomous and interoperable Docker containers independent of underlying infrastructure. This declarative approach makes it easy to define stacks that are portable. A distributed application stack is declared through a simple YAML configuration file that contains the definition of each container. Docker Compose is in its early stages. Github proposal is available for interested developers.
Apart from the above services, Docker, Inc. also announced Docker Hub Enterprise (DHE), a new product addition to the Docker platform that brings key workflow capabilities for developers and sysadmins managing containers behind the enterprise firewall. This complements the public Docker Hub hosted and managed by Docker, Inc. Customers who prefer to run a private registry within their data center can deploy DHE.
According to Docker, Inc., the initial release will include the following -
- Rapid install and GUI configuration
- Store, manage and collaborate on Docker images
- Architected for high-availability and horizontal scalability
- Resumable push/pull of images
- Flexible storage capabilities
- Local filesystem, in-memory and Amazon S3 by default
- Architected for expanded application lifecycle capabilities
“Docker Hub Enterprise is Docker’s foundation for establishing relationships with our rapidly expanding enterprise customer base, who view the Docker open platform as the cornerstone of their distributed application strategy. These organizations want a behind-the-firewall solution that enables them to leverage both the broader ecosystem and the more dynamic development environment that Dockerization has enabled,” said Ben Golub, CEO of Docker.
DHE will be hosted by partners including AWS, Azure and IBM. Docker Hub Enterprise will be available for early access in Feb 2015. Customers can join the wait list at DHE@docker.com.