How Docker used open-source ideals and excellent timing to become a cloud darling

Ben Golub isn’t surprised that his startup Docker’s take on container technology has caused this much of a buzz throughout the tech industry; it just happened a whole lot sooner than he thought.

“Before the printing press nobody wrote because it was a pain to produce content,” said Golub, CEO of the four-year-old company. “I think Docker in a smaller way is enabling developers to be able to put all their energy into creating amazing applications, rather than worrying about the minutiae of how they are going to run and how they are going to scale and it is a beautiful thing.”

Docker’s rise from a middling Platform-as-a-Service (PaaS) company once known as DotCloud to its current status as a much-heralded container management system that is used by Google (S GOOG), Spotify, Red Hat (S RHT) and others is one that highlights how having the right kind of technology and a large open source community can jump start a company into the spotlight even in a crowded enterprise space. Containers, which are similar to virtual machines, allow developers to isolate their applications from other applications that operate on the same host server. What has people so excited is that containers don’t have their own operating systems; they instead share the same OS as the host server, thus saving a lot of overhead.

In the beginning, there was DotCloud

After cutting his teeth in the enterprise world at companies like Avid Technology, Verisign and Plaxo, Golub got a taste of the open source world when he joined the online storage company Gluster in 2010; Red Hat eventually acquired the company in 2011. Since then, he’s been attracted to open source companies because of the lack of institutional overhead that oftentimes burdens the core technology aspect of a company, such as having to deal with a huge sales and marketing staff.

For Golub, embracing open source principles creates an alternative way to penetrate the enterprise market because of the community that is usually attached to such projects.

“You can be a proprietary company as a startup and hope to have customers or you can be an open source company that has a million users of whom ten percent pay you,” said Golub. “I know which one I like.”

Ben Golub

Ben Golub

In 2010, the roots of Docker were planted when current CTO Solomon Hykes and Sebastien Pahl (now a systems engineer at CloudFare) founded DotCloud, then located in Paris. Back then, Hykes was running with the idea of building a PaaS company in which developers could build and deploy applications, said Golub, because there was an obvious business model: DotCloud was different than other PaaS companies in that it was a multilingual PaaS, which means that users were allowed to select different development components and languages that could run on the company’s platform.

The predecessor to Docker’s container technology allowed DotCloud to deal with all the complexity running on its infrastructure. Because users did not want to be tied down to a single platform and be forced to use certain frameworks and tools, DotCloud had to deal with a “matrix from Hell” that no single person could manage, Golub said. The system that Hykes created to manage the mess, which uses containers, turned out to be the inspiration for Docker.

Although DotCloud was already gaining traction in the development community in 2011 — the year the company won Gigaom’s Structure Launchpad contest in both the People’s Choice and Judge’s Choice categories — Hykes saw the value of the framework he created to run DotCloud, and he wanted to ditch the PaaS service the company was offering altogether and concentrate on further developing his container management system.

Hykes then decided he wanted someone with open source managerial experience who could lead the company and its new ambitions, and so he contacted Golub through Benchmark Capital, which had invested in DotCloud.

When Solomon invited Golub to come look at what DotCloud was doing before he was ready to release Docker, “it was clear to me that this was going to be something revolutionary,” Golub said. Rather than continue on as a PaaS, which Golub said at best could only hit a single, the two decided that focusing on container management would allow them to hit a home run.

Why developers dig Docker

Docker team members working in their floral-heavy office

Docker team members working in their floral-heavy office

Modern software development tends to revolve around assembling together loosely coupled components that may be scattered around various cloud servers. This can cause headaches for developers, as managing the application building process can be quite a burden.

Enter containers and the Docker ecosystem. Containers have existed in various forms since the mid-1990s, said Golub, and they can be found in all sorts of different technology today. For example, when you download an app to your Android phone to play Angry Birds, you aren’t downloading a virtual machine that houses the application, Golub explained; you are downloading a container that keeps the application isolated so it doesn’t mess up other apps on your phone, like the address book.

However, the containers of yesteryear were not able to move across different environments, and only specialized teams tended to use them.

