Escalation contract
0–5 min: primary on-call
5–10 min: secondary
SEV-1 or no mitigation path: incident commander + service owner- Time bounds remove ambiguity.
- Escalation is based on service need, not individual heroics.
Design sustainable on-call coverage with actionable pages, explicit escalation, handoff discipline, responder safety and enough context for the person receiving the page to act.
Carry the same user journey forward: customer → edge/API → checkout → payment. Reuse prior SLI/SLO, alert, incident and recovery decisions where relevant so this module adds evidence to one reliability system rather than starting from zero.
A service is not operationally ready if the alerting system can detect failure but nobody is clearly responsible for responding. On-call ownership, access, runbooks and escalation are production dependencies.
Design the system so the primary responder can identify impact, mitigate safely and obtain help without relying on tribal knowledge.
An escalation policy should answer who is primary, how long to wait, who is secondary, when incident command is activated and how cross-team dependencies are engaged.
Avoid escalation chains that depend on personal phone books or informal knowledge.
Repeated non-actionable pages, excessive overnight interruptions or pages caused by known toil indicate system work is needed. Do not normalize responder exhaustion as a staffing problem alone.
Measure page volume, actionability, time-to-acknowledge and common page sources, then improve the underlying system.
Useful operating measures include pages per shift, percentage of actionable pages, acknowledgement latency, escalations, overnight interruptions and recurring alert sources. Set team-specific load budgets rather than copying a universal number.
Rotation size also matters: a very small rotation increases frequency and fatigue, while a large rotation can reduce familiarity. Balance sustainable frequency with enough production context to respond safely.
0–5 min: primary on-call
5–10 min: secondary
SEV-1 or no mitigation path: incident commander + service owner7 engineers · weekly primary rotation
14 pages/week → 2 pages/day average
10 actionable, 4 non-actionable → 71% actionability
Decision: fix the 4 noisy alerts before treating staffing as the primary solutionGoal: Check a small policy for missing ownership, time bounds and escalation coverage.
cat > /tmp/oncall.json <<'EOF'
{"primary":"checkout-oncall","secondary":"","ack_minutes":10,"escalate_minutes":5,"sev1_commander":"","handoff_required":false,"pages_last_7d":14,"actionable_pages":10}
EOFpython3 - <<'PY2'
import json
x=json.load(open('/tmp/oncall.json'))
issues=[]
for k in ['primary','secondary','sev1_commander']:
if not x.get(k): issues.append(f'missing {k}')
if not (0 < x.get('ack_minutes',0) < x.get('escalate_minutes',0)): issues.append('ack/escalation time order is invalid')
if x.get('handoff_required') is not True: issues.append('handoff is not mandatory')
pages=x.get('pages_last_7d',0); actionable=x.get('actionable_pages',0)
print('actionability_pct',round(actionable*100/pages,1) if pages else 0)
print('issues',issues)
assert issues, 'This starting policy is intentionally broken'
PY2Edit `/tmp/oncall.json` until it has durable primary/secondary roles, ack < escalation time, an incident-command path and mandatory handoff. Then rerun the validator after changing the final assertion to `assert not issues, issues`. State what you would do about the four non-actionable pages.
Reliable services include a reliable human-response system.
Use the existing/local Prometheus tool container to lint a disposable Alertmanager-style routing file if amtool is available.
printf '%s\n' 'route:' ' receiver: primary-oncall' 'receivers:' '- name: primary-oncall' > /tmp/alertmanager.ymlcommand -v amtool >/dev/null && amtool check-config /tmp/alertmanager.yml || echo 'amtool not installed; review syntax manually'Three concept checks plus one scenario check.
It defines durable owners, time bounds, fallback paths and conditions for broader incident coordination.
Excessive or non-actionable pages degrade responder performance and reveal alerting or system-design work that should be fixed.
Active operational context such as incidents, mitigations, risky changes, suppressed alerts and pending actions.
Operational readiness: the on-call role, access model and runbook were not aligned with the actions required to restore service.
Progress is saved in this browser immediately. When you sign in to My Learning, it can also sync across devices.
Attempt the core lab and knowledge checks before marking the module complete.