Fifteen years building and scaling distributed systems, across the industry's move from bare-metal servers and monoliths to cloud-native, Kubernetes and GitOps. I take on the work teams postpone: technical debt, CI/CD built from nothing, and keeping things up.
Tooling / Infrastructure — Docker, Docker Compose, Terraform, Make, Linux
Reference architecture. Client code is under NDA, so this page describes the design and the reasoning behind it rather than a specific deployment.
A setup where a developer runs the same container images locally that production runs, differing only in configuration. It removes an entire category of incident: the one where a bug is unreproducible because two environments disagree about a library version nobody documented.
Local uses Compose, production uses the orchestrator, and both consume the same build artefact. Bringing a full stack up on a laptop takes one command, which matters more than it sounds — the cost of that command is what decides whether people test before pushing.