Why Kubernetes is not made for Developers in 2024

Maybe you don’t know what Kubernetes is. Then you will probably not realize that most things you do online are powered by Kubernetes. A LinkedIn post, a breaking news article, a chat message to your colleague… chances are high the system under the hood is powered by Kubernetes

kubernetes

Before I start my story, I would like to wish you a happy 2024! Let us all hope the ongoing wars soon end, so everyone can enjoy prosperity and good health!

I love Kubernetes, there is no doubt about it. Why? Because thanks to Kubernetes I can sleep at night, both eyes closed.

Maybe you don’t know what Kubernetes is. Then you will probably not realize that most things you do online are powered by Kubernetes. A LinkedIn post, a breaking news article, a chat message to your colleague… chances are high the system under the hood is powered by Kubernetes (get more background info at wikipedia).

Kubernetes is a software tool that makes sure your applications run smoothly across your infrastructure. It can automatically handle a wide range of failures, scaling, scheduling and so on… Sounds like work for the System Administrators? Exactly! Kubernetes can perform some system tasks better and faster than any human System Administrator.

3 things Developers think when starting with Kubernetes

As a Kubernetes specialist, I meet a lot of customers that look into Kubernetes at the initiative of the software developers. It’s a bit of a tricky situation because a developer should want their organisation to work on Kubernetes, but they should not be the ones tasked with the provisioning and installation of a Kubernetes cluster. They generally lack experience and knowledge that is usually found with Systems Engineers.

Setting up Kubernetes is going to be straightforward

Provisioning a basic Kubernetes cluster using a managed solution (e.g. Amazon EKS) is pretty straightforward. But making sure a Kubernetes cluster is production ready, is a whole different story! There are many questions you have to think about, that are typically not traditional software development questions. For example; how will we configure cluster networking?

Provisioning a production ready Kubernetes cluster requires a thoughtful design.

kubernetes power

Kubernetes is going to do all of the magic out of the box

Since Kubernetes is more like an API framework than an off-the-shelve product, it can do some magic out of the box, but you will need to extend it with different products to make it work within your own IT environment. There are many products endorsed by the CNCF (cloud native computing foundation), that work specifically well with Kubernetes.

For example, if you want your cluster to be able to send logs to a centralized logging system, you might want to investigate fluentd.

Even when working with cloud solutions it is important to be conscious about cluster design, to make the most out of your budget.

kubernetes magic

Kubernetes is going to make development super easy

Kubernetes alone will not make development easy. Foremost it makes running software super easy! For development teams, switching to a Kubernetes powered runtime can introduce additional headaches. Especially teams that are used to developing single-server software, will need some time to adjust to the distributed nature of a Kubernetes cluster.

To my delight I have noticed that when experienced developers start using the capabilities of Kubernetes fully to their advantage, they really enjoy this paradigm switch.

kubernetes deploy

Why Kubernetes needs to be a strategic IT choice

To most people in an organisation, it only matters which applications they can consume. Making sure that these applications are continuously available, that’s the responsibility of the IT department.

To make this happen in a cost and energy efficient way, System Engineers and Administrators traditionally had to maintain a single technology stack. With the introduction of cloud providers and Kubernetes, the diversity of choice has increased significantly. Because of this, it is easy to get carried away and increase the complexity of your IT landscape without reaping clear benefits (or worse, reap clear downsides).

To conclude: yes, Kubernetes is a great solution to improve the stability and reliability of your technology stack! But to make the most out of it the roll-out should be a coordinated effort between IT management, the infrastructure team and the development teams. It must be clear to everyone that the adoption of a Kubernetes powered technology stack is a change process that takes some time.

But if this change is approached as a team, it will be time well worth it.

Tags: