Docker Adds Orchestration Capabilities
The services are aimed at supporting multi-container, multi-host distributed applications.
Docker containers started out modestly; it was a technology for packaging apps in a lightweight way, without the overhead incurred by virtual machines (VMs). In a very short span, though, it has gone beyond that original mission – far beyond, judging by recent releases.
The three services -- Docker Machine, Docker Swarm, and Docker Compose, along with a new set of open APIs -- will provide a platform for multi-container, multi-host distributed applications.
Docker: The Next Generation
"Organizations and enterprises are looking at composing the next generation of their distributed applications based on Docker containers," David Messina, Docker, Inc.'s VP of marketing, told ADTmag.
"They're looking for ways to optimize that whole process. These orchestration services are designed empower developers and sysadmins to create and manage those apps, and to support a dynamic lifecycle that scales from a developers laptop to hundreds of hosts in the cloud."
Docker Machine is a service focused on the developer experience, Messina explained. "This is about radically simplifying and accelerating the developers' ability to work with running Docker containers on any infrastructure," he said. "That experience was already extremely easy and fluid on the laptop. But when they wanted to run those containers on data center VMs for test, or moving into production, say, in the cloud, there was a fair amount of manual configuration that had to be done at the host level." Docker Machine expands the portability capabilities of distributed apps with a new flexibility that allows devs to provision any host with the Docker Engine. "You can go from zero to Docker in seconds," he said.
Docker Swarm is a Docker-native clustering solutions that works with the Docker Engines. "It's provisioned by the host's service to define a resource pool for your application and the containers they comprise," Messina said. "What developers and operations folks like about it is that it allows you to scale from a two-container cluster on a laptop to something that runs in a test environment to a cloud environment. And because it automatically schedules container workloads and allocates resources -- no manual resource management -- it provides high performance and availability."
Docker Compose is another touchstone for developers, Messina said. "As they move from single container applications to sophisticated distributed apps," he explained, "they want be able to assemble discreet containers representing individual services into a complete application stack. And they want to do it in a declarative fashion through a simple configuration file that effectively allows them to define what containers are part of the app and the dependencies among those containers, and then have a discreet distributed app that is 100% portable across infrastructures. That's what Docker Compose does." The service defines a distributed app stack and its dependencies through a simple YAML configuration file, he added, dramatically simplifying a complex process.
Although Docker is presenting them collectively as a kind of orchestration platform, these services are discreet "batteries included" capabilities, Messina said. "Rather than looking at this as one overarching thing called ‘orchestration,' we wanted to provide some very specific capabilities that standalone orchestration products could access. The company makes this access possible via a new set of open APIs. Aspects of the APIs were previously made available to partners as part of Docker's open design process, the company said. They're now being made available to the Docker partner ecosystem.
Docker's new orchestration services are going to be offered as alpha releases. The APIs for Docker Machine are available now. The company expects the others to be available the first half of 2015, with all three services general availability in the second quarter.
"This is part of our open design process," said Messina. "We've already gotten a ton of feedback, but we want more. Through open design, it just gets better and strong, and we're actively encouraging the community to play with the technologies and help us take them all the way to general availability."
Docker Hub Enterprise
The company made the orchestration announcements during its Docker EU user conference in Amsterdam, NL, which wrapped this week. The company announced
its first milestone release in June at its first DockerCon event in San Francisco.
At that conference, the company also announced Docker Hub Enterprise (DHE), a new product addition to the Docker platform designed to provide "key workflow capabilities for developers and sysadmins managing a dynamic lifecycle behind the enterprise firewall." Docker, Inc. has been working with IBM, Microsoft, and Amazon Web Services to make DHE available to their customers. IBM will deliver DHE to its customers as an on-premise solution and also as a cloud offering, the company said.
Docker.io is an open source project focused on creating a means of building, managing, and deploying applications as lightweight, portable, self-sufficient software containers. The project has attracted more than 450 contributors and generated more than a million downloads, the company says. More than 14,000 "Dockerized" applications in are currently listed on the Docker public Registry, and about 7,000 projects now on GitHub have "Docker" in their titles.
'Out of Almost Nowhere'
Docker "came out of almost nowhere" about a year and a half ago, said IDC analyst Al Hilwa, and has been evolving quickly ever since. Over the past year container-based virtualization has gained serious traction in the market. Well-known companies, from Red Hat to Google, have adopted the technology. One reason: containerization allows portable apps to be packaged in a lightweight fashion and to be easily and reliably consumed by PaaS clouds. "The level of ecosystem support Docker has gained is stunning, and it speaks to the need for this kind of technology in the market and the value it provides," Hilwa said.
"We tend to think of what we're doing now is building an open platform for distributed apps," Messina said. "Containers are a key component, of course, but it's really about people using those containers as a foundation for applications."
The expansion of Docker offerings hasn't come without controversy. Last week, for example, one of its chief sponsors – CoreOS – announced a rival container system, named Rocket, that is just a simple container. CoreOS CEO Alex Polvi, in making the move, said that Docker has lost its way and forgotten its original mission in an effort to become all things to all people.