In theory, everyone should love containers. They’re portable. They’re scalable. They’re free. They’re easy to put into production quickly, as DevOps teams certainly know. Yet, so far, adoption rates for platforms like Docker have lagged. Why? Let’s take a look at some of the reasons containers are not currently as widely used as you might expect.
For understanding current container adoption trends, a recent CIO article is enlightening. As Clint Boulton reports, fewer than half of Fortune 500 companies are currently using containers, despite all of the press and investment that companies like Docker (and, increasingly, CoreOS) have enjoyed over the past two years.
Boulton pins this trend mostly on CIOs, and suggests some relatively obvious reasons for their slowness in embracing containers. They include:
- Lack of complete understanding of container technology.
- Difficulty migrating from legacy systems.
- Too busy implementing other new open source and PaaS technologies.
These are all plausible explanations. They surely explain part of the reason why container adoption currently seems to be lagging.
But those reasons are also a bit generic. They could account for why companies are slow in adopting almost any type of new technology, not just containers.
So what’s making container adoption particularly tough for companies? Why are enterprises currently making less progress in implementing Docker and CoreOS than they are in, say, migrating to the cloud (which is also subject to the same challenges outlined in the list above?
In addition to the factors noted above, considering the following issues, which are container-specific:
- To be really useful, containers require a very large infrastructure. That’s because a large part of the value proposition of containers is scalability. If you have a relatively small IT operation, the value of migrating to the cloud, or adopting SDN, for instance, is still clear. You don’t need to be running millions of apps for these technologies to help make your workloads more manageable and stable. In contrast, containers only start to pay big dividends when a company has very large workloads to deal with. That is likely part of the reason why container adoption is slow, especially outside of large enterprises.
- Containers face security challenges, at least in some CIOs’ eyes. Arguably, platforms like Docker were not designed from the ground-up to be especially secure. To be sure, they have gotten much better in this respect over the last couple of years, and it is now perfectly possible to implement containers securely. But containers’ image as an insecure platform continues to haunt them. Combine that with the current frenzy to make enterprise computing more secure (and finally move past the era of embarrassing headlines about massive data breaches at U.S. companies) and you have a recipe for slow container adoption.
- The ecosystem remains narrow. Currently, there are only two major vendors doing containers: Docker and CoreOS. And only one of them — the former — has a truly big name. Their products are open source, of course, which in theory means that containers are not vendor-dependent. But in practice, deploying containers without adopting the specific platforms offered by one of these two companies is more work than it is worth for most enterprises. Given that both Docker and CoreOS remain relatively new, and their futures uncertain, jumping on containers right now may seem risky to some CIOs. It’s also very different from adopting a platform like OpenStack, which has much broader support and is available in different distributions from dozens of established vendors, or virtualization, where you likewise have many providers and configurations to choose from.
None of the challenges above is insurmountable. And, to an extent, these are issues that exist more in CIOs’ heads than they do in reality. But that doesn’t make them any less real as causes for relatively slow container adoption rates today.
It seems a safe bet that these obstacles will be overcome in time. But for the present, they’re worth keeping in mind as enterprises evaluate the potential of containers, and as container providers seek to understand what it will take to bring containers completely mainstream.