Skip to content
New: managed cloud and dedicated servers — with dedicated support on every plan.See plans
Inventure Technologies

Incident response for web apps: runbooks, on-call and blameless post-mortems

A practical incident response process for small teams: severity levels, roles, the first 15 minutes, a runbook template and a blameless post-mortem.

IInventure Engineering Team6 min read
On this page

Good incident response comes down to four things written down before you need them: how you decide how serious something is, who does what in the first few minutes, an incident response runbook people can follow under stress, and a blameless process for making sure it's harder to happen twice. None of this requires an enterprise tool budget — it requires a shared document and the discipline to use it every time, not just when it's convenient.

This post gives you a starting severity table, roles, a first-15-minutes checklist, templates, and a post-mortem structure adapted from Google's Site Reliability Engineering book and PagerDuty's incident response documentation. It's part of the same operational picture as our guide to DevOps as a service, and pairs closely with monitoring vs observability for small teams — this is what happens after an alert fires.

Severity levels: not every incident is a P1#

A written scale stops two opposite failure modes: treating a typo as an emergency, and sitting on a real outage because nobody wants to be the one who "overreacts." PagerDuty's own documentation uses a five-level SEV scale; many teams use an equivalent four-level P1–P4 scale. The labels differ; the logic — match response effort to actual impact — doesn't.

Level

Definition

Response

P1 — Critical

Widespread outage, data loss, or security incident affecting most users

Page immediately, declare an incident, name an incident commander

P2 — Major

Significant feature broken or many users affected, no workaround

Page immediately, incident commander optional depending on scope

P3 — Minor

Partial degradation or an issue with a workaround, some users affected

Respond same business day; escalate if it worsens

P4 — Low

Cosmetic or trivial, no real user impact

Normal ticket queue, no page

Google's SRE book suggests declaring an incident (rather than just quietly fixing it) whenever you need a second team's help, the outage is customer-visible, or the problem is still unsolved after an hour of focused effort — useful tie-breakers for anything sitting near a P1/P2 boundary. If you're setting these thresholds against an actual SLA rather than a rule of thumb, see 99.9% vs 99.99% uptime for how much downtime each tier really allows before a P1 becomes a contractual problem as well as a technical one.

Roles: who does what#

Both Google's and PagerDuty's incident processes converge on the same small set of roles, which scale down fine for a small team — one person can hold more than one role, as long as everyone knows who holds what:

  • Incident commander — holds the overall picture, makes the calls, and coordinates rather than personally fixing the problem.
  • Operations/technical lead — the person (or people) actually making changes to systems during the incident.
  • Communications lead / scribe — owns the live timeline and sends updates, internal and external, so the people fixing the problem aren't also the ones answering "any update?" every ten minutes.

On a two- or three-person team, the incident commander and communications role can be the same person for a P3, but keep them separate for a P1 — the person driving the fix should not also be the one deciding whether to tell customers.

The first 15 minutes#

  1. Acknowledge the alert so the on-call system knows someone has it.
  2. Assess impact in a sentence: who is affected, and how badly.
  3. Assign severity using the table above, even provisionally — you can downgrade later.
  4. Name an incident commander out loud (or in the incident channel), especially if more than one person has joined.
  5. Start a live timeline — a shared document or channel, timestamped, starting now. This becomes the backbone of the post-mortem later.
  6. Send the first communication (see template below) even if the only news is "we're looking into it."
  7. Only then start deep technical investigation — with the commander tracking state, not just the first responder's head.

Communication templates#

A short template beats a blank page while people are stressed and the clock is running.

Initial update (aim for within 15 minutes of detection):

  • Status: Investigating
  • What we know: [the symptom in plain language, e.g. "some users are seeing errors when checking out"]
  • Impact: [who/what is affected, and roughly how many]
  • Next update by: [specific time, not "soon"]

Follow-up updates (on the cadence you promised):

  • Status: Investigating / Identified / Monitoring / Resolved
  • What's changed since the last update
  • Next update by: [specific time]

Resolution notice:

  • What happened, in plain language
  • When it started and when it was resolved
  • What you're doing to reduce the chance of a repeat (a one-line preview of the post-mortem's action items)

Incident response runbook template#

A runbook is only useful if someone under pressure can follow it without thinking hard. Write it as steps, and link it directly from the alert that fires:

  • Alert name and what it means in plain language
  • Likely causes, ordered by probability, not by how interesting they are
  • Checks to run first — exact commands, not "check the logs"
  • Known fixes for each likely cause, with the exact command or action
  • Escalation path — who to call and how, if the checks above don't resolve it
  • Blast radius — what this service affects downstream, so a responder knows what else to watch

Keep runbooks next to the code or infrastructure they describe, and treat a runbook that turned out to be wrong during an incident as a bug to fix immediately afterwards, not a one-off.

On-call hygiene for small teams#

