Docker,
which maintains the open platform for distributed applications, today
announced a significant expansion of its “batteries included but
swappable” ecosystem to include over thirty working and proposed partner
and community integrations. This ecosystem growth coincides with the
first downloadable versions of its orchestration tools – Machine
Beta, Swarm
Beta and Compose
1.1 – announced
in December 2014 at DockerCon
EU. The comprehensive set of orchestration capabilities is designed to
empower developers and sysadmins to create and manage a new generation
of 100 percent portable distributed applications. Seamless application
portability in this context means that an individual developer can
leverage the same orchestration tooling as the apps are built and
shipped from dev to build to test.
Moreover, application portability is about the operational freedom to
run dockerized applications on any infrastructure from a laptop, to a
physical machine or VM in a datacenter to a cloud, and from one cloud to
another. Organizations are now demanding this flexibility to avoid
lock-in to a specific infrastructure. In turn, infrastructure players
and cloud providers are building differentiated services to attract
those who are developing dockerized distributed applications. This
rapidly expanding ecosystem includes industry leaders Amazon Web
Services (AWS), Google, IBM, Joyent, Mesosphere, Microsoft and VMware.
“Distributed applications are dynamically evolving and in constant
motion which is why Docker orchestration uniquely covers application
portability at all phases of the application development lifecycle,”
said Solomon Hykes, chief architect of the Docker Project. “I’m excited
to share with the community the growing validation of our model by
providing great collaborations that ensure complete freedom of choice in
how and where these multi-container, multi-host applications are being
built, shipped and run.”
Docker
Machine
Docker Machine is the part of Docker orchestration that enables
developers and sysadmins to go from “zero to Docker” with one portable
command that works uniformly across infrastructures. The command
accomplishes two automated tasks at once: it provisions the “host
infrastructure” (e.g. VM for a Docker Engine) then installs that Engine.
For the beta release of Docker Machine, the following twelve drivers are
now available: Amazon Elastic Compute Cloud (Amazon EC2), Digital Ocean,
Google Cloud Platform, IBM Softlayer, Microsoft Azure, Microsoft
Hyper-V, OpenStack, Rackspace Cloud, VirtualBox, VMware Fusion,
VMware vCloud Air, and VMware vSphere. As a result,
developers and sysadmins have a breadth of options for porting their
applications to infrastructure that is optimized for rapid provisioning
and installation of Docker. In addition, the community has generated ten
other pull requests for incremental drivers and is encouraging
submissions for others.
Docker
Swarm
Docker Swarm provides native clustering as well as integrations with
third party tools and services. This ensures a uniform developer
experience at any scale, as developers build and ship multi-container,
multi-host distributed applications, while preserving the operational
freedom to choose an infrastructure optimized for the performance and
availability of these applications.
Swarm’s native clustering and scheduling capabilities can scale with the
application development lifecycle from one laptop to spanning hundreds
of hosts in production. Swarm’s scheduling capabilities determine the
right host in a cluster for specific containers, assigns the right
resources, and leverages Docker Hub for its host discovery.
Swarm supports a “batteries included but swappable” approach that allows
for partner integrations that replace and enhance Swarm’s capabilities.
Integration partners hook into Swarm APIs to create value-added
capabilities under Docker, while maintaining a uniform Docker experience
for developers. The Swarm API supports alternative implementations of
container scheduling and host discovery. The beta version of Swarm
supports host discovery drivers for ZooKeeper, Consul and etcd.
Swarm integrates with third-party container orchestration products as
well as with orchestration services offered by cloud providers.
Mesosphere and Docker have collaborated to develop reference
implementations for Apache Mesos and the Mesosphere Datacenter Operating
System (DCOS), which are the first integrations available. Integrations
are planned for Amazon EC2 Container Service, IBM Bluemix Container
Service, Joyent Smart Data Center and Microsoft Azure. The express
purpose of these integrations is to ensure distributed application
portability across any infrastructure, while providing operations teams
the flexibility to leverage existing tools or select the Docker-based
partner infrastructure that they believe is best optimized for their
specific application.
“Docker is working with the community to take the next steps to develop
an orchestration services ecosystem that will help developers rapidly
compose distributed applications from containers,” said Angel Diaz, vice
president, Cloud Technology and Architecture at IBM. “IBM is committed
to continuing to work with Docker and the community to evolve this
technology supported by an open governance model. This work will help
better define open APIs and provide the industry with the means to
combine multiple orchestration technologies and accelerate the adoption
of containers for enterprise applications.”
“Our customers want one powerful and easy to use solution to seamlessly
orchestrate their distributed applications across public and private
clouds,” said Bill Fine, vice president, product, at Joyent. “We are
working to integrate Docker Swarm with both the Joyent Public Cloud and
our on premise, elastic container infrastructure solution,
SmartDataCenter, because we believe Swarm will rapidly become the tool
of choice for managing application portability.”
“Docker is becoming the foundation for how modern developers create and
deploy applications,” said Florian Leibert, CEO of Mesosphere. “And when
it comes to the operations side, enterprises want flexibility of choice
in how they manage and scale containers in production. We applaud
Docker's decision to provide an open back-end for Swarm, rather than
prescribe a single approach. And we believe that Mesos and the
Mesosphere Datacenter Operating System (DCOS) offer the most practical
way for enterprises to operate containers at scale, so we are excited to
integrate with Docker Swarm to support those Docker users.”
“Customers want container solutions that are open, portable and that
don’t place restrictions on application architecture,” said John
Gossman, architect for Microsoft Azure. “Working with Docker, we are
delivering on that need, through offering extensions, templates and
drivers that make it simple to deploy Docker’s orchestration
technologies on Microsoft Azure. We believe this makes Azure a great
place to run portable Docker applications while giving our customers the
flexibility and freedom of choice they require.”
Docker
Compose
Docker Compose radically simplifies the developer experience in building
and shipping distributed applications by allowing them to create
multi-container implementations with a simple declarative YAML file. The
YAML file defines which containers comprise the application and the
links that they have to each other. In effect, Compose’s YAML creates
and maintains a logical definition of a distributed application that can
move from a developer’s laptop to a QA environment to staging, all the
way into production. Compose-built multi-container applications run on
the Docker Swarm beta. Distributed applications created with Compose
will be dynamically updated to reflect, for example, a new release of an
already dockerized service without having any impact on the other
services that comprise that application.
Availability
These tools are available immediately for download.