Kicking Kubernetes into play
It’s easy to believe that the K in Kubernetes stands for kickin’. It’s kicking containerisation security, scalability, and flexibility into touch and has risen to the top of the containerisation conversation over the past few years because it works. It’s open source, portable, extensible, and accessible. It’s a rapidly growing ecosystem that’s translatable and supportable and the platform of choice for enterprises looking to squeeze the benefits of improved software development, automated deployment and security out of their containerisation investment.
But what does that actually mean? Kubernetes (K8) is hardly new. The tech has been around for six years, give or take a development or two, but its recent popularity has surged because the platform makes it so much easier to deploy and scale containerised applications. It essentially helps to bypass some of the usual challenges associated with the deployment of product applications, with access to tools, and with shared skillsets and translatability. It’s also built around community, which makes the platform and the learning curve far more accessible than many other solutions available on the market.
But Kubernetes is not all flowers and raindrops. It introduces its own set of challenges, particularly when it comes to security. The traditional tools associated with security are too heavy for the lightweight capabilities of Kubernetes containerisation, which means that it can introduce vulnerabilities. This requires a new way of working that shifts to more lightweight security tools that are designed for container clusters and containerised apps and that take the complexities of Kubernetes into account. With this in mind, there’s another problem facing the enterprise when it comes to capturing its benefits in a tight little net – skills. As always, skills. This is the age-old problem in IT, but with Kubernetes at least, there is a growing community that supports skills development and provides rich support for those embarking on their containerisation journey. Still, the skills deficit means that enterprises keen to leap into containerisation with K8 will have to ensure that they have the right resources in place, first.
So, as Kubernetes grows in popularity and becomes an increasingly relevant tool, it’s going to shift in its capabilities and reach. This begs the question – what lies ahead for the platform in 2021?
According to Forrester’s Predictions 2021 report, K8 won the battle to ‘orchestrate cloud-native workloads in public clouds and datacentres’ in 2020, but it is now redefining the battlefield and moving towards orchestration on the edge. Forrester believes that K8 will take at least 20% of edge orchestration in 2021 as companies such as Huawei, Rancher, OpenStack and Canonical continue to release solutions designed specifically for the edge. The K3 – the lightweight flavour of K8 – is going to continue its rise in the popularity rankings over the next year as it offers a robust and agile framework for computing on the edge.
Kubernetes takes care of a lot of complex tasks in order to orchestrate what is going on. This makes it very complex under the covers.Patrick McFadin, DataStax
Kubernetes is likely going to entrench operational best practice, improve its security posture and capabilities, play a stronger role in high-performance compute across workloads that include artificial intelligence and machine learning, and continue to expand its ecosystem. It looks like the Kubernetes party is only just getting started.
Defining data efficiency
Brainstorm: Why do you think Kubernetes, like kale, is the superfood of the modern organisation?
Robert Stothers, principal consultant at BSG: Kubernetes enables Ops to do Ops and Devs to do Dev autonomously, by setting policies, adding compute resources, and providing general functionality for Ops teams to use, and enabling rolling zero-downtime deployments, adding of sidecars to enable language-agnostic sharing of common utilities, and using multiple languages and technologies concurrently.
Michael Cade, senior global technologist at Veeam: Kubernetes allows businesses to adapt and become faster, more efficient, perform better and provides them with the competitive edge in their markets. It ensures high availability and scalability of an organisation’s application services.
Steve George, COO at Weaveworks: Kubernetes and its associated `cloud-native’ technologies are a superfood for an organisation because it’s going to make IT more agile, reliable and capable, fit for the 21st century. Let's be honest, munching on raw leaves of Kale is not very tasty, so how can we make Kubernetes a part of our IT diet in a way that is sustainable? I’d say the trick is how you mix it in; think of it as making a smoothie.
Calwyn Baldwin, senior consultant, automation team at Obsidian Systems: Not everyone has a palate for kale, and neither would every organisation have an appetite or even a need for Kubernetes; an organisation has to understand ‘the why’ before pushing toward a full deployment.There are many organisations that will and do benefit in incredible ways from implementing K8s, but don’t do it just because you think everyone else is doing it.
Michael Delzer, analyst, Gigaom: Kubernetes allows businesses to do more with less, faster. It’s a critical shortcut to faster time to market. It can reduce technical dept so future IT spend is more likely to add to business value instead of fixing broken things. In addition, it allows for a type of abstraction that can allow for cloud portability.
Modeen Malick, senior systems engineer at Commvault SA: It may not solve all challenges, but it does offer huge benefits, including increased utilisation and integration compared to virtual machines.
Brainstorm: What is the measurable impact of Kubernetes investment?
Ryan Britton, US program lead for Mint Group: A significant benefit is the reduction of risk associated with applications co-located on physical or virtual servers where configuration changes to applications on the same host may affect one another, and drift of the desired state of the server because of maintenance/patching. Implementing a Kubernetes cluster allows an organisation to create complex and isolated workloads within Kubernetes namespaces, providing highly available and resilient distributed application designs that can be scaled independently from the underpinning hardware.
Steve George, Weaveworks: Elite organisations deploy new changes rapidly, often multiple times a day. Poor performers may deploy once a month or even once a year! This means a stream of improvements and bug-fixes for users. . As soon as the company has created a new improvement, it’s in the hands of their users.
Peter Smails, CMO at Rancher Labs: Kubernetes fundamentally makes development teams more efficient. As development environments become increasingly complicated, the traditional means of building monolithic applications and then trying to illicit a change on them takes tremendous overhead and a ton of time. It’s a prolonged and expensive process, whereas a container-based model using Kubernetes allows you to build once and run many, driving huge efficiencies to overall development throughout the business.
Enrico Signoretti, analyst, Gigaom: The investment is not on Kubernetes per se, the organisation has to invest in new development and operational models first. The investment starts earlier than Kubernetes and return on investment is never measured on the orchestration platform, which is almost a commodity.
Ivan Birch, DevOps engineer at Synthesis Software: Deployments can be done with almost zero interruption to service availability and can be scaled automatically as load increases on a specific service.
Brainstorm: What challenges do organisations need to be aware of when it comes to Kubernetes?
Ryan Britton, Mint Group: There is a learning curve associated with understanding how to configure services, pods and container instances within Kubernetes using YAML configuration files, and how to work with routing, DNS and ancillary services. From a DevOps perspective, there is a learning curve in understanding CICD best practices for building, scanning, testing and releasing containers.
Robert Stothers, BSG: Kubernetes is highly configurable, which can be problematic if the Ops team has not been meticulous in setting up all the necessary policies. Development teams need time to get familiar with Kubernetes, otherwise they could end up creating brittle environments that constantly fail and require a time-investment to maintain.
Steve George, Weaveworks: Kubernetes and cloud-native is really a step change for automation. The trick with automation is to make it part of the background; it should be engineered into the platform in a way that is seamless.
Peter Smails, Rancher Labs: Kubernetes is incredibly powerful, but it's also newer technology, so many companies don't have the skills or competencies they need. An essential first step when considering Kubernetes is to build and invest in the skill sets and competencies required for it.
Patrick McFadin, VP of Develop Relations at DataStax: Kubernetes takes care of a lot of complex tasks in order to orchestrate what is going on. This makes it very complex under the covers, and this can be problematic if something goes wrong with your Kubernetes deployment.
A learnable framework
How one company shifted its containerisation strategy to Kubernetes thanks to its learnable framework and lengthy list of benefits.
The head of DevOps at Hornet, Nathan Mitchell, needed a platform that would allow for the standardisation of massive stacks of documentation within a learnable framework that reduced risk while improving operational efficiency. Kubernetes was, for the company, the best possible strategy as it provided the team with access to an ecosystem of skills and support that would allow them to develop a customised platform suited to the specific business and environment.
“It’s a form of standardisation for the industry that was the perfect move for us,” Mitchell says. “We needed a framework that gave us access to global skills and support and a perfect jumping off point for the business. This was particularly important in light of a risk-averse environment, particularly around cloud engineering and our clients in financial services. They want access to cloud-agnostic solutions that are neutral, secure and not a complete commitment to a single provider. It’s an understandable requirement, but the company loses a lot of the benefits of cloud with this approach. Kubernetes hovers above that, giving companies access to a framework that’s infrastructure-agnostic, that anyone can learn, and isn’t a strange custom solution built by developers driven by Red Bull at 2am.”
Kubernetes is familiar and standardised so anyone who knows it can work with it.
For Mitchell, Kubernetes is great to use and offers the dev team a plug-and-play system regardless of the route they take to development. One of the biggest benefits of the platform is that it does for infrastructure what Docker does for development, creating that extra layer of abstraction that nullifies platform agnostics.
“We built a Kubernetes platform as a proof of concept to see how it could handle specific applications,” says Mitchell. “It was a Ruby-based application with multiple separate microservices and a database and I built out all our infrastructure using Terraform almost exclusively. I took on the task of learning Kubernetes through Terraform, which I wouldn’t recommend to anyone, but, for me, it was the best way to approach it.”
A standardisation system
The project was developed with elastic container registries to store Docker containers in separate Terraform stacks and different folders – Terraform didn’t quite deliver when it comes to Kubernetes and other resources that depend on it or ask it questions so the team had to separate out the stacks. Mitchell built out ECR for the registries, brought up the EKS cluster and, along with multiple other refinements, now has the application stack from Kubernetes connecting through Terraform and Helm.
“Peace of mind is the main motivator for our adoption of Kubernetes,” he adds. “It makes sense to me as a standardisation system, it’s not just another level of meaningless abstraction, but, rather, an inherent form of building that’s relevant. It’s far easier to work with than other tools I’ve dealt with in the past, and the server is faster and more structured as a result.”
The platform developed by Mitchell for Hornet and its customers is still in the final stages of development, not quite yet on the road, but it has allowed him to really explore its potential and find value in its ubiquity.
“I feel like I have access to a vast community of support and skills with this platform, and I can pull in new people to work on our platform without having to train them up on a highly complex and individualised solution,” he says. “Kubernetes is familiar and standardised so anyone who knows it can work with it.”