Google's SRE book recommends at least eight engineers for a sustainable single-site 24/7 rotation, with on-call capped at around a quarter of anyone's time and a target of zero-to-few incidents per shift. Most small teams can't staff that, and pretending otherwise leads to burnout. Be explicit instead:

  • Agree realistic hours of coverage (business hours plus best-effort out of hours, for example) and say so in your own SLA rather than implying 24/7 coverage you can't actually deliver.
  • Keep rotations short and predictable — even two or three people can rotate weekly if the expectations are clear.
  • Write things down so on-call doesn't depend on one person's memory — a documented runbook is what lets a rotation of two survive one person being unreachable.
  • Track how often anyone actually gets paged — a component paging daily is a signal to fix the underlying problem, not evidence that on-call is working.

Blameless post-mortem template#

Google's SRE book frames the goal plainly: understand the contributing causes well enough to prevent a repeat, without indicting an individual or team. Their example postmortem uses this structure, which works well as a starting template:

  • Summary — a few sentences, what happened and the outcome
  • Impact — who was affected, for how long, and how
  • Root causes — the contributing factors, plural; incidents rarely have exactly one cause
  • Trigger — what specifically set it off
  • Detection — how you found out (an alert, a customer report — the gap between those two is itself worth discussing)
  • Resolution — what actually fixed it
  • Timeline — timestamped, pulled from the live document you started in the first 15 minutes
  • Action items — specific, owned, dated
  • Lessons learned — what went well, what didn't, and what was down to luck

Decide your triggers for writing one in advance — for example, any customer-visible downtime, any data loss, or any incident needing manual intervention — so the decision isn't made in the moment by whoever would rather skip it.

Follow-up actions: the part most teams skip#

A post-mortem without completed action items is just a well-formatted description of a problem you're going to have again. Give every action item an owner and a date, track them the same way you track other work (not in a document nobody reopens), and review at the next post-mortem whether the last one's actions actually landed. If the same root cause shows up twice, that's a stronger signal than any dashboard that the follow-through step is the one being skipped.

What to do next#

If you don't yet have a written severity scale or a runbook for your most common alert, start there — both take under an hour and immediately make the next incident less chaotic than the last one. For monitoring that feeds a good incident response process, see monitoring vs observability for small teams, or see how we run monitoring and incident response as an ongoing service.

Frequently asked questions

What's the difference between P1, P2, P3 and P4 incidents?

They're severity levels ordered by user impact and urgency: P1 is a critical, widespread outage needing an immediate, all-hands response; P2 is a major problem affecting many users with no workaround; P3 is a partial or minor issue, often with a workaround; P4 is cosmetic or low-impact, handled as normal work. The exact labels vary by team — PagerDuty's own docs use SEV-1 through SEV-5 — but the logic of matching response effort to impact is the same.

Who should be the incident commander?

Whoever is best placed to coordinate, not necessarily the most senior engineer or the person fixing the problem. The incident commander tracks state and makes decisions; they don't need to be the one typing commands. On a small team this is often decided by who's available and calm, agreed as a policy before an incident, not during one.

How small can an on-call rotation be?

Google's SRE book suggests at least eight engineers for a sustainable 24/7 single-site rotation — a target most small teams won't hit. With two or three people, be explicit about the trade-off: shorter rotations, defined hours where possible, a clear escalation path, and honesty with customers about response times outside those hours, backed by a written runbook so on-call isn't solely dependent on one person's memory.

What makes a post-mortem 'blameless'?

It focuses on the contributing causes and system gaps that allowed an incident to happen — a missing alert, an untested rollback, unclear ownership — rather than on which person made a mistake. People act reasonably given the information they had at the time; the post-mortem's job is to change the system so the same incident is harder to repeat, not to assign fault.

Do small incidents need a post-mortem too?

Not every one, but decide the trigger in advance rather than case by case — for example, any customer-visible downtime, any data loss, or any incident where an engineer had to intervene manually. Writing this down ahead of time, as Google's SRE book recommends, means the decision to skip a post-mortem is never made to avoid an awkward conversation.

Sources

  1. Managing Incidents — Site Reliability Engineering (Google SRE Book) — accessed 18 September 2026
  2. Postmortem Culture: Learning from Failure — Site Reliability Engineering (Google SRE Book) — accessed 18 September 2026
  3. Example Postmortem — Site Reliability Engineering (Google SRE Book) — accessed 18 September 2026
  4. Being On-Call — Site Reliability Engineering (Google SRE Book) — accessed 18 September 2026
  5. PagerDuty Incident Response Documentation — accessed 18 September 2026
  6. Severity Levels — PagerDuty Incident Response Documentation — accessed 18 September 2026

Facts in this article were last checked on 18 September 2026.

I

Inventure Engineering Team

Engineers at Inventure Technologies who build, host and run software for clients in Nepal and Australia. We write about what we do every day.

Keep reading

Want engineers who handle this for you?

We build, host and run software for teams in Nepal and Australia — with dedicated support on every plan.