Reference Reviewed

On-call cheatsheet

The numbers and first steps you need when you are paged. Each section links to its full guide.

When you are paged

  1. Acknowledge so it does not escalate, then open the alert’s runbook.
  2. Check user impact on the SLO dashboard: who is affected, how badly, since when.
  3. Declare an incident if you need a second team, customers can see it, or it is unsolved after an hour. Open one channel, set a provisional severity, name the incident commander.
  4. Post the first update soon after declaring, and say when the next one will come.
  5. Look at recent changes: deploys, config, feature flags, traffic.
  6. Mitigate first with a known-safe rollback, failover or feature switch-off, or by shedding load. Check for data migrations before rolling back, and the replica’s health before failing over. Find the cause later; keep the evidence.

Incident roles and communication

Severity at a glance

LevelImpactResponse
SEV1Core function down or badly degraded for most users; data loss or breachPage 24/7, dedicated IC, update every 30 min, status page
SEV2Major degradation for many users, or a core feature down for somePage 24/7, IC assigned, update every 60 min, status page if customers notice
SEV3Limited impact or an easy workaroundOwning team, business hours
SEV4No user impact and no imminent riskTicket

A starting point, not a standard. Classify by impact, not cause; when in doubt, go higher. A risk without impact, such as losing the last spare replica, still needs action now.

Incident severity levels

Escalation and handing over command

  • No acknowledgement? The page goes to the secondary, then a manager or the wider team, after a fixed timeout such as 5 minutes.
  • Need another team? Declare an incident and page their on-call. Do not wait to be sure.
  • Handing over command: brief the next IC, say “You are now the incident commander, OK?”, wait for a yes, and announce it in the channel.
  • Long incident? Rotate responders and the IC every few hours; tired people make mistakes.

On-call basics Incident roles

Internal update

[SEV?] [Service]: [what users see]. Update [n], [HH:MM] UTC

Impact: [who is affected, how, since when]. [What still works.]
Current state: [what we know, what we are doing].
Next steps: [next action and owner].
Help needed: [none / team or person].
Next update: [HH:MM] UTC or sooner if anything changes.
IC: [name]   Comms: [name]   Channel: #inc-[id]

Send one on schedule even with no news. Say what users see, not component names.

More incident templates

Burn-rate alerts

burn rate = error rate ÷ (1 − SLO)

ActionWindowsBurnError rateEmpty in
Page1h / 5m14.4×1.44%2d 2h
Page6h / 30m6×0.6%5d
Ticket3d / 6h1×0.1%30d

Error rate shown for a 99.9% SLO over 30 days; “empty in” is how long the budget lasts at that burn. Both windows must be over the threshold for the alert to fire. A 14.4× or 6× page is at least SEV2.

Burn-rate alerting Calculate for your SLO

Downtime allowed

SLOPer 30 daysPer day
99%7h 12m14m 24s
99.5%3h 36m7m 12s
99.9%43m 12s1m 26s
99.95%21m 36s43.2s
99.99%4m 19s8.64s

Full outage at steady traffic. A partial outage spends the budget more slowly.

Availability table

Sources: Google, Site Reliability Engineering, 1st ed., ch. 14 “Managing Incidents” and ch. 11 “Being On-Call”; The Site Reliability Workbook, ch. 5 “Alerting on SLOs” and ch. 9 “Incident Response”. Severity levels and update cadences are starting points to adapt.