Template · DevOps

Deployment Runbook Template

A fill-in runbook for releasing to production, pre-flight checks, the deploy sequence, what to watch and for how long, rollback with a decision-maker named, and the incident path when rollback is not enough.

Markdown. No sign-up, no email.

Written for the person doing the deploy at 17:00 on a Thursday, not for the person who built the pipeline. Assume they are tired, mildly stressed, and have not read the pull request.

Service: _______________ Owner: _______________ Runbook last reviewed: _______

1. Facts you need before starting#

Where it runs
How to reach the logs
Dashboard URL
Who is on call
Customer impact if this is down
Deploy usually takes

2. Pre-flight#

  • [ ] CI green on the commit being deployed (not on a later one)
  • [ ] Change reviewed and approved
  • [ ] Database migration included? yes / no, if yes, see §5
  • [ ] Configuration or secret changes needed in the target environment
  • [ ] Feature flags set to their intended state
  • [ ] Someone else knows this deploy is happening
  • [ ] Not deploying into a change freeze
  • [ ] Rollback path confirmed for THIS change specifically

Commit / version being deployed: _______________

3. Deploy sequence#

#StepCommand / actionExpected result
1
2
3

Point of no return: step ____: after this, rollback means ____________________

Name the irreversible step explicitly. The person deploying should know when they are crossing it, rather than discovering it during the rollback attempt.

4. Verify: before declaring success#

CheckHowExpected
Health endpoint
A real user journey works end to end
Error rateat or below baseline
Latency p95
Queue depth / job processing
Logs free of new error classes

Watch for _____ minutes before walking away. Most deploy-related failures appear within the first few minutes, but the ones caused by a slow cache fill, a scheduled job or a connection pool exhausting appear later. Set the number deliberately for this service.

5. Database migrations#

Migration is backward compatible with the running codeyes / no
Expand-then-contract usedyes / no
Estimated runtime on production data volume
Locks taken
Tested against a production-sized copyyes / no, date
Rollback: reverse migration or restore

A migration that is not backward compatible turns a deploy into a coordinated outage, and makes rollback impossible without data loss. Split it: add the new shape, deploy code that writes both, backfill, switch reads, then remove the old shape in a later release.

6. Rollback#

Decision-maker: _______________ (name a person; "the team" delays the decision)

Trigger conditions, decide these BEFORE deploying:

  • Error rate above _____ for _____ minutes
  • Latency p95 above _____
  • Any data corruption, immediately
  • Health checks failing after _____ minutes

Rollback steps:

#StepExpected result
1
2

Rollback last tested: _______ How long it took: _______

Debugging forward under pressure is how a five-minute rollback becomes a two-hour outage. Roll back first, understand it afterwards, with the pressure off.

7. If rollback does not fix it#

  1. Declare an incident and name a lead
  2. Communicate: who tells customers, and through which channel
  3. Escalation contacts: _______________
  4. Preserve logs and state before further changes

8. After the deploy#

  • [ ] Change log updated
  • [ ] Feature flag state recorded
  • [ ] Monitoring re-checked after the first full traffic cycle
  • [ ] Anything that surprised you added to this runbook

A runbook improves after every use or it decays. Whoever ran this deploy owns the edit.

Review#

NameDate
Written by
Last run by
Next review due

Back to DevOps

Get new material when it is published

Everything here is free and stays free. There is no form in front of any document. If you want to know when new guides and templates go up, leave an email.

Roughly monthly. Unsubscribe in one click. We do not share your address, and we will not call you.