Database Migrations: Change Your Schema Without Breaking Everything
A practical guide to database migrations — tools, patterns, and strategies for evolving your schema safely in production.
A practical guide to database migrations — tools, patterns, and strategies for evolving your schema safely in production.
A practical guide to managing multiple environments — configuration strategies, promotion workflows, and patterns that prevent ‘works on my machine’ disasters.
A practical guide to logging — structured formats, log levels, correlation IDs, and patterns that make debugging production issues bearable.
A practical guide to Git branching strategies — from trunk-based development to GitFlow, with patterns that scale from solo projects to large teams.
A practical guide to managing secrets in modern applications — from environment variables to HashiCorp Vault, with patterns that actually work.
Monitoring tells you when something is wrong. Observability helps you understand why. Here’s how to build systems you can actually debug.
A practical introduction to Kubernetes — what it does, why you might need it, and how to get started without drowning in complexity.
How to set up continuous integration and deployment with GitHub Actions — from first workflow to production deploys.
Why Ansible became my go-to tool for managing servers, and how you can start using it today.
A practical introduction to Docker containers — what they are, why they matter, and how to start using them today.