Solomon Hayes Completely Redefined Containers and Turned Docker into a Hugely Successful Company
In February 2013, Solomon Haykes invited a few of his friends over to his office, located at the Bay Area of San Francisco. He had something important to show them, a demo of an idea he had been working on. One that would change the way software was developed and distributed.
Solomon was CTO of dotCloud at the time and as his four friends sat across him and listened attentively, he seemed to wander off into a tangential plunge into the evolution of shipping.
His idea was based on a simple concept: containers.
Eight months later, Solomon idea had been downloaded more than 100,000 times and brought a fresh take on an existing software development concept. Companies as big as Ebay had begun using Hayke’s idea and the communities blew up with meetups all over world.
This is how Solomon Hayes built Docker;
Of Ships and Refining an Old Idea
Why was Solomon so interested in the evolution of shipping? This of course, is now a billion dollar question because he has not only helped shape the software development industry but also built Docker into a unicorn company.
As Solomon sat in his office with his audience of four, he began to recount the history of shipping containers. Before their introduction, various goods couldn't be shipped together. Chemicals, for instance, couldn't be bundled together with foodstuffs in the same voyage.
But then came containers which pretty much turned the shipping industry on its head.
Suddenly, it didn't matter what was in the individual boxes. Similar items could be gathered inside a single container and then stacked together on top of containers. No one had to stop and think about what was in the container.
As Solomon emphatically explained the evolution of shipping and shipping containers, he suddenly shifted to software development. He went on to demonstrate, in the command line, how he intended to make it super easy to build containers, with different technology stacks inside them, and how to execute them over a variety of cloud endpoints.
It was a lightbulb moment for his audience of four as they immediately began to shoot all kinds of questions, unable to hide their excitement.
In March 2013, dotCloud announced the official launch of Docker as an open-source PaaS (Platform as a Service), a cloud computing model that delivered software development tools. This meant that anyone could use Docker containers, not just the software engineers at dotCloud.
By October 2013, dotCloud announced that it had officially changed its name to Docker. It had essentially pulled the Docker technology out of its core product and consequently, sold off its dotCloud PaaS software platform in 2014.
That pivotal move would signal a turning point in the industry.
The Evolution of an Existing Idea:
Back in the 1960s, computers were generally out of reach for many people. Hiring one could set you back around $1000 per month (approximately $8000-plus today). They were mostly dedicated to one task, which could take a couple of days to execute.
The need to share computer resources among several users brought about virtualization, which ushered in the rise of centralized computers. All processing could be done from a single location, via several terminals. If one terminal broke down you would simply move to another one.
Suddenly, it became increasingly crucial to separate not just individuals users, but also system processes. It was critical that computers have shared, yet isolated environments.
Containers
Containers became increasingly popular from the early 2000s with the release of Solaris containers, Google's cgroups (control groups), and the open-source LXC (Linux Containers).
Solomon had been particularly interested in LXC which, at the operating system level, allowed multiple isolated Linux containers to run on a shared kernel. In fact, it was LXC that brought all the earlier technologies like CGroups, chroot technology, Solaris, and kernel namespaces to try to bring a complete containerization solutions.
But there was one missing piece; Docker.
What if engineers had the ability easily package several containers and move them from one environment to the other? Solomon must have asked himself. Among other subtle improvements, Solomon began to wrap, extend, and give the Linux technology a user-friendly design.
By the time Docker launched in 2013, it had two distinct components; The Docker Hub which provided a cloud service for distributing containers, and the Docker Engine used for creating and running containers.
Developers who previously craved quick and iterative development cycles were, for the first time, handed the tools to effectively use containers. Running a container no longer required a lot of manual work or a specialist.
Suddenly software developers never had to stop or waste time with server issues. They could just pick whatever services they needed, combine them in a neat, easy stack, and then get right back to writing code. It was like "playing Lego!" Docker announced on its website.
Emphatic Uptake
Docker enjoyed an emphatic uptake as soon as it launched in 2013. Development teams from companies as big as eBay began to use Dockers almost immediately. Others included TerseTag, TapCanas, Rafflecopter, Bulb Inc, among others.
Solomon’s decision to release Docker as an open-source platform might have been responsible for making it become (almost) an overnight success. A large community grew around Docker and helped it to develop bug fixes and other enhancements within a short time.
Docker quickly became the de facto standard in the developing community, which put pressure on the industry to develop formal standards for the container formats and runtimes.
In fact, when the industry later announced (In 2015) the ‘Open Container Initiative’ which sought to develop a set of standards for containers, Docker’s container format and runtime became the basis of the initiative.
Tipping Point
In 2014, giants such as Amazon, Google, Redhat, IBM, and even Microsoft began to bet on Docker. At one point, Microsoft had become the top open source contributor to Docker and even went ahead to integrate the Docker Engine into its Windows Server in 2014, and later on within Windows 10.
Microsoft's uptake of Docker surprised many, including Docker's own CEO Ben Golub. Speaking to a packed crowd at a developer conference in late April, 2015, the 47-year-old CEO said he was “surprised that his unpolished new product has become such a big deal to Microsoft while still a toddler. It occasionally stumbles; it occasionally spits up and keeps those closest to it up at night."
Almost overnight, Docker had initiated the creation of a robust new ecosystem like the one VMware had created some years before. And become the de facto standard in container technology.
At the end of 2014, Amazon announced the release of ECS, which at the time was the only cloud-based container-as-a-service set of tools in the industry offered by a major cloud hosting provider.
Challenges
Of course, container technologies existed before Docker came along. But it was Docker who sparked the so called container revolution as we know it today. Other companies were also posturing and releasing different technological solutions.
Companies such as Kubernetes, Google Container Engine, began to provide complementary and even competing solutions. But Solomon knew that to build real value, you needed to strategically position your offering within an ecosystem and have other robust companies orbiting around you.
After quietly raising $15 million January 2014 and another $40 million in September of the same year, Docker acquired Orchard and Koality, the first two of its many acquisitions down the road. By this time, the company already had a valuation of $400 million, and well on course to unicorn status.
Docker's rise in popularity had been partly due to the fact that it had built its technology on the already popular LXC (Linux Containers). However, security issues as well other issues had begun to arise with LXC, most of which were addressed with the release of LXC 1.0
In 2014, Docker dropped LXC as its default execution environment and replaced it with its own libcontainer. This meant that developers now had access to a much broader range of isolation tools. It also opened the door to running Docker on non-Linux systems.
Docker Today:
Docker has mostly stuck with its initial strategy of following the developer. The company has focused on the developer experience rather than the infrastructure as is the case with many tech companies.
Docker is remarkable because it’s a classic story of how much one can accomplish if they stand on the shoulders of other giants. It’s now one of the outstanding tech unicorn companies in the world.