Infrastructure
AWS, Kubernetes, networking, observability, infrastructure as code and running production systems.
CloudWatch as Your Observability Backbone: Native Dashboards, Grafana, or Something Else?
If you run on AWS, CloudWatch is already collecting your metrics and logs whether you like it or not. The real question is whether to build your observability on top of it, pipe it into Grafana, or pay for a third-party platform. The answer depends heavily on stage and budget.
Terraform at a Startup: When It Pays Off and When It's Premature
Every startup infrastructure debate eventually arrives at Terraform. Some teams adopt it on day one and drown in modules; others click through the AWS console for three years and can't rebuild their own production. Here's how I decide.
OpenTelemetry in Practice: Instrument Once, Switch Observability Vendors with Config
Observability vendor lock-in rarely comes from the dashboards. It comes from proprietary agents and SDKs scattered through your code. OpenTelemetry and the OTel Collector let you instrument once and route telemetry anywhere. Here's a practical setup.
Ingress-NGINX Is Retired: A Practical Migration to the Kubernetes Gateway API
The community ingress-nginx controller reached end of maintenance in March 2026. If it's still routing your production traffic, you're running an unpatched edge proxy. Here's how the Gateway API differs from Ingress, and a pragmatic path to migrate.
Istio Ambient Mode: A Service Mesh Without the Sidecar Tax
For years the honest answer to 'should we run Istio?' was 'probably not, unless you have a platform team'. Ambient mode changes the cost side of that equation. Here's how it works, what it gives you, and when I'd now consider a mesh.
Serverless vs Containers vs EC2: Choosing Infrastructure for a Lean Engineering Team
The infrastructure decision for a replatforming project forces you to answer a question with no universal answer: what's right for your specific team, workload, and economics? Here's the framework I used, and why serverless won.
AWS Cost Optimisation for a Mid-Size Business: Where the Money Actually Goes
AWS bills rarely grow because of one big mistake. They grow through dozens of small defaults nobody revisited. This is the checklist I work through: Graviton, commitments, rightsizing, storage, networking, logs and a FinOps cadence that keeps it from drifting back.
Major PostgreSQL Upgrades on RDS with Blue/Green Deployments
Major version upgrades are the database change teams put off longest. RDS Blue/Green Deployments turn a risky maintenance window into a rehearsed switchover measured in seconds to minutes, as long as you understand what logical replication won't copy for you.
Common Kubernetes Pitfalls on EC2 (And How to Avoid Them)
After two years of running Kubernetes on EC2, here are the failure modes that caught us out: OOMKilled pods, node pressure, IMDS conflicts, and more. Save yourself the pain.
Observability in Production: Grafana, New Relic, and What Actually Matters
After running production services across AWS and Kubernetes, I've developed strong opinions about what monitoring actually helps during incidents. Here's the setup that's worked for us.
Kubernetes on EC2 Before EKS: What We Got Wrong (And Right)
We've run Kubernetes on bare EC2 instances since 2017, and Amazon's managed EKS is on its way. The things we've learned self-managing Kubernetes are things managed-service users will take for granted: hard-won lessons worth sharing.
AWS Load Balancers and MySQL Replication: What Nobody Tells You
Running MySQL replication and AWS ELB in production teaches you things the documentation doesn't cover. Here are the hard-won lessons from scaling TouchNote through the 2012 Olympics period.
SQL Server Continuous Data Protection: Real-Time Backup in Practice
Continuous Data Protection promised zero-RPO recovery. Building it for SQL Server at InMage taught me the gap between a promising architecture and a production-grade implementation.
File-Based vs Volume-Based Disaster Recovery: The Fundamentals
Early in my career at InMage Systems (later acquired by Microsoft), I worked on enterprise disaster recovery software. Here's what I learned about the two fundamental approaches to DR, and why the distinction still matters today.