Make that two and a half services
The last of the three new services is Docker Compose, and it's also the least mature – so much so that Hykes described it as a "tentative proposal for a tool." The idea here is to allow developers to define multi-container distributed applications by specifying services and their dependencies using simple YAML configuration files, independent of any underlying architecture.
By way of demonstration, Hykes showed how a single command –
docker up – could be used to bring up an entire distributed application composed of multiple containers. Still, he said, Docker Compose is "still not finished" and he called on the community to help make it fully baked.
All three orchestration services are designed to be scalable to any number of containers running in whatever configuration the user needs. As Docker marketing veep David Messina explained to El Reg in a briefing earlier this week, "We literally mean that all these capabilities that we're talking about scale from, let's say, a two-container application that runs on my laptop, all the way up to hundreds of services running on hundreds of hosts."
Public APIs are also planned for all three services, although only the API for Docker Machine is available as of Thursday. APIs for the other two are expected to launch in the first half of 2015.
The debut of these new services should come as no surprise to followers of the Docker open source project, which develops the software in full public view. All three services have been available as pull requests on GitHub and they have been developed based on feedback from the Docker community. Thursday's announcement was more of a coming-out party, where Docker showed them off to more casual consumers of the tech for the first time.
But not everyone agrees that piling these sorts of features onto Docker is the right approach. On Monday, CoreOS – makers of a lightweight Linux distro for massive-scale server deployments – announced Rocket, a minimalist container format created specifically in response to Docker's platform aspirations.
At a community event in San Francisco, CoreOS CEO Alex Polvi criticized Docker's process model, saying, "Having a service that runs as root on your servers that does everything is fundamentally flawed." He added that with Rocket, CoreOS would focus on developing lightweight, standalone tools for managing "minimal containers" for large-scale web infrastructure.
How this budding rivalry pans out remains to be seen. It's safe to say there will be no mass exodus from Docker any time soon, though, as the Rocket software is still pre-alpha. And the Docker ecosystem is strong and growing; partners that are already experimenting with the new orchestration services include IBM, Joyent, Microsoft, and Mesosphere, among others.
Customers are now free to kick the new services around, too. More information on each is available at the Docker blog, and all three services are available in alpha versions – even including the "unfinished" Docker Compose – beginning on Thursday (see above links). As for when the services will be part of the shipping product, Docker says it's shooting for general availability in the second quarter of 2015. ®