$ cat post/ping-with-no-reply-/-i-ssh-to-ghosts-of-boxes-/-i-strace-the-memory.md
ping with no reply / I ssh to ghosts of boxes / I strace the memory
Title: March 19, 2018 - Kubernetes Keeps Winning, But Where Do We Go From Here?
It’s been a few days since Stephen Hawking passed away. His legacy lives on in the world of tech with artificial intelligence and black hole research pushing boundaries every day. Meanwhile, over at Uber, one of their self-driving cars killed someone while crossing the street. It’s an eerie reminder that technology isn’t always ready for prime time.
In my personal life, it was the beginning of March 2018, and I found myself knee-deep in Kubernetes and Helm, trying to figure out how to make our monolithic application a bit more modular with containers. The container wars seemed to be mostly won by Kubernetes at that point, but everyone still argued about orchestration tools like Mesos or OpenShift. We had just started diving into the world of Istio for service mesh, and Envoy was looking promising as an ingress controller.
I spent most of my time wrestling with Terraform 0.x, trying to get a consistent infrastructure setup across different environments. The tool felt clunky and slow compared to what I’ve seen in newer versions. It’s funny how the community builds these tools and then everyone struggles to use them until they finally stabilize.
The serverless hype was everywhere—Lambda functions were becoming all the rage for building microservices, but we weren’t quite sure yet if it made sense for our particular application. The idea of writing code that could just sit around waiting to be triggered seemed like a strange and wasteful approach.
At work, I had spent a lot of time trying to get GitOps working with FluxCD, which was relatively new at the time. We were moving away from traditional CI/CD pipelines in favor of letting Kubernetes manage our application states. It felt like a big shift but one that could potentially make deployments much smoother and easier to handle.
Prometheus and Grafana were slowly replacing Nagios as our monitoring tools. I remember debugging some tricky issues with Prometheus metrics scraping and finding out the hard way that configuration errors can be really difficult to spot. The learning curve for Grafana was steep, but once you got the hang of it, it provided an incredible amount of flexibility in visualizing our data.
One particularly frustrating moment came when we were trying to set up a Helm chart for one of our microservices. It took hours of trial and error just to get all the dependencies right. The community support was scattered, with some great resources but also plenty of outdated information. There was no clear path forward, which made it feel like a bit of a gamble.
And then there were those moments where everything seemed to come together perfectly. Deploying an update to our service using FluxCD felt like magic—no manual intervention required, and the app came up without any downtime or issues. It was rewarding to see the fruits of all that hard work paying off.
In conclusion, March 2018 was a mix of excitement and frustration as we navigated this rapidly evolving tech landscape. Kubernetes kept winning, but figuring out how to integrate it with our existing infrastructure felt like a never-ending puzzle. The tools were there, but the community support and best practices were still maturing.
As always, it’s a balance between embracing new technologies while being mindful of their current limitations. For now, I’m just happy we’re moving in the right direction. The future is unpredictable, but one thing is for sure—we’ll continue to learn and adapt as technology continues to evolve.
That’s where I was on March 19, 2018. What about you?