Is Kubernetes Always the Right Choice for Your Business?
The topic of “Hyperscalers” continues—and specifically “Kubernetes”—in the latest issue of the “allesnurgecloud.com” newsletter by Andreas Lehr: Is Using Kubernetes a Business Disadvantage?
At least, I don’t see it as an advantage. It’s understandable that even experts find the concept appealing. It’s a bit like plug-and-play. Especially when you’re just using a running cluster and not building and managing it yourself. But it often leads to people not thinking critically anymore. About basic metrics like user numbers and behavior, response times, availability, redundancy, etc. After all, everything scales automatically, right? How could anything go wrong?
Why am I such a big fan of Go? Because it’s simply straightforward. It has a very low learning curve and allows even beginners to build highly performant applications very quickly. I expect the same from infrastructure. It should do what it’s supposed to do. It might even become boring as a result. And that’s exactly when everything has been done right. A setup that you can understand immediately because its purpose is obvious.
The concepts behind Kubernetes are definitely good. But when you really look at what’s important to you, you’ll find much simpler solutions.
In most cases, the required performance is predictable. It doesn’t increase a hundredfold within a minute. It’s usually something you can plan for. A good concept can grow with the requirements—without unnecessary complexity. I have the impression that many people no longer take simple and straightforward solutions seriously these days.
What have I used in the past to build highly available and scalable systems?
I’ve been using containers practically from the start. They make a lot of things easier when you want to run different services. They also remove the need to optimize VMs specifically, since you can limit and (conditionally) isolate things beautifully at the container level. All of this, of course, distributed across multiple physical servers. Even when renting servers, you can influence racks, rooms, or even locations.
I still think Traefik is fantastic. It simplified a lot of things for me in terms of load balancing. And depending on the scenario, NATS as well. Sending messages back and forth has always been great. In the past, I even used Gearman. It was also excellent. But it was eventually replaced by direct connections through service discovery or message-oriented approaches.
And in the end, this setup actually scaled. Okay, manually. But it was automatable. A few changes in the Ansible playbooks, and everything was adjusted.