Jenkins and Kubernetes for Application Deployment
The New Stack continuously delivers content of the Kubernetes open source container orchestration engine. This week we report on how applications are actually deployed to Kubernetes. When presented with a choice between container orchestration, continuous delivery pipelines or configuration management tools, respondents to our May 2017 Kubernetes survey often said they used orchestrators for application deployment. Although some people had thought of Kubernetes as a Swiss Army Knife that could do everything, in fact they had a more nuanced view of its role in application deployment.
When asked more directly if they used Jenkins to deploy applications to Kubernetes, 45 percent said yes. Another 36 percent of Kubernetes users deploy applications to Kubernetes with another continuous deployment (CD) pipeline; GitLab CI and CircleCI were mentioned most often among this group. Please note that the nature of the survey questions means they cannot be used to determine market share. The overall adoption rate of other tools is likely higher than the below chart would indicate.
That being said, Jenkins is still by far the most commonly used continuous integration (CI) tool. Instead of asking if Jenkins is used, future research will ask about its centrality in organizations pipelines. In many cases, different teams within the same company will use a competing product. In other situations, Jenkins is small component in a bigger workflow, with another vendor’s tool being the central focus in the CD pipeline’s diagram.
Digging a little deeper, we found smaller companies (two to 100 employees) were less likely to use Jenkins (38 percent versus 45 percent) compared to the average, possibly because they do not have a large organization that had previously required a deployment workflow. This aligns with a trend we wrote about last week in which different size teams tends to use different CI/CD tooling.
Survey respondents recognized that automating the deployment of applications is a key benefit of mature Kubernetes use. Many respondents described how delivery pipelines were related to larger organizational changes enabled by Kubernetes. One person said, “At our early stage, improving the developer workflow and enabling the dev to think about how their code is run in production are the most important things we want to achieve with Kubernetes.”
We know that 65 percent of production users are running application development tools on Kubernetes. In this regard, Kubernetes is essential to continuously deploying and provisioning “infrastructure as code.”