Co-founder Solomon Hykes reflects on the startup's roots in Paris, its failed first effort to get containers moving, and how Docker then became a fast-growing data center hit.
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's Solomon Hykes
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.
2008-2010: Docker's roots in Paris
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.
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.
2011: The Paris group goes PaaS
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.
2012: dotCloud struggles, Docker doesn't
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.
May 2013: Google blesses Docker at I/O
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.
October 2013: dotCloud becomes Docker Inc.
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.
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
We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
The Next Generation of IT SupportThe workforce is changing as businesses become global and technology erodes geographical and physical barriers.IT organizations are critical to enabling this transition and can utilize next-generation tools and strategies to provide world-class support regardless of location, platform or device