Docker is the hottest new idea in the world of cloud computing, a technology embraced by Silicon Valley’s elite engineers and backed the industry’s biggest names, including Google, Amazon, and Microsoft. Based on technologies that have long powered Google’s own online empire, it promises to overhaul software development across the net, providing a simpler and more efficient means of building and operating websites and other massive online applications.
But some of Docker’s earliest supporters now believe that the company behind the technology, also called Docker, has strayed from its original mission, and they’re exploring a new project that aims to rebuild this kind of technology from scratch.
On Monday, a San Francisco startup called CoreOS unveiled an open source software project called Rocket, billing it as a Docker alternative that’s closer to what Docker was originally designed to be. “The original premise of Docker was that it was a tool that you would use to build a system,” says Alex Polvi, the CEO and co-founder of CoreOS, a company that has been one of Docker’s biggest supporterssince the technology was first released early last year. “We think that still needs to exist…so we’re doing something about it.”
The project is still a long way from complete—CoreOS is open sourcing an early version of the technology in the hopes that others will help define and build it—but some notable names are already eyeing the technology, saying that it could help fill some holes in the cloud computing landscape. Craig Mcluckie, who helps oversees Google’s cloud computing services, calls the Rocket project “interesting,” saying that, if it continues to progress, Google will consider contributing to the project.
A Shipping Container for the Internet
You can think of Docker as a shipping container for the online universe, a tool that lets developers neatly package software and move it from machine to machine. Today, when running large online applications such as a Google or a Twitter or a Facebook, developers and businesses often spread software across dozens, hundreds, or even thousands of machines, and Docker provides a more efficient means of doing so.
It’s based on technology built into the Linux open source operating system—technology that Google has long used to more efficiently run its online operation, the largest on the net—and it seeks to provide a standard way of using this technology, something that any developer can use across all their own machines as well as atop cloud computing services from the likes of Google and Amazon, services that let them run software without setting up their own machines.
But for Polvi, Docker is no longer the simple container format it was originally designed to be. The trouble, he says, is that the software that runs Docker containers—known as the Docker Engine or Docker runtime—has evolved into something that’s far more complex than it was in the past. “If you pay attention to all the things that Docker is doing, currently, it’s really evolving into more of a platform, rather than a container used to build a platform,” he says.
Basically, Docker the company is packing the Docker runtime with all sorts of software designed to help developers run complex applications, and Polvi believes the technology should remain a simple building block for online applications. For instance, the Docker runtime now includes software for running containers across a large cluster of machines—software that behaves much like separate tools offered by Google, another San Francisco startup called Mesosphere, and other companies—and in this way, Polvi argues, it now competes with its own partners.
So, Polvi and CoreOS have built a new container format known, appropriately enough, as App Container, and they’ve created a runtime for this format called Rocket. They fashioned this software with an eye towards added security, but the main aim, Polvi says, is to return the Docker idea to its roots. “It’s time to rein things back in,” he says, “with an alternative.”
As Google indicates that it could contribute to the project in the future, Matt Trifiro, the head of business development at Mesosphere, says that the company’s engineers have already helped shape the project. Though Google’s Mcluckie says the project is still “nascent,” he, like Polvi, believes that a container technology should remain as a simple, modular technology that can be used to build much larger things. Trifiro argues much the same. “You need a nice, self contained unit that doesn’t have a lot of dependancies,” he says. “We think that [Rocket] serves a unique function in the marketplace—and we think it’s going to take off.”
Cloud computing software and services from Google and Mesosphere will continue to run Docker containers, and both companies are careful to say they do not intend to split with the Docker project. You’ll hear much the same from Pivotal, another notable cloud computing company that’s eyeing the Rocket project. “Linux containers are important for the industry and we will collaborate with anyone on open standards to incorporate the lessons Pivotal has learned from years of running containers in production,” says Pivotal’s Andrew Clay Shafer.
On some level, these companies are trying to navigate what Polvi calls “competitive tension.” Though Docker the company is now offering tools that seem to compete with their own, Google and Mesosphere still believe in the basic idea of Docker—and they know it has enormous support from the wider community of internet developers.
Like Rocket, Docker is an open source project, but in some ways, it’s controlled by the company behind it. Rocket is an attempt to create a project that is “more open,” that allows for contributions from a much wider community. Polvi says, for instance, that anyone can build their own runtime that works with the App Container format.
This sort of thing often happens in the world of open source software, where outside developers and companies will grow dissatisfied with the direction of a project and start their own, hoping to better serve their own needs. CoreOS offers an new version of the Linux operating system that aims to simplify large online applications in myriad ways, and Polvi believes that the company’s customers are better served by the new project. But Polvi would be just as happy if Docker evolves into something that’s closer to Rocket.
“We intend to collaborate with Docker. We can contribute these ideas back to Docker,” he says. “It’s just that having an independent implementations will help things go faster.”