As CloudBees invests in Kubernetes, what's in it for DevOps?

Computing speaks to Cloudbees CEO Sacha Labourey and Kubernetes originator James Strachan

Tools-wise, DevOps is characterised by large number of moving parts, each of which - hopefully - integrates with the other to allow for seamless software production. While an end to end CI/CD [continuous integration/continuous delivery] solution is some way off, if it ever materialises at all, there have been plenty of moves to integrate and consolidate some of the disparate tools and platforms that developers use.

Prominent among the prime-movers has been CloudBees, the provider of the open-source Jenkins CI platform for enterprise use. Recently CloudBees purchased the SaaS CI/CD company CodeShip, and this week it announced that it is making a major investment in Kubernetes as part of its long-strategy.

Kubernetes is an open-source system for orchestrating the deployment of containerised applications. Originally developed by Google, it is now maintained by the Cloud Native Computing Foundation, an organisation that CloudBees has joined as part of the move.

The aim is to develop an enterprise-ready CD system that supports Kubernetes, allowing businesses to run applications on any public cloud platform. As part of this plan, CloudBees has hired three of the key developers and influencers of the Kubernetes project, engineers James Rawlings, Robert Davies and James Strachan.

Strachan's CV includes the creation of the Groovy programming language and involvement in the ActiveMQ and Apache Camel/ServiceMix projects and most recently fabric8, a continuous delivery platform for Kubernetes.

Computing asked Strachan and CoudBees CEO Sacha Labourey for some more detail.

Computing: We hear a lot about Kubernetes. As someone who's been involved in it for a while what would you say are its advantages?

James Strachan: Containers are a more efficient and cost effective way of working with compute than using VMs. Kubernetes is now the de facto standard platform for working with containers on any cloud, with all public clouds supporting Kubernetes as well as most on-premise solutions. Kubernetes is the ideal platform for CloudBees to install, run and manage Jenkins at scale for companies.

What, briefly, does Kubernetes bring to CI/CD?

Sacha Labourey: Kubernetes brings flexibility and elasticity to CI/CD, but the most important question for me is what CI/CD brings to Kubernetes. On that front it is pretty clear: CI/CD is at the heart of Kubernetes. Everybody looks at the destination, Kubernetes, that's where a lot of the attention resides, but the real value is in the process, in how we can streamline things to get great velocity, do A/B testing and the rest? This is brought to you by CI/CD. CI/CD brings life to Kubernetes.

James, you said recently that Kubernetes is taking containers closer to a serverless cloud scenario. Can you go into some more detail?

Strachan: Kubernetes provides a declarative model where developers can package their applications as docker images and provide some declarative metadata for how they wish the container to be run (e.g. what environment variables, persistent volumes, what ports to expose, whether to use public load balancer or whatever). Then Kubernetes can do the rest - manage the containers, monitor them, scale them up or down based on load and handle rolling upgrades when the container image is changed. So Kubernetes provides lots of the capabilities of a classic Platform as a Service (PaaS) and more recently lots of the features a serverless model gives you.

In the pure serverless model today, developers tend to just develop functions as source code and the FaaS [Function as a Service] does the rest, billing per function invocation. I see the line between containers (CaaS) and functions (FaaS) blurring over time, so developers can decide how much or how little of containers or Kubernetes they wish to see.

Sometimes the FaaS model is too limited; you want more fine-grained control over loading, caching, threading and reusing of container instances across function invocations. Sometimes the pure Kubernetes-container model is too complex and developers want a higher level of abstraction. So I see higher level abstractions becoming common in Kubernetes; where you can use it in a serverless way to hide more of the implementation details.

How much financial backing is CloudBees giving to Kubernetes?

Strachan: I'll let Sacha answer that one! But CloudBees have hired myself and my colleagues from the fabric8 team to focus on Kubernetes.

Labourey: We are part of the Cloud Native Computing Foundation (CNCF) and have a number of engineers working on Kubernetes, that includes the fabric8 team but also our other products we moved to Kubernetes, including CloudBees Jenkins Enterprise - and more to come.

Jenkins is known for being complex. Will integrating it with Kubernetes simplify things or, in the short term at least, make them more complicated?

Strachan: We are hoping to make CI/CD, Jenkins and Kubernetes easier to use through tooling. For example today in Jenkins when you create a pipeline for a project, it shows you an empty screen. We're working hard to make CI/CD more of an appliance that any developer can use, whether they know Jenkins or not. Increasingly, folks are moving more towards microservices and cloud native applications and away from large monoliths; so there's increased need to spin up new projects quickly with CI/CD baked in, out of the box.

Labourey: Different people need different things. If you are a small team and want to do basic CI/CD for your project, you might perceive Jenkins as being 'complex' for what you want to achieve. However, if you are an enterprise and you want to customise your CI/CD experience, if you want to integrate with your existing investments, from Active Directory to Java, .Net and mobile, you certainly won't see this flexibility as complexity.

This is why depending on who you are and what you are trying to achieve, different tools are interesting. That explains pretty well, I think, why the Codeship acquisition makes a lot of sense: we are able to provide the best of breed experience to any type of user, in any type of environment for any type of workload. This is unique, nobody else can do that on the market.

Computing's DevOps Summit 2018 is happening on 21 March in London. Registration is free for most delegates.