Skip to content

insights

Notes from production

Longer write-ups on the problems I get called about most: Kubernetes stuck in a bad state, cloud bills nobody can explain, and RAG/LLM systems that worked in a demo and fell over in production. Written the way I'd explain it to another engineer, with the commands I actually ran.

September 3, 2026 · 12 min read

EKS vs GKE vs Self-Managed Kubernetes: Where the Cost Actually Goes

A cost comparison that starts from the actual bill instead of the pricing page. What EKS, GKE and self-managed Kubernetes really charge for, which line items dominate, the surprises that show up in month three, and a model you can fill in with your own numbers.

read →
September 3, 2026 · 12 min read

Ingress vs Gateway API: Planning the Move Now That ingress-nginx Is Retired

What Gateway API actually gives you over Ingress, what the ingress-nginx retirement means if you are still running it, and a migration path that moves route by route instead of all at once.

read →
September 2, 2026 · 12 min read

Choosing a Vector Database for Self-Hosted RAG: What Actually Decides It

A selection guide for self-hosted RAG vector stores that starts with index memory math and filtering requirements rather than benchmark charts. Covers pgvector, Qdrant, Weaviate, Milvus, and when the answer is "you do not need one yet".

read →
September 2, 2026 · 13 min read

A Zero-Downtime Kubernetes Migration Runbook That Survives Contact With Production

The runbook I use to move production onto Kubernetes without an outage window: parallel environments, weighted ingress, session and state handling, the rollback triggers agreed in advance, and the order that keeps every step reversible.

read →
September 1, 2026 · 12 min read

Karpenter vs Cluster Autoscaler: Which One Should Be Scaling Your Nodes?

A practical comparison of the two Kubernetes node autoscalers, from someone who has migrated production clusters between them. What each actually does, where consolidation earns its keep, and the operational cost nobody mentions.

read →
September 1, 2026 · 12 min read

Kubernetes OOMKilled: Debugging Exit Code 137 Without Just Raising the Limit

Exit code 137 is the easiest Kubernetes failure to "fix" wrongly. A field guide to telling an undersized limit from a leak, reading working-set memory the way the kernel does, and the runtimes that ignore your cgroup limit entirely.

read →
August 30, 2026 · 13 min read

Your AI Agent Works 70% of the Time. Here Is What the Other 30% Is Made Of.

Why agent demos hit a reliability ceiling, how to build the eval harness that tells you where the failures actually are, and the five fixes that move an agent from impressive to shippable.

read →
August 30, 2026 · 13 min read

How to Cut an LLM API Bill 50-70% Without Anyone Noticing a Quality Drop

The four levers that actually move an OpenAI or Anthropic bill — gateway visibility, caching, model routing, and token trimming — and how to prove you didn't degrade quality doing it.

read →
August 30, 2026 · 12 min read

Debugging Kubernetes Ingress: What 502, 503, and 504 Are Actually Telling You

A request-path playbook for Kubernetes ingress errors — how to read 502 vs 503 vs 504, walk ingress to Service to endpoint to pod, and find the layer that is actually broken.

read →
July 15, 2026 · 12 min read

Self-Hosted RAG in Production: The Issues That Never Show Up in the Demo

Why RAG systems that demo beautifully fall apart in production, and the concrete fixes for retrieval quality, hallucination, cost, and staleness that a demo never forces you to solve.

read →
July 1, 2026 · 12 min read

Kubernetes Cost Optimization: Where the Money Actually Goes and How to Cut It

A practical breakdown of where Kubernetes clusters bleed money and the concrete order of operations to cut the bill 20-50% without hurting reliability.

read →
June 20, 2026 · 11 min read

Kubernetes CrashLoopBackOff in Production: A Debugging Playbook That Actually Works

A field playbook for debugging CrashLoopBackOff in production without panic-restarting pods, built from real incidents where the "obvious" fix was wrong.

read →

Living through one of these right now?

Book a free 30-minute call. We diagnose it together, and you walk away with a plan you can act on. You’ll get a straight read either way.