Who's Using Docker?
Who's using Docker? If your organisation is on board with Docker, you probably know the answer, but if you're still wondering whether it's ready for enterprise-level use, the answer may surprise you.
A question of relevance
When Docker was first announced in 2013, it was relatively easy for at least some casual observers to dismiss it as just another technology fad. But the technology has taken off: by the end of 2014, 100 million container images had been downloaded and, as of early 2017, this has risen to over eight billion. The uptake rate has been phenomenal.
But it is one thing to apply entirely new ways of developing and deploying software at the startup or small business level, and quite another to apply those same methods to well-established, enterprise-scale operations. Would there come a time when it would become reasonable (let alone necessary) to refactor existing software for containers, while at the same time shifting to such container-supportive practices as continuous delivery?
The numbers are in
It's been almost four years since the initial Docker announcement, and now we have enough surveys, enough statistics, and enough on-the-job stories to provide a reasonably full picture of Docker's current place in IT: a picture of who's using it, who's seriously considering adopting it, and where it is likely to go.
A sharp rise in real use
According to a client survey conducted by Datadog in mid-2016, Docker adoption had increased by 30% over the previous year—an increase from 8.2% of Datadog's customers in May of 2015 to 10.7% in May 2016. These figures for the most part represent the use of Docker in production (rather than just development), so they can be taken to indicate substantial adoption, rather than just ‘trying it out.’ Datadog's customers are generally well-established and tend to be conservative when it comes to deployment, so a 10%+ adoption rate suggests a considerable degree of commitment among organisations facing typical enterprise-level constraints (such as legacy software, entrenched IT practices, high level of reliance on existing infrastructure).
Other recent surveys suggest an even greater level of adoption, such as a 100% increase in Docker use from 2015 to 2016. According to Docker CEO Ben Golub's keynote address at the 2016 DockerCon, growth over the previous two years has been phenomenal, with approximately 460,000 applications ‘Dockerized’ (up 3,100% from 2014).
New Relic reports that the active number of containers running concurrently per account increased from 96 in 2015 to 280 in 2016—suggesting a major shift on the part of many users from development-based experimentation to production-based deployment.
Who are the Docker adopters?
But who is actually using Docker: startups, mid-size companies, enterprise-level organisations, or a mix? According to the Datadog report, the move to Docker is actually being led by larger companies (with 500 or more hosts), rather than smaller startups.
This is supported by statistics from other sources, which generally report that Docker use by enterprise-scale organisations is greater than the average for all businesses. According to New Relic, the average number of containers deployed per company in 2016 was 28,000, with the greatest number of containers run by a single company reaching 135,638 (up from 1,596 in 2015). These numbers strongly suggest considerable enterprise involvement in Docker deployment.
Reasons for choosing Docker
But if a growing number of enterprises are committed to using Docker, what has led them to make that choice, and how are they handling the transition from monolithic to container-based deployment?
A recent discussion at Hacker News included comments by several developers and IT technicians, including some who are working with Docker at the enterprise level. Perhaps surprisingly, several people remarked about how easy Docker deployment was.
The overall picture that emerged from the discussion was that while setting up and maintaining the support infrastructure was sometimes a demanding task (something which may reflect underlying organisational problems more than actual technical complexity), Docker deployment in a production environment was relatively simple and trouble-free.
The scale of deployment reported was as high as 15,000 containers per day (at a SaaS company where the process of container deployment was described as ‘easy’).
Docker at the Enterprise Level
Which enterprise-level companies are using Docker, and what are they getting out of it? The answers to that question contain more than a few surprises.
As you might suspect, being an early leader in technology has one probably unavoidable drawback: the accumulation of legacy practices and legacy data-processing systems. In the case of GE Appliances, this meant unnecessarily long (6 weeks on average) development-to-delivery times for applications, and a largely manual delivery chain.
An initial migration to the cloud failed to eliminate many existing practices, and resulted in only a partial reduction in lag time, largely because the cloud-based tools that GE initially adopted turned out to be difficult to use.
When GE Appliances switched to Docker, however, developers found it easy to use, and adapted to it quickly. They built key services around Docker, with a much greater density of applications than had been possible with virtual machines. And, importantly for a company with such a long history, Docker has allowed GE to provide support for legacy applications, and greatly speed up the migration from a very old (mid-20th century) legacy data center.
The bottom line? Docker has made the legacy-to-present-day transition faster, easier, and smoother.
For the news division of BBC, the problem was largely one of speed and volume. BBC News delivers broadcast and online news in almost 30 languages, with over 80,000 daily news items in English alone. It ran more than 26,000 jobs in ten different (and difficult to modify) continuous integration environments with sequential scheduling, resulting in a chronic logjam, and a combined wait and run time of up to 60 minutes per job.
Docker allowed BBC News to eliminate job wait times, and run jobs in parallel. It also gave developers a flexible continuous integration environment that is easy to work with, and which allows much greater control over such factors as application architecture.
One of the top transportation-on-demand companies, Lyft depends on its mobile phone ridesharing app. But the app itself, as originally developed, was monolithic and quite large, with the kind of development and maintenance problems that accompany monolithic applications at such a large scale. Lyft's initial transition to microservices was limited in its effectiveness by a lack of flexible, self-contained environments.
When Lyft made the move to Docker, however, its developers were able to test and deploy features independently, while effectively managing communication between microservices. This resulted in faster and more efficient development and delivery. Lyft now uses Docker to manage their continuous integration chain, as well as for testing.
Other major companies that deploy Docker include: Business Insider, Spotify, Yelp, ADP, eBay, Expedia, Groupon, ING, New Relic, The New York Times, Oxford University Press, PayPal. Sage, Shopify, The Washington Post and Uber.
Docker has arrived
So, who's using Docker? Success stories such as these provide strong evidence that Docker adoption and real-world use have reached the point where both established, conservative enterprises and new-technology giants look to it as a practical solution to the problems of development and deployment, based on such key factors as delivery speed, ease of adoption, ease of use, and flexibility.
Docker has not only arrived—It has become a key component of enterprise IT strategy.
Contino is a Docker Authorized Consultancy and Training Partner and we’ve got two (out of 60-odd globally) Docker Captains in our ranks - in short, we know our stuff!
If you want to learn more about how to use Docker with hands-on, interactive training from our experts, check out our Docker training page.