Overview
An incident process answers three questions fast: how bad is this, who owns it, and what does everyone else need to know. Decide the answers before the page fires. The timings below are starting values for a small team; tune them to your SLAs and write them into the alerting tool.
Assign a severity the moment a page fires
Do not wait for the root cause. Severity describes impact, not confidence about the cause.
| Level | Definition | Response |
|---|---|---|
| SEV1 | Full outage, data loss, or security breach affecting all or most users | Page on-call; acknowledge within 5 minutes |
| SEV2 | Major feature broken or a significant user segment affected; service partly up | Page on-call; acknowledge within 15 minutes |
| SEV3 | Non-critical degradation, workaround exists | Ticket; triage in business hours; no page unless it escalates |
When unsure, round up. Downgrading a SEV2 is cheap; a “SEV3” that quietly lost revenue for an hour is not.
Codify escalation in the alerting tool
- Alert fires and pages the primary on-call (PagerDuty or equivalent).
- No acknowledgment within 10 minutes (SEV1) or 20 minutes (SEV2): the secondary is paged automatically.
- No acknowledgment within 30 minutes: the engineering manager is notified.
- SEV1 with data loss or a security event: notify the security lead and an executive sponsor in parallel with step 1.
Escalation that depends on someone remembering to ping a manager fails under pressure. Keep the rotation documented, with a named person at all times.
Open an incident channel and assign three roles
For every SEV1 and SEV2, open a dedicated channel named with the date and topic (#inc-2026-10-01-api-outage). Roles:
- Incident commander: owns the process, delegates tasks, drives decisions, and keeps updates on schedule. Not necessarily the most senior engineer, and not the one fixing it.
- Technical lead: owns the investigation and the fix.
- Comms lead: writes external updates and keeps the status page current.
Keep technical discussion apart from customer messaging. Post status updates every 15 minutes for SEV1 and 30 for SEV2, plus a final “resolved” note. Use a public status page (Statuspage, Instatus); customers should not learn about an outage from social media first.
Mitigate first, root-cause later
- Acknowledge the page and claim ownership in the channel so no one duplicates work.
- Assess scope: what is broken, for how many users, since when (observability).
- Communicate: one line in the channel and on the status page. “Investigating” beats silence.
- Mitigate by the fastest path: roll back the last deploy, flip a feature flag, redirect traffic, or restore from backup (hostinger-vps-backups, disaster-recovery).
- After users are unblocked, preserve logs and traces, then investigate (llm-observability for LLM features).
For SEV1 this order is fixed; a perfect diagnosis that arrives 45 minutes late is worse than a rollback.
Write a blameless postmortem within 48 hours
Every SEV1 and every escalated SEV2 gets one: blameless-postmortems.