A backup never restored isn’t a backup: it’s an assumption. I’ve seen dumps corrupted for months, backups excluding a key table, scripts running into the void. You only find out at the worst moment — unless you test.
The only proof a backup works is a successful restore on a clean environment. The rest is hope.
The time-proven rule: 3 copies of the data, on 2 different media, 1 of them off-site. A single backup in the same place as prod protects nothing — one incident takes both.
The backup is the easy part. The part that saves you is the regular restore onto a clean database, verified automatically. If it’s not automated, it’s not done.
On AWS, automatic RDS snapshots + point-in-time restore already cover a lot — but still test a real restore once a quarter.
Two numbers define your strategy. RPO: how much data you accept to lose (the age of the last backup). RTO: how fast you must be back up. They dictate the frequency and type of backup.
How I structure a growing project: when a monorepo helps, when it becomes a burden.
Coding in the terminal with an agent: the mental model, the commands that matter, and how to keep it on the rails.