Article series
Some articles are better read as a set. These are the recurring series on the blog — each one collected in a single place so you can work through the whole thing rather than finding one piece at a time.
Troubleshooting Guides
21Paste the error, get the fix.
Each of these starts from a real error message and works through the causes in the order they actually occur in production — with the command to confirm which one you're hitting before you change anything.
- Fix AWS EC2 Instance Unreachable: Can't SSH In
- Fix Docker 'no space left on device' Error
- Fix Docker 'permission denied ... /var/run/docker.sock'
Tool Comparisons
47X vs Y, decided on what matters in production.
Head-to-head comparisons of the tools you actually have to choose between — judged on operational cost, failure modes and day-2 burden rather than feature checklists.
- Agentic AI vs Generative AI: One Is a Model, the Other Is an Architecture
- AI Agents vs Agentic AI: What the Terms Actually Mean (and Why It Matters for Your Platform)
- Ansible vs Terraform: Different Layers, Not Competitors
What Is… Explainers
8Plain definitions of terms that get used loosely.
Short, definitional explainers for the concepts that get thrown around without agreement on what they mean. Each one leads with a straight answer, then links into the deeper material.
- What Is a Kubernetes Operator? The Custom-Controller Pattern Explained
- What Is a Service Mesh? Sidecars, mTLS, and Traffic Control Explained
- What Is Ansible? Agentless Configuration Management Explained
AWS Service Guides
21One service at a time, from someone who runs them.
Working guides to individual AWS services — what each one is genuinely good at, the limits you'll hit, and the cost characteristics that only show up once you're in production.
- AWS Account Factory for Terraform (AFT): What It Is, How It Works, and When It's Overkill
- AWS Security Groups vs NACLs: Stateful vs Stateless, and When Each One Matters
- AWS Lambda Managed Instances: What Actually Changed and When to Use It
AI & LLM Infrastructure
21Running models yourself, and knowing when not to.
Serving and scaling large language models on your own infrastructure — Ollama and vLLM, GPU scheduling and the operator that makes it work, quantisation and the VRAM maths behind it, and the cost and observability problems that only appear once inference is in production.
- EKS Auto Mode for GPU Workloads
- Scale-to-Zero LLM Inference on Kubernetes
- Track LLM Inference Cost in Kubernetes With OpenCost
CI/CD Pipelines
8Building, testing and shipping, without the pipeline owning you.
Guides to the systems that build and ship your code — GitHub Actions, GitLab CI, Jenkins and Argo Workflows — covering runner architecture, short-lived credentials over stored secrets, and how much of the deployment step belongs in the pipeline at all.
- GitLab CI/CD to Kubernetes: The Agent, the Pipeline, and the Parts That Bite
- Jenkins vs GitHub Actions: An Honest Comparison and a Migration Path
- Argo Workflows on Kubernetes: The Object Model, the Gotchas, and When to Use Airflow Instead
Kubernetes
140The cluster, end to end.
The largest body of work on this site — scheduling and autoscaling, networking and ingress, storage, security and RBAC, upgrades, and the operational failures that only appear once real traffic is on the cluster.
- PodSecurityContext vs Container SecurityContext: Every Field, Explained
- PersistentVolume vs PersistentVolumeClaim: The Difference, Explained Properly
- How to Taint a Node in Kubernetes — and When You Actually Should