How to Set Up Structured Logging in Production
Plain-text logs turn every incident into a grep marathon. Here is how to move to structured logging in production without breaking what already works.
CI/CD, infrastructure, and what it actually takes to keep a deploy pipeline boring.
16 articles
Plain-text logs turn every incident into a grep marathon. Here is how to move to structured logging in production without breaking what already works.
A timeout does not tell you whether the request worked. Idempotency keys let clients retry without charging a customer twice.
OVHcloud's CLI releases were swapped for malware because immutability was off. Here is what the setting locks and how to enable it without breaking releases.
Docker Engine 29.9.0 and 29.9.1 landed within a week, bundling HTTP/2 daemon fixes and three containerd advisories. Here is how to roll them out safely.
A short post-deploy check suite can stop a bad release in minutes. Here is what to test, where it fits, and how to make failure roll back on its own.
GitHub's new actions.lock file records the exact commit behind each action. Here is how to create it, keep it current and avoid the allowlist trap.
You cannot skip minor versions, and 1.35 expires in four months. Here is how to sequence the climb without a weekend of surprises.
Versions 3.3 and 3.4 of the Terraform Kubernetes provider reject null labels and a double-named Role. Here is a safe upgrade path, step by step.
GitLab shipped an out-of-band fix for an unauthenticated code execution bug that reaches back to version 7.0. Here is how to pick your target version, upgrade safely, and check logs afterward.
Derek Holloway on Docker image build time: what actually matters for engineering teams making this call.
Derek Holloway on Kubernetes cost optimization: what actually matters for engineering teams making this call.
Derek Holloway on incident response runbook: what actually matters for engineering teams making this call.