◆ Chapter 7.1 How to design OnCall

Weekly rotations: a worked example

This is a worked example of one option from Chapter 7: Choosing an on-call pattern. Here we choose weekly assignments, with a primary and a different secondary available at all times. At multiple sites, the same people own their local windows for a week, but responsibility passes between sites every day.

For more background, I recommend Chapter 14 on on-call in The Practice of Cloud System Administration 1.

Assumptions and hours

The schedules below use deliberately small rosters to show the arithmetic. They are not recommended staffing levels. The comparison in Chapter 7 explains the need for additional capacity and the distinction between standby and active incident work.

We use a seven-day week, two simultaneous roles, and an eight-hour local working day from Monday to Friday. Shift windows are adjacent: an ending hour belongs to the next shift. Handover overlap would require extra coverage time.

Weekly assignment1 site2 sites3 sites
Service coverage (hours/week)168168168
Simultaneous roles (primary + secondary)222
Total standby across both roles (person-hours/week)336336336
Daily window owned by each site (hours)24128
Standby for one assigned person that week (hours)1688456
Coverage handovers per role1/week2/day3/day
People per site in the example843
Total people in the example889
Cycle to serve once in each role (weeks)843
Average combined standby per person (hours/week over the cycle)424237.3
Combined standby as a share of calendar time25%25%22.2%
Outside working hours on an assigned weekday, if the window includes a full local workday (hours)1640
Weekend standby for one assigned person (hours across both days)482416
Total outside working hours for one assigned week under that assumption (hours)1284416

The last three rows assume each site’s window includes its full eight-hour workday. The Singapore/London/San Francisco combination below covers the day using these winter office hours. Replacing London with Paris creates an overlap and a gap, so that combination needs adjusted shifts. Weekends still need coverage even when all shifts are in local daytime.

One site

Four-week excerpt1w2w3w4w
PrimaryAnnBenCaraDan
SecondaryEveFinnGinaHank

This table shows the first four weeks of an eight-week cycle. In weeks 5–8, repeat the names with the primary and secondary roles swapped. Each person then serves once in each role per cycle. I don’t recommend back-to-back shifts, as many teams do — it’s not healthy. These small rosters leave little room for absence. You need extra capacity for vacations, sick days, and recovery after incidents; see the staffing guidance in Chapter 7.

Two sites

Four-week excerpt1w2w3w4w
Site 1 – PrimaryAnnEveGinaCara
Site 1 – SecondaryCaraAnnEveGina
Site 2 – PrimaryBenFinnHankDan
Site 2 – SecondaryDanBenFinnHank

We have 8 people rotating every 4 weeks. The SRE book recommends 6 people per site, and I agree. This calculation is a bare minimum — I recommend at least 6 people per site.

Three sites

Three-week cycle, then repeat1w2w3w4w = 1w
Site 1 – PrimaryAnnDanGinaAnn
Site 1 – SecondaryGinaAnnDanGina
Site 2 – PrimaryBenEveHankBen
Site 2 – SecondaryHankBenEveHank
Site 3 – PrimaryCaraFinnIvyCara
Site 3 – SecondaryIvyCaraFinnIvy

We have 9 people rotating every 3 weeks. Still, I would go with 6 people per site.

Many other scenarios you can find here in PagerDuty documentation. I recommend looking into it for inspiration.

Time Zones

The last important consideration for multi-site teams is time zones. You often can’t choose where your teams are located. If you can, try to make it work for on-call, which needs enough time zone distance for shift coverage, but not so much that it creates communication gaps. Finding the optimal balance is hard.

An 8-hour time zone difference works well from my perspective. I show an example with a few time zones and what three-site and two-site coverage looks like.

I worked with US (PST) and EU teams — the common overlap is very limited at 2-3 hours, but for two-site shifts it works well. If you need a third location, looking east to Singapore or Thailand is a good option.

Adding India to a European team adds relatively little daytime coverage: Mumbai is 4.5 hours ahead of Paris in winter and 3.5 hours in summer. Whether a US/Europe/India arrangement works depends on the actual shift windows, not just the number of sites.

Note: the offsets below are for winter (standard time). During summer daylight saving time (DST) most of these shift by an hour, so the overlap windows move accordingly.

Working hours 09:00–17:00, mapped against UTC. Each row represents one hour starting at the displayed time; 17:00 is outside the workday. A cell shows the local starting hour when a site is working.

UTCSingapore (UTC+8)London (UTC)Paris (UTC+1)SF (PST, UTC−8)
0016
0109
0210
0311
0412
0513
0614
0715
081609
090910
101011
111112
121213
131314
141415
151516
1616
1709
1810
1911
2012
2113
2214
2315

Singapore, London, and San Francisco cover all 24 hours with these winter office hours. Replacing London with Paris leaves 16:00–17:00 UTC uncovered and duplicates 08:00–09:00 UTC. Move the shift boundaries or arrange extra coverage; adding a third office alone does not guarantee 24/7 coverage. Recheck the arrangement during daylight saving time, including the weeks when Europe and the US change clocks on different dates.

Two-site twelve-hour shifts, mapped against UTC: London covers 05:00–17:00 UTC and San Francisco covers 17:00–05:00 UTC. In winter those are 05:00–17:00 London time and 09:00–21:00 San Francisco time. Each window includes the full local workday plus four hours outside it.

UTCLondon (UTC)SF (PST, UTC−8)
0016
0117
0218
0319
0420
0505
0606
0707
0808
0909
1010
1111
1212
1313
1414
1515
1616
1709
1810
1911
2012
2113
2214
2315

  1. T. A. Limoncelli, S. R. Chalup, and C. J. Hogan, The Practice of Cloud System Administration: Designing and Operating Large Distributed Systems, Volume 2: Addison-Wesley, 2014. - https://learning.oreilly.com/library/view/practice-of-cloud/9780133478549/title.html ↩︎

Last updated: 2026.10.02