Challenges leading to change

🔃 The last few years were a big pile of good, interesting, life-changing challenges. Everything is for the best, though only some things are perfect. The biggest of them was becoming a father. A lot of things have changed and had to be put on pause. If you know, you know 🙂 It was a slow but steady “getting back to normal” for me too.

👨‍💻 I got myself back into speaking at the conferences and meetups. I was still very much “in the busy busy mood” to post updates about those, including Cloud Native Lithuania, KubeCon Paris, DevOpsConf, DevOps in Shorts, GoLang Lithuania, DevConfCz, and a few others. When I think of it, it was quite a year getting back out there. At the same time, I did a few conferences’ CFP review cycles just to get myself into the mood of “what other people are submitting and talking about”, what people are proud of and not so.

After a few years of absence, I was a bit surprised at how things have changed. So, a few insights: ♻️ DevOps - The movement is going strong with all its Dev{X}Ops flavours. This is good and bad at the same time. It looks like we’re moving more and more towards digital plumbers as a generic role. All the Crossplanes, Backstages, OpenTofu… basically YAML engineering. You can see this from all the LinkedIn job ads: everybody needs an SRE/DevOps. It’s more and more about no-code solutions (if you consider HCPs and YAML not code). This is clearly seen in the conferences/meetup content. It’s less and less technical, and more about “pre-baked” solutions. This has its pros and cons. It enables organizations to move faster at the start, but in the long run, it generates unbelievable amounts of tech debt and dependencies. One might argue it’s easier to hire DevOps people to support these solutions, but in my opinion, it’s one big lie 🙂 It’s always been the case that if a solution is done right, you need fewer developers to support it. Hyperscalers are a good example of this, where smaller teams are running computing or networks for half of the globe. When done in an API-first approach (again, some argue YAML is an API too…)

☸️ Kubernetes - Some people are still just adopting Kubernetes, but some are already getting bitten by it and moving away. Why? It’s getting to the point where it’s super complicated. Even for simple things, you get this spaceship when what you need is a bicycle. And you need two Dev{X}Ops just to maintain this spaceship. For us, Kubernetes SMEs, it’s good - more job security :)

🚀 Innovation at the Kubernetes core is slowing down. Most innovation is moving to the surrounding ecosystem. And ecosystems are operating within the boundaries Kubernetes gives them. Which is understandable too; the product should be stable, and stable is boring. Challenges like no true multitenancy and poor horizontal-multi-location scaling are just accepted “as is”. Instead of doing proper root cause analysis and looking at how we can fix these things at the core, how we can make the platform more modular and less complicated, we’ve just accepted it. With AI training going full steam ahead, you can already see some people saying that K8s is too complicated in some areas and not good enough in others to run AI workloads. The fact that the ~9-year-old k/k issue #3949 is still open, and Adrian Reber’s name keeps popping up in conversations about his work for CRIU checkpoints, shows that people need this now. After a decade of being just ideas, things are being pushed again to support AI requirements. But this is just a small part of the challenges the ecosystem faces.

🕸 Control planes - Most of my talks were related to kcp.io, where I’ve been actively involved in the open-source community for a few years now, from the days I used to work for Red Hat. After a decade in Kubernetes as a user and builder, I still believe there’s more we can do. If we don’t push the boundaries further, there’s a risk of becoming irrelevant, especially in these AI times. That’s why I like the kcp.io community, as it’s trying to expand Kubernetes beyond just a container orchestration engine. It’s not so much pushing for more, but for less. Kubernetes is now a very complicated beast, overcomplicated for some users with all its bells and whistles. We had simpler times before, and we lost it somehow during this decade. This is why it still needs to change and become simpler, and more modular. Less is more. This is shown by the raise of number edge-k8s distributions out there. The point here is that having these conversations about “different ways of doing Kubernetes-like things” was very hard and novel a few years ago. We felt like speaking to an empty room, but now people are starting to get the ideas. I think people got bitten by running 10xN clusters globally, doing DevOps and plumbing for them, and are now starting to look for alternatives. You can see this by the sheer amount of “Cluster Federation” (while the term Federation is still considered a curse word in k/k) tools popping up; it shows that people are now ready for this.

🦾 Overall, it’s good to be back.

✨ Most of all, I’m grateful to my wife—my partner in crime—for supporting me. As I prepare for KubeCon NA, I’m super excited about what’s ahead. It’s thrilling to be back in public speaking and open source. Not everything is yet back to where I would like it to be, but with small steps, I’m getting there.