Docker is proving to be one of the world's most successful technology pivots, but the real question is why the timing was so right for container technology.
Docker shouldn't exist. Not in its current form, anyway. Docker -- an open platform for developers and sys admins to build, ship, and run distributed applications in "containers" -- is wildly popular today, but just a few short years ago, the company (then called dotCloud) was struggling to find a purpose. As a Platform-as-a-Service (PaaS) company, Docker was an also-ran. As a leading provider of essential enterprise infrastructure, it's a rock star.
Others, like Ben Kepes, have written about Docker's successful pivot. The bigger question is why Docker's container strategy is such a big deal, and why now?
Irrelevance, thy name is dotCloud
I remember meeting dotCloud founder Solomon Hykes at Wichcraft for lunch in San Francisco in late 2011. Hyke had raised $10 million earlier that year, but the company was struggling to figure out a business model. Meanwhile, my own startup, HTML5 company Strobe, had early customer traction but was running out of cash.
So, dotCloud's investor, Peter Fenton of Benchmark Capital, suggested we get together.
We did, but I think it's fair to say that Hykes thought my business was as baffling as I found his. As then reported by The Wall Street Journal, dotCloud's mission was to "allow developers to mix and match technologies, including messaging, database, programming language, caching, and other components, with just a few clicks," thereby "reduc[ing] ramp time from a few days to a few seconds, enabling them to begin writing code on top of the platform immediately."
This sounds interesting. Sort of. But it also wasn't terribly clear what dotCloud was selling (the ability to run applications written in pretty much any programming language).
And so it didn't sell very much, despite some promising technology, as one of its investors has written. Blame the failure of the PaaS market to materialize. Blame execution.
Or just be glad, because it led Hykes and team to open source the container technology they had built as part of dotCloud's PaaS. They named it Docker and pivoted the company to focus on that. It was an absolute genius move, even if motivated by desperation.
The Docker phenomenon
As interesting as the pivot is, the real question remains, "Why has Docker's container technology proven to be so amazingly popular?" After all, containers have been around since the mainframe era. What makes Docker's timing so spot on?
As Redmonk analyst Stephen O'Grady details, there isn't one simple answer to this question.
The first, he notes, is the popularity of Linux. "Linux is exponentially more popular today than any of the other platforms offering containers have been." Given that most people won't bother to switch between operating systems, it's critical that Docker offered containers for a platform that is at peak popularity.
The second is the widespread adoption of virtualization, which "has likely eased the adoption of container technologies like Docker."
O'Grady's third point is more contentious. He argues that part of the credit for Docker's rise "is the steady erosion in the importance of the operating system," as the cloud obscures operating system components -- or as he puts it, "PAAS is the new middleware, and middleware's explicit mission has historically been to abstract the application from the operating system underneath it."
Operating system vendors dispute this, not surprisingly. As Red Hat's Gordon Haff insists, "because the operating system provides the framework and support for all the containers sitting above it, it plays an even greater role than in the case of hardware server virtualization where that host was a hypervisor."
Regardless, O'Grady's overall point stands: Docker's container strategy was the right technology at the right time. Kepes builds on this, arguing that "many people were talking about the problems associated with moving applications between infrastructure vendors (from on-premises VMware to Amazon Web Services, for example) and the notion of containers fitted the bill nicely."
One thing that neither commentator calls out is the importance of open source. Docker wouldn't have been nearly as interesting as proprietary technology, as its distribution would have been artificially limited. But then, being open source also wouldn't have helped it much 10 years ago, no matter how popular Linux or virtualization was, because even 10 years ago, open source didn't have nearly as much market favor.
Time for a pivot?
All of this should give hope to entrepreneurs struggling about for relevance. My own company, MongoDB, is the result of a pivot to a database business from a PaaS business. Other great pivots include Twitter, Nokia, Nintendo, and more.
While a pivot is no guarantee of success, of course, the Startup Genome Project found that "Startups that pivot once or twice times raise 2.5x more money, have 3.6x better user growth, and are 52% less likely to scale prematurely than startups that pivot more than 2 times or not at all." Not bad.
Of course, the magic isn't in the pivot -- it's in the timing. In the case of Docker (nee dotCloud), a number of factors combined to make it the exact right time to launch a container, with the popularity of Linux, virtualization, cloud, and open source all factoring into its impressive adoption.