PinnedCreating an up-to-date Python Distroless Container ImageHow I created a Distroless Docker Container Image for Python, without relying on the out-of-date and vulnerable Google versionJul 10, 20221Jul 10, 20221
GKE Compute Cost Comparisons in Small ClustersComparing GKE’s Node Auto-Provisioning & Autopilot to Manual node pools, to see which achieves the lowest cost for the least inconvenienceMay 21, 20231May 21, 20231
Hosting Plausible Analytics on KubernetesIn this post I’ll describe the step — with examples — to spin up a copy of Plausible Analytics on a Kubernetes cluster …Jun 21, 2022Jun 21, 2022
Docker Desktop Alternatives for M1 MacDetails some options for running without Docker Desktop on a Mac — including one that supports Apple M1 Silicon and host volume mounts …Jan 3, 20225Jan 3, 20225
Developer-Friendly Runbooks: A GuideA guide to creating an easy-to-use, developer-friendly runbook site to help improve your operabilitySep 24, 2021Sep 24, 2021
Some musings from KubeCon EU 2021 (Virtual Edition)I’ve just finished binging on a whole host of talks from KubeCon EU 2021, and thought I’d scribble down some of my immediate thoughts —…May 12, 2021May 12, 2021
How to connect to multiple Google Kubernetes clusters easily in parallelMy approach to connecting to multiple clusters across multiple accounts from my terminalFeb 27, 2021Feb 27, 2021
Things I’ve Learnt After A Year As A Lead EngineerMusings about the things I’ve learnt after a year in a Senior Engineer position, and the things I now hope to change going forwardsJan 3, 2021Jan 3, 2021
Published inJohn Lewis Partnership Software EngineeringTeam Nimbus and the Agents of ChaosOur approach to, and lessons learnt from, running our first ever “Chaos Day” — disruptive tests against the John Lewis Digital PlatformMar 12, 2020Mar 12, 2020
Down with the Krew — my favourite kubectl pluginsI’ll briefly introduce krew, a plugin manager for kubectl, and then run through some of the more useful plugins I’ve discovered with it…Mar 1, 20202Mar 1, 20202