Docker turned two years old Wednesday, and what an impact it has had at such a young age.
Few enterprise software companies, whether open source or commercial, enjoy a trajectory that puts their product in the hands of millions of users in such a short time span. Docker sounds like an overnight success -- except for the part about how, in its first iteration, the code failed to get anyone to pay attention, and the company's first business model flopped.
Docker celebrated its birthday with a party at its spiffy new 475 Brannon Street headquarters in San Francisco, close to the heart of the city's booming start-up district. Before the party, Docker company founder and CTO Solomon Hykes talked with InformationWeek about the company's journey.
Docker grew out of five systems administrators and operations people getting tired of managing each server workload as a separate thing, each requiring repetitive work by admins. Why wasn't there a tool to let each workload be managed in a standardized way?
Hykes was one of those five admins, living in Paris and working for SmartJog, a company that moved content around a worldwide network. He convinced his friends to quit their jobs and start a company. "
"None of us were ex-Googlers or anything like that," Hykes says. "My resume is not that impressive before Docker, but we could see everyone was constantly reinventing the wheel" when it came to managing server workloads.
What follows is a timeline of how Docker developed, what went wrong for Hykes and his small team, and how that prepared them to eventually make Docker the preferred tool of Linux, Java, and Web language developers. Later this year, Docker will add Microsoft .net developers to its customer base as well. The path to prominence wasn't without its setbacks.
This is when Hykes and his four colleagues conceived of containers. A container formatted an application in such a way that it could be moved around as a single unit, and the receiving system could figure out how to run it. There was a rather big hitch, however. The building blocks of containers -- namespaces and control groups -- weren't supported in the Linux kernel.
In this two-year period, Hykes' group produced a container engine and a patch for the Linux kernel that allowed it to generate and run containers. It was a breakthrough technically. But would-be customers had little desire to send their software to a group of unknown developers who had fiddled with the Linux kernel.
[Want to learn more about Docker 1.0? See Docker 1.0 Backed By IBM, Red Hat, Rackspace.]
They had come up with a general-purpose technology that didn't really fit a particular niche or narrow business need. None of the five knew anything about marketing. In effect, they had created what would be Docker Containers, and "no one cared," recalls Hykes.
Hykes realized what a fruitless struggle it would be to ask the world to adjust to his group's version of a Linux kernel. So, the group decided to use another kernel, the VZ kernel produced by the virtualization firm, Virtuozzo, which had already been patched to host containers. It started to offer VZ servers as an online service, dotCloud. Like other clouds, it could host multiple languages. But unlike other early PaaS suppliers, dotCloud didn't need a separate set of tools and packaging for each language. It used one container format.
The dotCloud container was branded as Docker, with a company logo of a blue whale redesigned into a container ship. But the "Web developers weren't coming to us," recalls Hykes. However, developers at Heroku, Google App Engine, and other places did take notice of what dotCloud had done with its container formatting. With dotCloud's blessing, they started using Docker as a standard format across different language applications. In addition, the Linux kernel development group saw the progress on containers and included support in the Linux kernel. Instead of throwing in the towel and leaving the market to better known cloud platform companies, the dotCloud group proposed that Docker adopters link their ongoing container development efforts together into an open source project. DotCloud had a technical lead in the field, but they were willing to share it. The other PaaS providers agreed. It helped that dotCloud didn't look like much of a threat to any of them as a service. In March 2013, Docker became an open source project.
Things started hopping with the establishment of Docker as open source, and no moment was bigger than this one at Google I/O, which is a gathering of developers, third parties in the Google ecosystem, and large users of Google services. Google executives told the thousands of developers who convened in San Francisco in mid-May that it was standardizing on Docker containers rather than sticking with the types that it had built itself. Docker had been backed behind the scenes by container managers, and Google I/O made it a public endorsement.
Dotcloud was slowly failing as a cloud service, but its core team recognized the value of what they were shepherding. "In a sense, we were returning to our roots," recounts Hykes. With Google, Heroku, Red Hat, and IBM backing Docker use, it had a growing audience of interested developers. On Oct. 29, 2013, dotCloud announced it was scaling back its PaaS business and changing its name to Docker Inc., to speed development of container technology.
It would lead the open source project, and from then on there would be a company, Docker Inc., which would employ container experts and offer Docker technical support. Hykes had been scoping out possible CEO candidates, but had been unsure during the dotCloud effort that he was ready to turn over the reins of the company. Now he knew he needed a company builder, and the team chose Ben Golub, former CEO of Gluster and Plaxo. The stage was set: the Linux kernel now supported containers, and the reorganized Docker team had pivoted just in time to catch a new momentum. Developers were taking an interest in droves.
company builder, and the team chose Ben Golub, former CEO of Gluster and Plaxo. The stage was set: the Linux kernel now supported containers, and the reorganized Docker team had pivoted just in time to catch a new momentum. Developers were taking an interest in droves.
Red Hat normally lags in adding new Linux kernel features, in order to keep Red Hat Enterprise Linux as stable as possible. With Docker, Red Hat was leading in adding a new feature. Hykes was a guest onstage of the Red Hat West Coast summit as the two parties announced a partnership and a special version of Red Hat Enterprise Linux, Atomic Host, to run containers. The upcoming RHEL version 7 kernel would also support Docker, a move that to many developers denoted containers' growing importance. Paul Cormier, president of products and technologies, told developers that Docker would become a feature of its OpenShift PaaS and containers would one day emerge as a lighter weight vehicle than virtual machines for moving workloads into the cloud.
With Docker 1.0 now available and supported for production use, Docker held its first developer conference in San Francisco, June 22-23. "I've never seen a community coalesce so fast," said Docker CEO Ben Golub. Google, Red Hat, Rackspace, and IBM showed up to take the stage in support.
Google, with 10 years' experience with using containers to run its internal operations, makes open source its container-scaling system Kubernetes --the software that provisions a set of virtual servers to run a container. Kubernetes standardized on the Docker format. Microsoft joined the usual suspects lining up behind the project. Until now, containers have always been "Linux containers." Microsoft wants to make Docker containers available to millions of .net developers.
At VMworld in San Francisco at the end of August, VMware CEO Pat Gelsinger and CTO Ben Fathi explained that containers and virtual machines work better together. VMware officials announced plans to include container management into its vSphere virtual machine management system. For security reasons, containers work best when they're running in a virtual machine, especially in a multi-tenant environment, they point out. Docker CEO Ben Golub adds that Docker will cooperate with VMware to insure containers and VMs work together.
Docker's first grant funding was a mere $17,000 from Y Combinator, the Palo Alto startup incubator, as the firm shifted from Paris to Silicon Valley. Those funds gave the fledgling company enough money to organize its office and get its container story out to venture capital firms. After a small series A round, it announced a $40 million round led by Sequoia Capital, with Benchmark Capital, Greylock Partners, Insight Ventures, Trinity Ventures, and Yahoo founder Jerry Yang participating.
Amazon jumped on the Docker bandwagon with Amazon Container Service, to launch Docker containers on EC2. "Developers love containers," said CTO Werner Vogels from the stage in Las Vegas. The sentiment wasn't news, but Amazon saying so was. In early 2015 Amazon added a container registry service.
When Docker first moved to the US, the French engineers who made up the original small team -- and their significant others -- had little interest in moving from Paris to live in Palo Alto, Hykes says. So Docker took up cramped offices in San Francisco's Financial District. As the number of employees crept toward 100, it was so cramped you had to reserve the fire escape days ahead to hold a meeting. In 2015 Docker moved into spacious, grown-up offices in a remodeled 475 Brannon Street building. Docker has gone from the original five to eighty software engineers.
In September, there were 35,000 Docker containerized apps stored on the DockerHub, the site that Docker hosts on which users may store and share their work with Docker. Today, six months later, there are 71,379.
Containers are becoming the basis of a new way to build applications as micro services, each service running in its own container. And containers work for development in the cloud as well. "By the end of 2012, there was no player that mattered in PaaS that wasn't using containers," recalls Hykes. And those PaaS platforms agreed Docker was the container to use. That combined with Google's public blessing based on its long use of Linux containers set the stage for Docker to seize the lead of container formatting and management.
Hykes recently agreed to slow releases of Docker from once a month to once every two months because Linux distributors were complaining of too many updates to their code base. But Docker development is likely to continue at a rapid pace.
"I didn't want us to be remembered as the team that was in a position to establish a standard, then blew it by not doing the right things," Hykes says.
Attend Interop Las Vegas, the leading independent technology conference and expo series designed to inspire, inform, and connect the world's IT community. In 2015, look for all new programs, networking opportunities, and classes that will help you set your organization's IT action plan. It happens April 27 to May 1. Register with Discount Code MPOIWK for $200 off Total Access Conference Passes.Charles Babcock is an editor-at-large for InformationWeek and author of Management Strategies for the Cloud Revolution, a McGraw-Hill book. He is the former editor-in-chief of Digital News, former software editor of Computerworld and former technology editor of Interactive ... View Full Bio