Parity Check: What Does Container Orchestration Actually Mean?
Do you know what container orchestration is? I have read about it for days and there appears to be no census definition. Yet, among those that have actually used or evaluated container technology, orchestration has become very important. Although much has been written about orchestration tools like Docker Swarm and Kubernetes, much less is known about their adoption by real end users. What we do know is that in the absence of a mature market, homegrown, customized solutions are most often being used to manage containers.
Survey results from Ruxit say technology maturity, orchestration and monitoring are the leading obstacles for containerized infrastructure. Efforts on the standards front will help but confusion about what products can or should offer is creating confusion. As we wrote about previously, large numbers of IT pros evaluated containers over the last year and monitoring tools from the likes of New Relic and Datadog provide concrete examples about the extent in which container use is increasing and moving into production.
Using containers in a lab or on a limited basis has proven the case that they can be beneficial. Early adopters of containers are starting to run production workloads on top of containers. Now enterprises are facing new challenges to integrate containers into their software development lifecycle (SLDC) and manage the underlying infrastructure containerized applications utilize. Thus, it is not surprising that the audience responding to a recent SDxCentral cited the need for orchestration more often than any other container-related capability.
Unfortunately, there is little agreement about what an orchestration product does. Is it limited to service discovery, cluster management and configuration management? Are Kubernetes, Docker Swarm and Mesos comparable? Where do PaaS offerings (e.g., OpenShift, Deis, CloudFoundry) or configuration management tools like Chef, Ansible and Puppet fit in? Interpreting market share will be difficult until the industry struggles answers these questions.
A Robin Systems survey narrowly defined what an orchestration tool is and respondents could only provide the name of one solution they were either using or planned to use one tool. Among actual production users of containers, 37 percent said they were using a custom solution to manage containers. In these cases, it is likely that shell scripts and custom codes are being used to integrate the functionality. Docker Swarm is being used by 27 percent of production users while Kubernetes is being used by 15 percent.
ClusterHQ reported that Docker Swarm was in use or plan by half of its respondents, which may be high percentage because the survey was conducted soon after the product was released. However, the study did have Swarm, Kubernetes and Mesos as the top three choices, with Ansible, Puppet, Chef and Cloud Foundry all get respectable citation levels. Similar results were also published in the Ruxit survey.
Given what we know, the answer choices in the aforementioned studies were rather limited. A better survey question was fielded by Brendan Burns of Kubernetes/Google. He has started what he hopes to be a monthly online poll of container users. We take the results with multiple grains of salt because although the survey was open to anybody, it was distributed by a Kubernetes founder through his personal network. The resulting bias among the 119 respondents manifested itself in results that skewed towards production users (50 percent), with 55 percent of this sub-group using Kubernetes to manage containers. Yet, even with that bias, the findings illustrate the wide diversity in orchestration products in use or consideration.
Looking beyond Kubernetes, we find that 42 percent of the production respondents are using shell scripts to manage containers, which matches with the large percentage of “custom” responses seen in the Robins Systems survey. However, while 43 percent of non-production use cases work with configuration management (Chef/Ansible/Puppet/Salt) tools to manage containers, they are almost half as likely to do so once they reach production. This indicates that even with the Docker support, many people are finding their existing configuration management tools to be insufficient.
The drop between production and non-production usage levels for Docker Swarm and Mesos is also notable. However, since this survey was conducted by a Docker “rival”, it is important not to read too much into its drop in position below Kubernetes and Mesos as compared to the other surveys cited. Looking deeper into the numbers, we noticed that Swarm use was higher among people that did not use Kubernetes. Furthermore, 10 of the 14 people that use Mesos to manage containers also use Kubernetes.
Perhaps the most valuable use of the Brendan’s survey is to compare Kubernetes users versus others. It is not surprising to learn that 42 percent of Kubernetes users in the survey use Google’s Container Engine versus 5 percent among everyone else. However, it is an indication of AWS’s strength that even 24 percent of Kubernetes users deploy containers to its EC2 Container Service. Many of the people that are deploying to their laptop or workstation are doing that in conjunction with deployment to a VM. Finally, the updated, February version of this survey includes many more choices and variations of where containers can be deployed.
Docker and New Relic are sponsors of The New Stack.
Feature Image: via Flickr, The U. S. Army Chorus and Orchestra with Duain Wolfe, conductor, and David Daniels, countertenor. Photo credit: SSG Chris Branagan