Rise of The Docker Pattern

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.

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.

15 comments

I frequently find myself explaining why Docker is being adopted (in the Enterprise) so much quicker than VMs. It seems to be that VMs got tied to hardware upgrade cycles (typically 3 years) whilst containers haven’t got caught up in that. So what took 10yrs with VMs looks like it will take 6yrs with containers (and we’re already 2yrs in – the early adopters are done already and we’re moving into the majority).

jgovernorsays:

[…] have never seen a technology become ubiquitous so quickly [as Docker],” RedMonk analyst James Governor declares. Red Hat CEO Jim Whitehurst has also joined the Docker fray, telling investors that Docker is the […]

[…] have never seen a technology become ubiquitous so quickly [as Docker],” RedMonk analyst James Governor declares. Red Hat CEO Jim Whitehurst has also joined the Docker fray, telling investors that Docker is the […]

[…] have never seen a technology become ubiquitous so quickly [as Docker],” RedMonk analyst James Governor declares. Red Hat CEO Jim Whitehurst has also joined the Docker fray, telling investors that Docker is the […]

Borgsays:

The displacement of VM’s with containers only plays out if “bare metal” for containers proves common place & I don’t think that will happen in the Enterprise. Personally I think containers running in VM’s are the better way to go for most. Solves networking probs (not just NAT to host, but NSX can IP each container for NFV use cases & security) and monitoring tooling without new silos… not to mention 99% of folks will have type-2 & 3 apps for a long time… why introduce all this mess of new tooling & build a dedicated infrastructure stack.. be it on prem or in public cloud when you can have one integrated one?

Moreover, when you think about it… with reliable persistent storage in containers now you can take more Type-2 apps and containerize them because a container running in a ESX VM is no more or less resilient than just running 1 app per VM but now you don’t have all those duplicate O/S’s that take up resources & need to be patched all the time…. And of course all the Docker development benefits.

Human nature 😉 which one will win… when sometimes its about how they will weave together.

[…] (again, relative) ease of use has spurred enterprise adoption, according to a separate essay by RedMonk: “Unlike virtual machines, containers include the application and all of its dependencies, but […]

[…] (again, relative) ease of use has spurred enterprise adoption, according to a separate essay by RedMonk: “Unlike virtual machines, containers include the application and all of its dependencies, but […]