Skip to content
AlertPing

Playbooks

On-call rotation best practices that keep engineers sane

| Playbooks | 8 min read

On-call rotation best practices come down to protecting people from noise. The sustainable teams run one-week rotations with a clear primary and secondary, escalate automatically when a page is not acknowledged, keep alerts high-signal so 3am pages are real, write runbooks for the common failures, and pay engineers for the disruption. A rotation that wakes people for false alarms burns them out and gets quietly ignored, which is worse than no rotation at all.

On-call is where reliability meets human cost. Get it right and outages get handled fast by someone who knows what to do. Get it wrong and you get alert fatigue, ignored pages, and your best engineers updating their resumes. The difference is rarely the tooling. It is a handful of practices that treat the people carrying the pager as the scarce resource they are.

What is an on-call rotation?

An on-call rotation is a schedule that decides who is responsible for responding to production alerts at any given time. Instead of everyone being woken by every incident, or nobody feeling responsible, one person holds the pager for a defined window and hands it off cleanly at the end. A good rotation names a primary responder, a secondary as backup, and an escalation path to a lead or manager when a page goes unanswered.

On-call rotation best practices

Keep rotations short and predictable

A week is the common sweet spot: long enough to build context on what is happening, short enough that the disruption ends before it grinds someone down. Publish the schedule weeks ahead so people can plan life around it, and never surprise someone into a shift. Predictability is half of what makes on-call bearable.

Always have a secondary and an escalation path

The primary responder will sometimes miss a page: bad signal, deep sleep, a dead phone. A rotation without a backup is a single point of failure pointed at your worst moments. Configure automatic escalation so that if the primary does not acknowledge within a few minutes, the alert moves to the secondary, and then to a lead. Getting the right alert to the right person quickly is its own discipline, the same way routing each request to the person who can actually handle it keeps work from falling through the cracks in the rest of the business.

Protect the pager from noise

This is the practice that matters most. Every alert that pages a human at night must be real, urgent, and actionable. If it is not all three, it should be an email, a dashboard, or nothing. Alert fatigue is the slow killer of on-call: once people learn that most pages are false, they stop trusting the ones that are real. Tune thresholds, delete flapping alerts, and confirm outages before paging. A monitor that re-checks a failure from multiple regions before it wakes anyone cuts a huge share of false pages on its own.

alertping

Fewer false pages, honest escalation

AlertPing confirms every failure from a second region before it pages you, then escalates on the Team plan if the first responder does not answer. Real alerts reach a human in under a minute, and the flaky ones never fire. SMS on every plan.

Write runbooks for the common failures

A page at 3am is not the time to reverse-engineer how the payment queue works. For each alert that can fire, write a short runbook: what it means, how to confirm it, the first three things to try, and who to escalate to. Our runbook template lays out those sections so you are filling in blanks rather than inventing a format. Link the runbook directly from the alert so the responder is one click from knowing what to do. This is what turns a junior engineer's first on-call week from terrifying into merely tiring.

Make handoffs explicit

When the rotation changes, the outgoing person should hand over anything still smoldering: an incident that is resolved but not root-caused, a flaky service being watched, a deploy to keep an eye on. A five-minute handoff message prevents the incoming responder from being blindsided by context they never received.

Compensate people for carrying the pager

On-call is real work that intrudes on evenings, weekends and sleep. Teams that pay for it, whether a stipend, time off in lieu, or both, keep people willing to do it and signal that the disruption is acknowledged. Teams that treat it as a free expectation build resentment and turnover. This is a retention issue disguised as a scheduling one.

The tooling has a cost too, and it scales with the rotation, because the big paging platforms bill per responder. Before you add everyone to the schedule, check what PagerDuty costs per user and what Opsgenie costs per user, since a rotation of eight people can cost more in seats than the monitoring that triggers it.

How long should an on-call shift be?

For most teams, one week is the right length, with a clear handoff at a fixed time and day. Shorter shifts like 24 hours mean constant handoffs and never enough context; longer shifts like two weeks or a month wear people down and stretch the recovery afterward. If your incident volume is high, a shorter primary window with a longer secondary can spread the load. The right answer is whatever lets people fully switch off when they are not holding the pager.

On-call and your SLA

