🤖 AI Agents are not Real
AI agents are all the rage these days. They’re the new shiny ✨ toy that everyone wants to play with 🧸. There’s only one small problem: they’re not real 👻. Yes, you heard me right 👂. AI agents are just a figment of our AI frameworks 🛠️ — really just an anthropomorphism 🧍♂️ of a very useful pattern for interacting with LLMs.
“The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.” ~ Edsger W. Dijkstra
🚀 Managing Software Engineers in the AI Era
Two weeks ago I became a manager 👨💼 again. Throughout my career, I have managed several teams. I was even a director of software development a couple of times. But, I always stayed close to the code 💻, and remained hands-on. This time may be different. I’ll tell you why. But first, let me introduce my team: Devin, Claude and OpenHands… 🤖
“Unfortunately, humans have a long history of trying to fix their engineering mistakes with more engineering mistakes!” ~ Steven Magee
Building a Kubernetes Debug Container Image with Docker
Building optimized container images is a science 🧪 and an art 🎨. You need to know what you’re doing to get it right. In this post, we will build a Python-based 🐍 container image for troubleshooting Kubernetes ☸️️. Along the way, we will discuss some of the best practices for building images, when they apply and when they don’t! 🔍
For the impatient:
https://github.com/the-gigi/docker-images/tree/main/py-kube
“When you realize the difference between the container and the content, you will have knowledge.” ~ Idries Shah
From Black Box to Glass Box: LLM Observability in Action 🚀
Observability 🔭 is table stakes for any serious system. But, when you throw GenAI and LLMs into the mix it is no longer just nice to have. That’s the game at Invisible, where we’re wrangling LLMs in our multi-agent web automation platform on the daily. Let’s pop the hood and see how we made the leap from black box 🤷 to glass box🔎 with LLM Observability. Designing, building and integrating LLM observability into our stack was one of my favorite projects at Invisible.
“Without data, you’re just another person with an opinion.” ~ W. Edwards Deming
DNS, Cloudflare Workers and Framer!
Everything on the internet starts with DNS 🌐, so it’s kinda important ⭐. Cloudflare is one of the top DNS providers and it offers the unique capability of intercepting any HTTP(S) request right after DNS resolution and mess around with it 🚀. Let’s see how this works and how we have used it effectively at Invisible to handle elegantly a thorny issue with a 3rd party provider.
“It’s not DNS. There’s no way it’s DNS. It was DNS” ~ Every network engineer, ever
When Ephemeral Storage in Kubernetes isn’t so Ephemeral
Ephemeral storage 📦 is a fancy way of saying temporary storage. In Kubernetes ☸️️, it means storage that is associated with a pod that disappears when the pod goes away. This is almost true 🤔 as we shall find out soon. We will see what happens when pods and nodes run out of ephemeral storage ❌ and how to troubleshoot it 🔍.
“I like the ephemeral thing about theatre, every performance is like a ghost - it’s there and then it’s gone” ~ Maggie Smith
One Year at a Startup
At the beginning of 2024, I joined Invisible Platforms 🥷 - a small startup with a super-talented team (I worked with 95% of the engineers before) and a big mission. I’m the infra guy 🛠️, which covers a lot of ground in a startup. I got to wear many hats 🤠, play with some cool toys and even made myself useful on occasion. Let’s see what I’ve been up to in 2024!
“Why, sometimes I’ve believed as many as six impossible things before breakfast.” ~ The Queen from Alice in Wonderland
About Horizontal Pod Autoscaling
Horizontal pod autoscaling is one of the best features of Kubernetes ☸️. In this short blog post I’ll take quick a look at the horizontal pod autoscaler (HPA) and point out some gotchas.
“The best measure of a man’s honesty isn’t his income tax return. It’s the zero adjust on his bathroom scale” ~ Arthur C. Clarke
The Art and Science of Kubernetes Bin Packing
☸️ Kubernetes is a powerful platform for running containerized workloads. It will happily scale your infrastructure to meet the demands of your applications. Unfortunately, this can get expensive ( especially in the cloud). The goal is to utilize the resources you provision efficiently. In this post, we’ll explore the ins and outs of Kubernetes bin packing 📦, which is one important piece of the puzzle. We will also show how bin packing interacts without other aspects of optimizing resource usage.
“Letting go is even more important than adding.” ~ Marie Kondo
Blue/Green Upgrade for Postgres on AWS RDS
Today we are going deep on upgrading Postgres on AWS RDS to a new major version. You may be shocked, but there will be very few emojis in this post. Database upgrades are no joke, so let’s be serious for a change. 🫡
A SQL query walks into a bar, sees two tables and asks, “Can I join you?” ~ Anonymous