You don’t have to be plugged into the tech industry to be familiar with the phenomenon of containers. For those not familiar, containers allow more applications to run on a single machine by virtualizing the operating system. By limiting the visibility and resource utilization, processes appear to run on separate machines.
Over the last few years, reference to containers has proliferated across tech publications, industry analyst reports, online technical forums, event keynotes, and even mainstream news. But how many companies have actually invested the time and energy it takes to deploy containers in production and what is the takeaway from this adoption?
To answer these questions and paint an accurate picture of the global landscape, Cloud Foundry Foundation engaged ClearPath Strategies, a strategic consulting and public opinion research firm, to conduct a multi-national study of qualitative and quantitative research about the container phenomenon. The project surveyed 711 global IT decision makers in seven geographies (US, Canada, UK, Germany, China, Japan, Korea) and in five languages (Chinese, Japanese, Korean, German, English).
Ultimately, the data collected produced a report, Hope Versus Reality: Containers in 2016, which examined the benefits and challenges of container usage as well as the products and services used in conjunction with containers. This article highlights the key pros and cons of containers based on that research and provides high-level insights and a snapshot of container use in 2016.
Container usage: How and why?
Containers are not a new technology—but their rise in popularity over the last few years shows that their importance within organizations has deepened and the way they are used continues to evolve. More than half of companies surveyed said they were either evaluating or using containers, while a full 64% anticipate mainstreaming their use within a year.
Containers allow an application to be packaged up, with all of its dependencies in a standardized unit. They can be deployed on a wide variety of platforms or infrastructures, managed either locally or in the cloud.
According to the data included in the report, there has been a shift away from the traditional employment of containers to increase density in existing infrastructure. Now, we are seeing containers used to increase the velocity of application development and the scalability of applications.
Finding 1: Containers are a key enabler as organizations adopt continuous delivery as part of their digital transformations.
As organizations move toward digital transformation, containers can help establish continuous delivery practices; creating a repeatable and reliable process for application releases is a key principle for continuously delivering software. Continuous delivery allows reliable and iterative updates to applications, getting code to production faster.
While containers alone do not enable continuous delivery, they provide a consistent foundation to build on. More than half of respondents deploy containers as “application development environments,” while 42% use them as a lightweight way to share resources, and more than a third use them to provide a “versioned runtime environment.”
Benefits beyond continuous delivery
More than a third of organizations emphasize containers’ continuous delivery capabilities, including “easy version control” (37%) and a “consistent environment from development to production” (36%). Consistent with the continuous delivery narrative, a quarter of respondents highlight the operational aspects of containers—including “easy image updates” (25%), “portability/runs on all major distributions” (23%) and “eliminate environmental inconsistencies” (25%).
In keeping with the core capabilities of containers, a full 42% of respondents look to containers to provide “secure/isolated” capabilities.
Challenges of container usage
Despite the benefits of containers, many organizations that participated in the survey were surprised to run into complexities when running containers at scale.
Finding 2: Increased container adoption raises new concerns about managing containers at scale.
Managing containers at scale is something many users find challenging. Nearly half of respondents reported that containers were “too complex to integrate into existing environments” and over one third conveyed that containers require “too many skilled resources to manage.” A quarter of respondents felt that containers were “not a big enough cost reduction” to bother deploying them.
As container adoption within an organization increases, administrators must contend with the complexities of running many containers, and their management. The top challenge of containers, according to the more than half of respondents either using or evaluating containers, is “container management.”
As the graph of survey responses shows below, “container management” is the largest concern by far, reinforcing the complexity challenges that organizations face managing containers at scale. Trailing behind, at 38% and 36% respectively, are “monitoring” and “persistent storage.”
Organizations still in the stages of evaluating containers may not yet feel the full impact of these concerns, though they anticipate complexity challenges down the road. It is the organizations already running containers in production that are confronting these challenges now.
So what's the main takeaway from all of this data as you consider using containers or managing the containers you already have? Containers alone are not enough. Most survey respondents said that “managing containers without a platform-as-a-service (PaaS)/cloud application platform” would be a challenge for them.
Both users and evaluators indicated that “containers can be a challenge to get to scale” and that “except in simple use cases containers are complicated.” In fact, as stated above, most survey respondents said that “managing containers without a platform-as-a-service (PaaS)/cloud application platform” would be a challenge for them. Given the complexities with running and managing containers at scale, survey respondents prefer managing containers with a platform to a combination of orchestration tools. According to the survey, respondents already using a PaaS to run and manage containers (45%) prefer Cloud Foundry (42%), followed by Amazon Web Services (32%), and Microsoft Azure (31%).
Finding 3: Users prefer platforms over orchestration tools for container management.
Containers provide numerous benefits, from secure and isolated capabilities to continuous delivery capabilities, like easy version control and a consistent environment from development to production. Nevertheless, container management appears to be easier when used with a platform. Platforms offer features like identity management, role-based access control, health monitoring and management, security updates, and more. The majority of respondents (45%) rely on a provider-managed or self-managed platform to run their containers. Only 15% rely on self-managed orchestration tools—underscoring the finding that managing containers at scale is complex, but that complexity can be reduced by implementing a platform, such as Cloud Foundry, AWS, Azure, or others.
Ultimately, this survey provides a snapshot of trends around containers in 2016. Containers are used by organizations to initiate continuous delivery practices as they move toward digital transformation, though they alone do not provide continuous delivery. The survey provides evidence that, as organizations adopt containers, they face new challenges in managing containers at scale and ultimately prefer managing containers with a platform.
The entire report is available for download here and provides valuable insight into the current and evolving state of containers.
This post is part of a collaboration between O’Reilly and Cloud Foundry Foundation. See our statement of editorial independence.