Ever since Google made Kubernetes open-source in 2014, it has enjoyed incredible growth, helping businesses of all sizes to successfully manage their containers and ultimately make the most of all that our cloud native world has to offer.
Individual users certainly initially led the charge with Kubernetes, identifying issues, and generally exploring the best ways to intelligently test, manage, and deploy workloads. Increasingly, more and more larger enterprises have recognised the benefits of containers and Kubernetes in handling production workloads.
As software code complexity and volume increases, businesses are flocking to containerization as a scalable solution to accelerate development of new applications.
The dating app Tinder moved its platform to Kubernetes in 2019 to address issues the firm was having with scale and stability. After a two-year migration, the Tinder platform now runs on a Kubernetes cluster consisting of an eye-watering 200 services, 1,000 nodes, 15,000 pods, and 48,000 running containers.
Another exciting trend is the role Kubernetes can play in the increasing shift towards multi-cloud infrastructure. There is a big push within the industry to remove integration barriers, and help Kubernetes to become a truly portable, platform-agnostic tool – able to help firms deploy and manage clusters across multiple cloud environments.
At Civo, we are always led by the community. We are firm believers in making sure that the voices of developers are always heard, and that they should shape how Kubernetes continues to evolve. To that end, we recently undertook some research to better understand cloud developers’ opinions about Kubernetes and containers, particularly what factors were encouraging or discouraging its use across the enterprise.
The results paint an interesting picture, with some insights we perhaps would all expect and others that challenge how we all think about where our sector goes next.
Opportunity mixed with frustration
Surveying over 1,000 cloud developers, over two-fifths (41%) cited easy scaling as a key advantage of Kubernetes, closely followed by ease of management of containers (35%) and optimising of resources (13%). Nothing perhaps that would surprise an industry expert?
However, the further we go into the data, a more nuanced picture emerge. Despite these commonly accepted benefits, nearly half of respondents (47%) have never used Kubernetes.
Impressively, we found that half reported their organisations are using containers now, and 73% of those organisations are using containerised software in a production environment.
However, the research also revealed that complexity around container orchestration is hindering adoption, with 47% reporting that this complexity is slowing down their organisation’s use of containers.
The research revealed a number of challenges and frustrations that respondents have encountered whilst using Kubernetes.
By far and away the top challenge of using Kubernetes is the steep learning curve (57% reported this as their top challenge) and the biggest frustration is the new terms, concepts and commands that come with adopting Kubernetes. On top of this, 62% of respondents are frustrated by the time it takes to spin up a working Kubernetes cluster.
K3s to the rescue
These challenges outlined in our research make clear we are at a moment of truth for Kubernetes. However, new options are emerging to tackle the problems outlined in our research.
The main K8s distribution is known for requiring a lot of resources for even basic deployments. K3s is a newer, alternative distribution of Kubernetes that requires fewer resources and still delivers the same orchestration experience. K3s is designed as a single binary of less than 40MB that completely implements the Kubernetes API.
Due to its low resource requirements, it's possible to run clusters using servers with just 512MB of RAM – ideal for edge devices. But it has further benefits - because it's a compact binary, K3s clusters can spin up in a fraction of the time it takes to launch a regular Kubernetes cluster.
When asked by us, 80% of Kubernetes users revealed they are familiar with K3s and over half (51%) would consider it for production workloads.
K3s is a fully Cloud Native Computing Foundation certified Kubernetes offering. This means you can write your YAML to operate against a regular “full-fat” Kubernetes and your scripts will also work on a K3s cluster.
And of course, because it’s a tiny binary, we can launch a K3s cluster in less than two minutes, meaning you can start work in less time than it takes to brew a cup of tea.
If one core truth shines out of our research it is that complexity is the enemy of the good for developers – they want to spend less time worrying about deploying containers and more time building applications that can deliver tangible value to the business.
These difficulties are clearly feeding into broader concerns about a steep learning curve with Kubernetes, with some businesses potentially put off the cost of upskilling developer teams.
Nevertheless, I am optimistic about where the industry is heading. K3s is growing in popularity, offering a lightweight, simplified way for developers to rapidly start spinning up clusters.
Similarly, the new and exciting businesses delivering managed Kubernetes are all helping empower developers to focus less time on concerns of infrastructure management, and more time on product development – the high value task most in the role were hired for.
One final note. Despite amazing work from the CNCF (Cloud Native Computing Foundation) our research suggests we need to see more effort by the industry to improve education and training on effective use of Kubernetes. We all need to reach back to that community mindset that gave life to Kubernetes, and come together to help upskill and inspire the next generation to start innovating with Kubernetes.