While Google has been public in how it uses containers, Golub pointed out that the company hadn’t historically used containers as a way in which developers could build apps — it was primarily used by IT operations. Additionally, the Google container couldn’t be pushed out to a Linux server or an Amazon server. What Docker did, Golub said, was make it so a container didn’t have to be locked down to a particular place.

As Golub explained, “There weren’t tools to hook them together. There weren’t tools to move them and there wasn’t a high ecosystem around that gave you the ship, the truck and the train.”

The Docker Hub is essentially a container content management system that allows people to pick base components from Docker’s library and craft unique components from that library. Using the Docker Hub, a developer can wrap up their applications — built from their own source code — into individual containers that can be loaded up to run on Linux machines and the environments of cloud service providers.

“Docker relies on a lot of the capabilities of the Linux kernel to provide lightweight isolation and resource sharing,” said Golub. “But Docker itself is the platform; it happens to sit well and run on lots of other platforms and integrate well with a huge number of different tools.”

If an organization has 100 applications that are only slightly different from each other, it doesn’t have to spin up 100 virtual machines to house each application, thus saving a ton of overhead that comes with spinning up so many operating systems.

Depending on the situation, using containers can result in workloads that are 20 to 80 percent lighter than an equivalent workload using only virtual machines, according to Golub.

From word-of-mouth interest to capturing the attention of the tech giants

What used to be DotCloud is now Docker

What used to be DotCloud is now Docker

As the Docker platform spread via word of mouth in the development community, the company’s popularity rose.

Today, the company currently has 42 employees and 460 community members that it scours for potential new hires. If you visit GitHub, you would see over 6,500 Docker-related projects. The developer community also has managed to help contribute to the now 15,000 Dockerized applications in the company’s hub registry, said Golub.

While those Docker users don’t generate a lot of money, Docker benefits from the insights into what companies like Baidu face when running Docker, because those companies are testing it out at a massive scale.

With developers in many different organizations taking to the Docker platform and using it within their own infrastructure, it was only a matter of time before their higher-ups started taking notice. That led to Docker’s first conference in early June, where it unveiled Docker 1.0 among a group of companies that detailed in public just how they use the platform.

And although Hykes decided he wanted to originally ditch the PaaS model, it’s the PaaS category where Docker’s presence is actively being felt, as Adrian Cockcroft, technical fellow at Battery Ventures and former Netflix honcho, explained last week at Structure.

“What it does is it takes the lead that Cloud Foundry has built up and sort of disaggregrates and does an end-run around them,” said Cockcroft. “And now everybody can do PaaS by sort of adopting different pieces of Docker.”

The company turtle -- much easier to house than a whale

The company turtle — much easier to house than a whale

As the company continues to grow, can it hold onto its open source ethos as it faces competitors and bigger organizations? To ensure that Docker’s management doesn’t devolve into the political madhouse that characterizes the open source cloud framework known as OpenStack, Docker has been working on a way to govern its actions without having the company with the most money affect its policies.

Docker’s governance advisory board includes three members from Docker and twelve members from the broader community in which four seats are reserved for the top individual contributors, four seats reserved for the top contributing companies — Red Hat, Google, Rackspace and IBM (S IBM) — and four seats for users who don’t contribute code but need to demonstrate that they have implemented Docker at scale; in this case companies like Spotify and Groupon are nominees. The Docker community then gets to vote to determine who gets accepted to the advisory board.

“I would say Solomon (Hykes) is a sort of benevolent dictator but we know that 95 percent of the people working on Docker don’t work for Docker Inc. and a large number of the top maintainers who decide which contributions make it in don’t work for Docker,” said Golub.

Golub also said he believes Docker is set up to be a financially viable company, and right now the company makes money like Red Hat: by offering commercial support. He expects in the long run that Docker will make the bulk of its money providing tools that make it very easy to manage and monitor and set policy around containers.

Of course, this is easier said than done as Docker will be competing against companies that build upon its platform, but Golub welcomes the challenge and said that the competition will cause Docker to have to make better services.

“I would much rather be an ubiquitous platform and face competition on how to manage that platform than to be a stand-alone tool, both proprietary and unknown,” said Golub.

Post and thumbnail images courtesy of Shutterstock user Hellen Sergeyeva.