This is Q&A session with Carlos Sanchez in his capacity as engineer at CloudBees, a provider of continuous delivery and integration software services. The company’s open source continuous integration tool, Jenkins, is the focal point of CloudBees’ services.
Computer Weekly Open Source Insider (CWOSI) posed it’s nine most pertinent Kubernetes questions to Sanchez in an attempt to uncover the heart of the matter given the rise in popularity and profile that Kubernetes is experiencing in 2017.
CWOSI #1: For those that don’t know Kubernetes, how would you summarise and define this technology?
Sanchez: Kubernetes is an open source platform designed to automate the deployment, scaling and operation of containers. It’s a cluster technology that allows for running containers at scale. It enables the execution of applications in isolation across large data centres.
CWOSI #2: How and why did Kubernetes come about in your view — why do we need it?
Sanchez: Docker really made containers successful. Google has been running containers for a number of years – billions of containers, in fact. Kubernetes came out of Google’s experiences running containers at this scale, resulting in Google taking the technology into the open source world to make it easier for others to manage containers.
As for why we need Kubernetes, this is because containers are becoming more important for organisations large and small, empowering development teams to operate in massively distributed environments, to deliver software faster with DevOps and Continuous Delivery practices. Anything that simplifies the efficient operation and management of containers in this context was always going to be in hot demand from the enterprise.
CWOSI #3: Kubernetes is essentially open source, of course, but how many developers actually contribute code commits to a piece of technology that is so inherently infrastructural?
Sanchez: Overall, more than 1,400 contributors. Google, Red Hat and Microsoft are included in that 1,400, to name just a few. Most recently Amazon and Alibaba have become some of the biggest companies to get involved with the technology. The Cloud Native Computing Foundation oversees the technology as a whole.
CWOSI #4: Does containerised technology ultimately mean that each individual component is more accountable in terms of its need to validate its purpose and ultimate ability to deliver a specific output or function?
Sanchez: Containers are typically associated with microservices architectures. Each component is expected to fulfil a specific contract. The components do have a purpose and they have inputs and outputs that are marked by this contract and APIs. They have to be able to deliver whatever their responsibilities are. They should be independent and fulfil a very specific role in architecture where hundreds or thousands of these services coexist.
CWOSI #5: When DON’T you need Kubernetes… is it when you know you don’t need to scale or span multiple machines?
Sanchez: Kubernetes is a complex system. It only makes sense to adopt the technology if you have the scale to justify the deployment. For example, if you only use one or two virtual machines, or you don’t have any more demanding requirements you may not need Kubernetes – Docker, alone, may suffice. That being said, current cloud offerings by Google or Azure make it really easy to get started with Kubernetes and scale from there.
CWOSI #6: Can you explain Kubernetes pods for us?
Sanchez: A Kubernetes pod is essentially a group of containers that run together in the same host. These containers share certain characteristics; for example, they share the same networking space and resources. Really a Kubernetes pod is composed of containers that need to coexist with each other.
CWOSI #7: How easy is it to get Kubernetes wrong and put together the wrong kind of implementation?
Sanchez: This comes back to the installation – it’s a complex piece of software and it requires certain expertise to be set up. That’s why people resort to using Google Kubernetes Engine or Azure container services instead.
That said, there’s an increasing number of tools, both open source and commercial, such as kops, kube-aws or kubeadm that would help you execute a proper installation. If you don’t use one of the installers to simplify the installation, then it’s more likely you will make an error during this process.
CWOSI #8: What is the CloudBees central position on Kubernetes?
Sanchez: We are committed to supporting Kubernetes – the industry has clearly embraced it… and CloudBees Jenkins Enterprise already runs on it.
CWOSI #9: How will Kubernetes develop over the next couple of years in your view?
Sanchez: There will be an increasing number and variety of Kubernetes offerings entering the market from a host of different providers, not just cloud providers but also OS providers. Kubernetes will become the de facto OS for clusters. In addition, Kubernetes is going to evolve into this set of standard APIs that will allow you to run cluster architectures.
We’re seeing cloud providers tearing up infrastructure so that you will be able to run Kubernetes without even needing to run servers. As a result we’ll see vendors providing Kubernetes as a Service where you will be able to run containers in the cloud without having to worry about machines anymore. AWS have already announced their intent to offer this, and this is a trend that’s set to continue among other providers.