The situation
The project worked when you finished it. Weeks later a dependency changed, a certificate expired or data was removed by mistake. You have a backup, but nobody has tried restoring it, and the first warning arrives from the person who can no longer use the site.
The idea in one paragraph
Working once is a build result; continuing to work is an operating practice. Versions tell you what changed, backups give you something to restore, migrations change live data deliberately, and monitoring tells you when reality no longer matches expectation. None prevents every failure. Together they make failure visible and recovery possible.
Four recovery habits
| Habit | Protects against | Proof it works |
|---|---|---|
| Versioning | Unknown code changes | A known release can be restored |
| Backups | Lost or damaged data | A restore test succeeds |
| Migrations | Uncontrolled data changes | Forward and recovery steps are checked |
| Monitoring | Silent failure | A test alert reaches a person |
How it actually works
Keep deployable versions tied to recorded changes. Back up the state that cannot be recreated, then test recovery somewhere safe. Treat a data migration as a sequence with checks before and after it. Monitor a few outcomes that matter to users, not every available number, and decide who receives the alert.
What this changes for you
- Record which code version is live and how to return to the previous one.
- Test a restore before trusting a backup.
- Give important failures an owner, an alert and a written recovery step.
Where it breaks
A backup can copy corrupted data, monitoring can report noise, and rollback can be impossible after an irreversible data change. Recovery plans also decay when nobody rehearses them. Verify the path, not merely the existence of a setting labelled backup or alert.
Terms used on this page
- Version: an identifiable state of code or a released system.
- Backup: a separate copy kept for recovery.
- Monitoring: repeated checks that report whether a system still meets an expected condition.
Read next
Level 3: The CLI and orchestrating your own files turns these habits into a repeatable working method.