On-call exists to protect a promise. If you have committed to an uptime SLA, your rotation is the human half of meeting it: monitoring detects and confirms the outage, and the rotation makes sure a person who can fix it is reachable in minutes. The two are one system. A fast detection pipeline feeding a slow, unclear rotation still blows the SLA, and a sharp rotation getting paged late by weak monitoring does too. The combined number the two produce is your MTTR, which is the honest scoreboard for whether the rotation is working.

The through-line of every practice here is the same: on-call works when it respects the people doing it. Cut the noise, share the load, write things down, and pay for the disruption, and the pager becomes a manageable part of the job instead of the reason people leave.

keep reading

More from the blog

· Comparisons

Dynatrace synthetic monitoring pricing and what HTTP and browser monitors cost per month

8 min read ▸

· Comparisons

CloudWatch Synthetics pricing and what a canary costs per URL, per interval and per Region

8 min read ▸

· Comparisons

OpManager vs WhatsUp Gold pricing for 50 to 1,000 devices, per edition and per add-on

8 min read ▸

· Comparisons

Site24x7 vs PRTG pricing for 50 to 1,000 network devices, with and without add-ons

8 min read ▸

· Comparisons

OpManager pricing 2026 and what ManageEngine OpManager costs per device, per edition and per add-on

9 min read ▸

· Comparisons

Splunk On-Call pricing and cost per user from the published $5 rate to a yearly bill

7 min read ▸

· Comparisons

Rootly pricing and Rootly cost per user for Incident Response and On-Call

7 min read ▸

· Comparisons

FireHydrant pricing and what FireHydrant costs per responder after Freshworks

8 min read ▸

· Comparisons

Zabbix pricing and Zabbix Cloud pricing by tier with the real Zabbix cost per year

8 min read ▸

· Comparisons

Checkmk pricing 2026 and Checkmk cost per host for Pro, Ultimate and Cloud

8 min read ▸

· Comparisons

Nagios XI pricing and Nagios license cost per node, renewal included

8 min read ▸

· Comparisons

incident.io pricing and incident.io cost per user for response and on-call seats

8 min read ▸

· Comparisons

Datadog On-Call pricing vs PagerDuty cost per seat for 4 to 30 person rotations

8 min read ▸

· Comparisons

Datadog On-Call pricing and what a paging seat costs next to PagerDuty and Splunk On-Call

7 min read ▸

· Comparisons

LogicMonitor vs PRTG pricing for a 100 device network, per device against per sensor

7 min read ▸

· Comparisons

SolarWinds alternatives and competitors priced on one estate, from PRTG and LogicMonitor to Datadog

8 min read ▸

· Comparisons

LogicMonitor competitors and alternatives with Datadog, Dynatrace, New Relic, SolarWinds and PRTG priced on one estate

8 min read ▸

· Comparisons

SolarWinds pricing 2026 and how much SolarWinds costs per node, per module and per year

8 min read ▸

· Comparisons

LogicMonitor pricing 2026 and how much LogicMonitor costs per Hybrid Unit, per package and per year

8 min read ▸

· Comparisons

WhatsUp Gold pricing 2026 and how much WhatsUp Gold costs per device, per edition and per year

8 min read ▸

· Comparisons

Cronitor pricing 2026 and how much Cronitor costs per monitor, per user and per year

8 min read ▸

· Comparisons

Hyperping pricing 2026 and how much Hyperping costs per plan, per seat and per monitor

8 min read ▸

· Comparisons

Uptime.com pricing 2026 and how much Uptime.com costs per tier, per check and per year

8 min read ▸

· Comparisons

StatusCake pricing 2026 and how much StatusCake costs per plan, per monitor and per year

8 min read ▸

· Comparisons

PRTG pricing 2026 and what PRTG Network Monitor costs per sensor, per device and hosted

9 min read ▸

· Comparisons

New Relic Synthetics pricing 2026 and what synthetic checks cost per check, per edition and per month

9 min read ▸

· Comparisons

Sentry pricing 2026 and what Sentry costs per plan, per event and per monitor

9 min read ▸

· Comparisons

Checkly pricing 2026 and how much Checkly costs per check run, module by module

9 min read ▸

· Comparisons

Grafana Cloud pricing 2026 and how much Grafana Cloud costs, meter by meter

10 min read ▸

· Comparisons

Statuspage pricing and Atlassian Statuspage costs per subscriber for public and private pages

9 min read ▸

· Comparisons

Opsgenie pricing 2026 and how much Opsgenie costs, plus what you pay to replace it

8 min read ▸

· Comparisons

PagerDuty pricing 2026 and how much PagerDuty costs per user, per plan and per year

