What is Kubernetes, how is it benefiting organisations, and what are the biggest challenges to adoption?
Gareth Workman is Head of Cloud Practice at Kainos, a digital services and platform provider working with the likes of Netflix, regional and central government, and the NHS, and explains all things Kubernetes in this Q&A.
1. What is Kubernetes and containerisation?
“Containerisation is the packaging up of application code and all its dependencies into a single deployment unit called a container that can run reliably and consistently on any infrastructure platform. Containerisation enables people to create and rapidly deploy workloads in a robust and secure manner.
“Kubernetes is an open-source orchestration platform that’s used to manage and maintain these containerised workloads. Kubernetes provides the means to easily deploy, update and manage workloads with minimal downtime.
“A good way of looking at Kubernetes is by thinking of it as a delivery warehouse. If containers are the packages, Kubernetes is the warehouse worker picking the packages, restocking the shelves and moving packages around the warehouse to the right location. It is the glue that both holds the system together and moves containers around.”
2. Why is it the ‘Swiss army knife’ of technology? What are the key benefits of using the platform?
“I like to call Kubernetes the ‘Swiss army knife’ of technology because it’s multifaceted; it has so many capabilities. Scalability is the most obvious one; the platform can automatically react to demand to meet a business’s ever-changing requirements and keep applications running round the clock. And then there’s the portability. With Kubernetes, applications can be run across multiple on-premises, hybrid or public cloud environments, and can be moved seamlessly between them.
“There’s also the disaster recovery functionality. If a container isn’t working anymore, the Kubernetes platform will spot it and operate an auto-healing response to either delete it if it’s completely unresponsive, or restart or replace it to get it back up and running. Cost efficiency is another huge benefit. Because Kubernetes is a pay-as-you-use platform, businesses don’t need to worry about a hefty pricing model that sees them fork out for services they don’t actually need.”
3. Did you see its potential early on? Why?
“Absolutely. Although containers have been around for a while now, Kubernetes is the first of its kind which allows them to be run at scale. When Google made Kubernetes available as open source in 2014, it really set the standard for container management tools, which is why Kubernetes continues to be the market leader today.
“Personally, I really saw the potential early on because at Kainos, the team and I have run Kubernetes across a variety of cloud providers, including AWS and Microsoft Azure. We are one of the first Microsoft partners in the world to achieve Kubernetes on Microsoft Azure Advanced Specialisation, and because we were early adopters, we worked with Microsoft to give feedback on its current guidance around Kubernetes. It’s great to have seen first-hand the opportunities Kubernetes can offer.”
4. Has it now gone mainstream?
“Definitely. Something I’ve noticed is that companies are beginning to really talk about what they’re actually doing with Kubernetes now. Initially, interest started ‘in the trenches’ with developers pushing its adoption from the ground up, but now, all areas of the business are beginning to vouch for it. The benefits are more tangible, and its speed, efficiency and cost benefits are being used to pioneer a variety of enterprises’ applications. Also, as it has been developed and used for over a decade internally at Google before being made open-source, the platform itself is extremely mature and has been proven at hyper-scale; so it’s not like other new solutions that enter the market that still need to be tested. Kubernetes is already one of the most battle-hardened technologies in the world.”
5. How has it benefited the NHS app and other high-traffic apps?
“The colossal scale of high-traffic apps is something Kubernetes really helps with. When building the NHS App, we found over 340 million GP consultations were arranged each year, with 800 million repeat prescriptions ordered across 7,500+ GP practices.
“This huge demand is why we used Microsoft’s Azure Kubernetes Service (AKS) as the foundational platform to host the NHS App. In particular, elastic scaling means the app can quickly react to user-demand – scaling the platform from handling hundreds of requests per second, to hundreds of thousands within minutes.
“Security is another aspect for which Kubernetes was invaluable. The platform has a set of overlapping security controls which ensures data is protected at all times, and when it’s transmitted, it’s controlled using end-to-end encryption techniques. The NHS App platform also proactively defends itself against security breaches using cutting edge techniques such as anomaly detection, and because Kubernetes manages container clusters and performs maintenance tasks autonomously, it meant the IT team could instead really focus on integrating best-in-class security controls into the app.”
6. What is the challenge around skills when it comes to using Kubernetes? Is it the preserve of large tech companies?
“The biggest problem is a lack of knowledge. This is partly because Kubernetes is still a relatively new technology, outside of the big tech behemoths, so only a very small pool of talent can really put it to use. I think the gap will gradually close, especially since more businesses are waking up to Kubernetes’ business potential, but there’s a long way to go. The key is to focus on training graduates and domain users through specialised schemes, ensuring they’re equipped with everything from server management skills to security experience. If we’re going to meet the increasing demand for developers who can build and deploy containerised apps, we need to upskill every area of the workforce from the ground up.”