This content is part of the Essential Guide: Developers' guide to deploying microservices and containers

Docker instances become the new norm and adoption goes mainstream

Many organizations use Docker instances for many reasons, although security, data storage and monolithic fears remain barriers to Docker adoption.

Who is using Docker? That's a good -- and important -- question as the use of Docker instances continues to surge. Keep reading for answers, which are broken down in ways that explain not just who is using Docker, but where they are running it, why and more.

To provide insights into these questions, this article draws on a variety of reports and surveys about Docker adoption and deployment that have appeared recently.

What is Docker used for?

Determining how companies are using Docker -- which workloads they are using to host, and whether they are running it in production or just for testing -- is probably the biggest question of all.

This is what Docker's "Evolution of the Modern Software Supply Chain" survey, published in April 2016, said about these questions:

  • 59% of respondents use Docker instances for application development
  • 51% use Docker instances for production application deployment
  • 47% use Docker instances for application testing and quality assurance

These are not mutually exclusive use cases, of course. Some organizations are no doubt using Docker instances for all three of these scenarios.

Another point worth considering is that, despite all the talk about Docker as a replacement for virtual machines (VMs), that goal does not seem to be the primary driver of Docker adoption currently. As ClusterHQ reported in a survey released in June 2016, a mere 3% of developers say they are using Docker to "move away from expensive VM licenses." Instead, the leading motivators for Docker adoption among these developers were increasing development efficiency and supporting microservices architectures.

What types of companies are using Docker?

Another important dimension of understanding who's using Docker involves determining what types of organizations have adopted Docker containers.

Docker's April 2016 survey offers valuable insight on this point as well. It suggests that:

  • The technology industry dominates Docker use. Fifty-nine percent of companies that responded to the survey about Docker adoption are in the "technology -- software" category. The other industries that topped the list -- consumer products and professional services -- represented just 6%of total respondents each.
  • Companies using Docker are small. The strong majority of companies that are using Docker -- 56% -- have fewer than 100 employees.

In regards to the latter finding, it is worth noting that although the companies using Docker tend to be small, they apparently have large infrastructures. Datadog Inc. reports that the majority of companies using Docker containers have more than 500 hosts in their infrastructure.

(For the record, the Datadog report does not define "host," and it may be problematic to assume that companies with many "hosts" necessarily have large infrastructures, because the hosts could be physical or virtual. For example, a company could have 10 physical servers, each running 50 virtual machines, in order to have 500 hosts total. The size of that company's physical infrastructure would be much smaller than that of an organization with 100 bare-metal servers running five virtual machines each. In both scenarios, the total number of hosts would be equal.)

Which companies use Docker?

We just discussed what types of companies are using Docker instances. But if you're looking for some specific companies that have made big investments in Docker containers for their operations, Docker's customer list, which is presumably not exhaustive, includes several notable names, such as PayPal, Yelp and Splunk.

More interestingly, media companies like the New York Times, Washington Post and BBC are also on the Docker customer list, as are a couple of universities and one academic publisher. The evidence, then, suggests that while popular among high-tech companies, as you would expect, it is also seeing adoption in more surprising contexts, among customers whose names do not easily come to mind when you think of new infrastructure technology.

Also worth mentioning is Goldman Sachs, which has made probably the biggest commitment to Docker instances by vowing to convert 90% of its applications to Docker containers. In this case, however, the Docker adoption might be driven by more than mere technical considerations. Goldman has also invested $95 million in Docker the company, so it has good reason to want to set an example for other companies by adopting Docker.

Which operating systems are hosting Docker containers?

If you're wondering what types of environments are being used to host Docker, the clear answer currently seems to be Linux-based environments. While Docker now offers native support for Windows Server 2016, that support did not become official until September. To date, there is no evidence of companies deploying Docker on Windows in a big way.

If we look a little deeper at exactly what types of Linux environments are being used to host Docker, conventional wisdom suggests that deployments are focusing on Linux distributions tailored for containers. Docker itself pointed in 2015 to Snappy Ubuntu Core, Project Atomic and CoreOS as popular operating systems for running Docker. (A more up-to-date listing of operating systems used to host Docker might also include RancherOS and VMware Photon.) These are all "minimalist" Linux distributions, designed for the specific purpose of deploying containers.

In addition, while quantitative evidence regarding how many people are deploying Docker in the public cloud is currently lacking, I have a strong suspicion that managed container hosting platforms, such as EC2 Container Service on the Amazon Web Services cloud and Container Engine from Google Cloud, are rising in popularity.

Why are people not using Docker?

Now, the final question: If an organization is not yet using Docker, what's stopping it?

Challenges associated with container security, networking and persistent data storage appear to top the list. ClusterHQ surveys identified these concerns as the leading barriers to container deployment in both 2015 and 2016, with persistent storage presenting the greatest challenges in the most recent survey.

Interestingly, however, Docker's April 2016 survey points to a different set of challenges. There, difficulty stemming from maintaining legacy apps, migrating legacy apps and infrastructure to containers topped the list of "development challenges" associated with Docker. "Security and compliance" issues were also on the list, but only 24% of respondents identified those as development challenges associated with Docker. This was the smallest category on the list. It did not mention networking and storage issues, apparently because the survey did not ask about them.

At any rate, given the rapidity at which Docker and its partners have churned out better solutions for container security, networking and persistent data storage over the past six months, it's a safe bet that challenges in these areas will decline in importance as barriers to Docker adoption going forward. The difficulty of migrating legacy apps to containers and a microservices architecture, however, is a trickier problem, which is likelier to stick around.

Next Steps

When it comes to containers, Docker instances is the unofficial standard

Learn how using Docker instances can simplify development

Caveats and cautions when using container instances

Dig Deeper on DevOps-driven, cloud-native app development

App Architecture
Software Quality
Cloud Computing