$ cat post/port-eighty-was-free-/-the-abstraction-leaked-everywhere-/-a-ghost-in-the-pipe.md

port eighty was free / the abstraction leaked everywhere / a ghost in the pipe


Title: August 3, 2020 - A Day in the Life of a Platform Engineer


Today was one of those days where everything felt like it was just starting to come together— and also falling apart at the same time. I woke up early with a stack of tasks that needed my attention, but as the day went on, some new issues popped up left and right. It’s been a while since we’ve had such a mix of challenges and successes.

First off, the platform team has been pushing for more automation in our internal developer portals. We’re using Backstage now, which is fantastic because it allows us to standardize our approach to documentation and services across all teams. But today was an interesting learning experience in how complex these integrations can be. I spent most of my morning dealing with a service that wasn’t quite connecting as expected. The usual suspects—misconfigured environment variables, forgotten API keys, and mismatched versions—were there, but it felt like something else was just off. After some debugging, I realized the issue lay in a subtle change to an API endpoint’s payload structure, which had propagated through our system without any clear warning or error message.

Speaking of errors, another problem reared its head this morning involving our Kubernetes cluster. It turned out that a recent update to eBPF (Extended Berkeley Packet Filter) on one of our nodes was causing some network performance issues. The team had been experimenting with it for a while now, and I hadn’t given much thought to how it might affect the stability of our infrastructure. This was a reminder of why we need to be more cautious when rolling out experimental technologies in production.

On the brighter side, I spent an afternoon working on some GitOps deployments using ArgoCD and Flux. These tools are really starting to mature and make it easier for us to manage our applications across multiple environments. We’re finally getting a handle on the complexity of managing stateful services and rolling out updates without downtime. It feels like we’ve found a better balance between automation and manual oversight, which is crucial in any large-scale deployment.

The day also brought some internal discussions about SRE (Site Reliability Engineering) roles. As our team continues to grow, more focus is being placed on the reliability and stability of our platforms. We’re exploring ways to formalize these roles, but it’s clear that there’s a lot of nuance in defining what an SRE does versus what a platform engineer does. There’s a natural overlap, but we need to be careful not to blur the lines too much.

In the evening, I had a brief conversation about why some teams were still resistant to using our internal developer portal. It was a bit of a soapbox moment for me, where I emphasized how important it is for everyone to use these tools consistently. The argument boiled down to a common challenge: people are hesitant to change their workflows if they don’t see immediate benefits or if the current process feels familiar enough that it’s hard to justify switching. We’re working on addressing those concerns with better training and more visible examples of how using Backstage can save time and streamline our development processes.

To wrap up, I spent some time reflecting on why we might be experiencing this mix of successes and challenges. It’s a reflection of the rapid pace at which tech is evolving—especially in areas like infrastructure and platform engineering. We’re constantly adapting to new tools and methodologies while trying to maintain stability and reliability. It can be overwhelming sometimes, but it’s also incredibly rewarding when things start coming together.

That’s my day in August 2020. Here’s hoping for a smoother tomorrow!


Feel free to tweak the content if needed or add any specific insights you want to include!