Once you’ve been in the industry for a while the patterns become clearer. Enterprise technology adoption has some fairly distinct shapes. In 2009 I wrote
“Amazon is the new VMware. The adoption patterns are going to be similar. Enterprises will see AWS as a test and development environment first, but over time production workloads will migrate there.”
I dubbed this “the VMware pattern”. New technologies generally don’t emerge as fully-fledged production environments. They are adopted first and grow into the role. Docker is currently on a fast track through this process.
In the same post I wrote:
“Amazon isn’t the de facto standard cloud services provider because it is complex – it is the leader because the company understands simplicity at a deep level, and minimum progress to declare victory.”
For docker replace “simplicity” with “convenience”. Why is Docker is so hot? The answer is simple. Developer-led adoption, or as Andrew Clay Shafer puts it:
“It’s the fastest path to developer dopamine”.
At RedMonk we have never seen a technology become ubiquitous so quickly. Docker makes it simple to spin up a container which contains everything needed to run an app – the code itself, the runtimes, systems tools etc. Develop on your laptop, then in theory deploy to any server. Unlike virtual machines, containers include the application and all of its dependencies, but share the kernel with other containers, an efficient model which maps cleanly to current development thinking in areas such as continuous integration and microservices. Stephen, in a thoughtful explanation of the Docker phenomenon, argues that:
The explosion of Docker’s popularity begs a more fundamental question: what is the atomic unit of infrastructure moving forward? At one point in time, this was a server: applications were conceived of, and deployed to, a given physical machine. More recently, the base element of an infrastructure was a virtual recreation of that physical machine. Whether you defined that as Amazon did or VMware might was less important than the idea that an image resembling a server, from virtualized hardware and networking interfaces to a full instance of an operating system, was the base unit from which everything else was composed.
Containers generally and Docker specifically challenge that notion, treating the operating system and everything beneath as a shared substrate, a universal foundation that’s not much more interesting the raised floor of a datacenter. For containers, the base unit of construction is the application. That’s the only real unique element.
So alongside many of the other micro and macro trends we currently see, notably infrastructure fragmentation, Docker basically just makes sense – it feels right and represents how developers live now. Next however comes the fun part – Docker will begin to reshape how operations and IT work, just as VMware did in the virtualisation wave.
Enterprises needs to find ways to deliver more digital services to market faster, which means not only becoming more adept at developing, but also consuming new technology. Docker can help with that. In the age of continuous deployment dev/test underpins the deployment process. Everything needs to be constantly tested, and constantly refactored, with an eye to disposability rather than reuse. See Microservices and Disposability: On Cattle, Pets, Prize Bulls, Wildebeests and Crocodiles
Docker is on an exceedingly well-funded mission to transform itself from developer favourite to Cloud Native production environment of choice for the enterprise, moving from Open Container format to “single virtual computer” of choice. The transition though from developer-led to enterprise production grade takes time. We’ve seen this before, from MySQL to Mongo to Spring… or for those with rather longer memories think the early versions of Oracle. Automation, backup, compliance, logging, monitoring, networking, scheduling, storage management, orchestration, security, and basic engineering solidity don’t happen overnight.
There is now an ecosystem of companies building tooling to support Docker in production- startups like ClusterHQ, Datadog, Rancher Labs, Server Density, Sysdig, Treasure Data and Weaveworks. More established players such as AppDynamics, CloudBees and New Relic. Also of course the cast of existing suppliers looking to embrace and extend Docker- including Amazon Web Services, IBM, Microsoft, Oracle, Pivotal etc. Then there are outright competitive plays for the bigger prizes, such as Google Kubernetes. There will be negative commentary – growing pains are par for the course.
Docker is not going to have everything it’s own way – but the path is now set clear for Docker to become an industry standard production platform. We can call the path it’s on the Docker Pattern.
Our clients include Docker itself, Amazon Web Services, IBM, New Relic, Oracle, Pivotal and Treasure Data.
Debbie Clapper made the beautiful pattern above.