$ cat post/green-text-on-black-glass-/-a-shell-history-of-years-/-disk-full-on-impact.md
green text on black glass / a shell history of years / disk full on impact
Title: May 25, 2020: A Year Already?
It feels like just a few months ago I was wrapping up my annual review, but here we are, almost halfway through the year. The tech world has been in flux since the start of the year, and it’s all coming to a head with remote work now being normalized. The pace of change has accelerated, and with it, so have the challenges.
Yesterday, I found myself arguing with one of our SREs about whether we should fully embrace eBPF for network tracing in our Kubernetes clusters. It’s an old debate, but lately, everyone seems to be getting excited about the potential savings in latency and overhead from running BPF programs directly on the kernel. My argument has always been that while it sounds great in theory, there’s a ton of complexity that comes with managing eBPF at scale, especially when you’re dealing with multiple teams and different network policies.
“I don’t know man,” I said to my SRE colleague, “but last time we tried this out, the overhead was higher than expected and it took us months to debug all the issues. Are we really ready for that again?”
He gave me a look like he thought I had completely missed the memo: “Brandon, it’s 2020 now! The technology has matured. We can use tools like Cilium to make eBPF accessible and manageable. Besides, with everyone remote, having better visibility into our network is more important than ever.”
I sighed. He was right of course—everyone was working from home and the network had become a wild west of home routers and Wi-Fi. But I couldn’t shake the feeling that we were rushing into something without fully understanding its implications.
On to other fronts, our internal developer portal (Backstage) is finally starting to show some real value. We’ve got a good chunk of the services onboarded and we’re seeing developers spend less time figuring out where everything lives. It’s not perfect—there are still gaps in documentation and a few rough edges—but it’s progress.
And then there’s Flux, which has been maturing alongside Backstage. We’re using it to automate our GitOps deployments with ArgoCD, and the results have been impressive. Our deployments have become more reliable and less prone to human error. But again, it’s not without its quirks—getting the configuration right and handling edge cases can be a challenge.
One of our projects has really highlighted the complexity of Kubernetes management lately. We’re building a new application that requires a high level of availability and performance. The team wanted to use a stateful set for persistent storage, but we hit roadblocks with networking and scaling. After days of debugging, it turns out there was an issue with the network policy configurations that were conflicting with our desired state.
It’s moments like these that remind me why I love this job—it’s not just about writing code or deploying services; it’s about solving problems in a constantly evolving landscape. The complexity fatigue is real, but so are the opportunities for innovation and improvement.
On a lighter note, today I found myself staring at the HN front page. “Bye, Amazon” got 3816 points—someone must be really upset. On a more positive note, SpaceX’s successful launch of astronauts to orbit was a huge milestone. And Deno 1.0 was released, bringing another new language into the mix. It’s exciting to see all these developments, even if sometimes they feel overwhelming.
As we continue through this year, I hope we can find balance between embracing new technologies and maintaining the stability that our users rely on. The next few months will be crucial as we navigate both internal and external challenges.
Until next time,
Brandon