8 min read ▸

· Comparisons

Pingdom pricing 2026 and how much Pingdom costs per check, per plan and per year

8 min read ▸

· Comparisons

Uptime monitoring software to pair with Datadog, New Relic or Dynatrace

8 min read ▸

· Comparisons

How much does Splunk Observability Cloud cost? Hosts, editions and synthetic monitoring

8 min read ▸

· Comparisons

AppDynamics pricing 2026 and how much AppDynamics costs, from license cost per vCPU to synthetics

8 min read ▸

· Comparisons

Dynatrace pricing 2026 and how much Dynatrace costs for hosts, synthetic monitoring and log ingest

8 min read ▸

· Comparisons

How much does New Relic cost? Users, data ingest and synthetic checks

9 min read ▸

· Comparisons

Datadog synthetic monitoring pricing and what synthetics really cost per test run

9 min read ▸

· Guides

Uptime guarantee vs uptime monitoring and why your host reports 99.9% when your site was down

9 min read ▸

· Guides

Cloudflare uptime monitoring with health checks, origin monitoring and the blind spots behind the proxy

11 min read ▸

· Comparisons

Status page pricing and what a hosted status page actually costs in 2026

8 min read ▸

· Guides

API monitoring best practices on what to check, how often and how to keep alerts worth answering

10 min read ▸

· Guides

SSL certificate 200 days as the new validity limit and the 47-day lifetime coming next

9 min read ▸

· Guides

SSL certificate expired? What happens and how to fix it

8 min read ▸

· Guides

How often should you check website uptime?

7 min read ▸

· SLAs

Error budget formula, burn rate alerts and the policy that makes it work

11 min read ▸

· Playbooks

Runbook template for incident response that gets used

8 min read ▸

· Guides

What causes website downtime, and how to catch each cause

8 min read ▸

· Playbooks

Incident postmortem template that teams actually use

8 min read ▸

· SLAs

MTTR (mean time to recovery) explained and how to cut it

7 min read ▸

· Guides

Heartbeat monitoring explained and how it works

7 min read ▸

· Guides

Status page examples and what the good ones get right

7 min read ▸

· Guides

API uptime SLA service credit tiers, downtime limits and what a good one costs

8 min read ▸

· Guides

How to create a status page in 6 steps

7 min read ▸

· Guides

Uptime SLA report and what to include, with a worked example

9 min read ▸

· Guides

SLA service credits and how to claim what you get back

8 min read ▸

· Guides

Synthetic monitoring vs uptime monitoring with what each one costs and when you need it

8 min read ▸

· Guides

What is a status page?

6 min read ▸

· Guides

Status page vs uptime monitoring and what the difference is

6 min read ▸

· Guides

What does 99.9% uptime mean?

6 min read ▸

· Guides

What is five nines (99.999%) uptime?

8 min read ▸

· Guides

How to calculate uptime percentage

7 min read ▸

· Guides

SLA vs SLO vs SLI and what the difference is

7 min read ▸

· Guides

Downtime alerts and how to get notified by email, SMS or phone when your website goes down

7 min read ▸

· Guides

How to monitor an online store for downtime

9 min read ▸

· Guides

Why is my Shopify store unavailable?

8 min read ▸

· Comparisons

Better Stack pricing and how much Better Stack costs

8 min read ▸

· Comparisons

UptimeRobot pricing and how much UptimeRobot costs

7 min read ▸

· Comparisons

Site24x7 pricing and how much Site24x7 costs

8 min read ▸

· Guides

What is a dead man's switch in monitoring?

9 min read ▸

· Guides

Why is my WordPress site down?

9 min read ▸

· Guides

How to monitor WooCommerce uptime and checkout

8 min read ▸

· Guides

How to monitor an API for errors, not just uptime

8 min read ▸

· Economics

How much does website downtime cost?

8 min read ▸

· Guides

How to monitor a cron job

9 min read ▸

· Comparisons

Synthetic monitoring vs real user monitoring

8 min read ▸

· Benchmarks

What is a good uptime percentage?

7 min read ▸

· SLAs

99.99 uptime meaning for SLAs and the real cost of each nine

8 min read ▸

· Guides

How to monitor website uptime

8 min read ▸

· Playbooks

Incident communication examples, templates and outage communication best practices

9 min read ▸

Know the second your site goes down

Checks every 30 seconds, confirmed from a second region, alerts on every channel.

See pricing