Home › Blog › Frontier Lab Engineering — The On-Call Reality
Frontier Lab Engineering Practicum · Article 6 of 9 📟

The On-Call Reality: Monitoring, Alerts, and 2am Incidents

Article 5 covered the deepest, most specialized layer of the stack. This article covers the opposite end of the daily experience: what happens when any part of the system this series has described — a training job, a scheduler, a custom kernel — fails in production, at an hour when the person paged is rarely the person who wrote the code. Monitoring, alert design, incident response, and blameless postmortems, as they actually work at organizations that run large always-on systems.

FL
FrontierAGI Team

The Job Doesn't End When the Job Starts Training

Every article in this series so far has focused on getting a system working: writing the code, requesting the compute, debugging the failure, optimizing the kernel. None of that guarantees the system keeps working unattended, at 2am, when nobody is watching a terminal. Google's Site Reliability Engineering book — already cited in Article 1 of this series for its monorepo and tooling context — devotes an entire section to exactly this problem: how do you build confidence that a system will either work correctly while unattended, or fail loudly enough that a human finds out in time to matter. On-call is the organizational answer to that question, and it is one of the least-discussed but most universal parts of working at any lab or company running production systems, training or otherwise.

3 Questions every good alert must answer: what broke, how badly, what to do
0 Blame assigned in a properly-run postmortem — by design, not by accident
1 Runbook per known failure mode is the realistic goal — not zero incidents
Part 1 — What Actually Gets Monitored

Beyond "Is It Running"

A naive monitoring setup checks whether a process is alive. A real one, following the SRE book's framing of the "four golden signals" (latency, traffic, errors, saturation), checks whether the system is doing its job correctly and efficiently — which for a training job maps directly onto concepts this series has already built: Article 4's Model FLOPs Utilization (is the GPU doing useful work, not just running), Article 3's loss-curve sanity checks (is training actually converging, not just producing numbers), and basic infrastructure health (disk, network, node failures). The uncomfortable truth many new engineers learn the hard way is that a job can be "alive" by every naive check while being completely useless by every meaningful one — the exact "busy but starved" pattern from Article 4's Scenario A, except now happening silently, unattended, overnight.

Part 2 — Alert Design and Alert Fatigue

The Alert That Cried Wolf

Rob Ewaschuk's widely-circulated internal Google document, later published as the SRE book's "Monitoring Distributed Systems" chapter, states the core alerting principle plainly: every alert that pages a human should require immediate human action, and every alert that doesn't should not page anyone. Violating this in either direction has a real cost. Too many low-value alerts trains the on-call engineer to reflexively dismiss pages — the alert fatigue problem — so that the one alert that actually matters gets the same tired, skeptical response as the hundred before it that didn't. Too few alerts, or alerts tuned only to catastrophic failure, means smaller but still-costly problems (a slow leak in GPU utilization, a data pipeline quietly dropping a fraction of batches) go undetected for days.

Alert TypeWhen It FiresRisk If Miscalibrated
Page (wakes someone up)Only for issues requiring immediate actionToo sensitive → alert fatigue; too loose → real outages missed
Ticket / async notificationIssues needing attention, not urgencyTreated as noise if the queue grows unbounded and unreviewed
Dashboard-only signalContext for diagnosing an active incidentUseless if nobody looks until something else already paged
"If a page doesn't require a human to act right now, it shouldn't be a page." — the alerting discipline behind Google's SRE practice
Part 3 — Anatomy of an Incident

From Page to Resolution

A real incident, however dramatic it feels at 2am, tends to follow a repeatable shape: acknowledge the page, assess severity (is this degraded but tolerable, or actively losing data/progress), mitigate first and root-cause later (restore service, even imperfectly, before fully understanding why it broke — directly echoing Article 3's triage instinct of shrinking the problem before solving it completely), and only then investigate the underlying cause once the immediate fire is out. A runbook — a written, specific procedure for a known failure mode, distinct from general documentation — exists precisely so this sequence doesn't depend on the on-call engineer's memory or the original author being awake and reachable; PagerDuty's widely-used Incident Response documentation formalizes this same shape as an industry-standard practice, not something unique to any one company.

Page fires Assess severity Mitigate first (runbook) Root-cause + postmortem
Mitigate before you fully understand — the same "stop the bleeding first" instinct from Article 3's debugging triage.
Part 4 — Blameless Postmortems

Why "Blameless" Isn't Just a Nice Word

John Allspaw's influential Etsy engineering post, "Blameless PostMortems and a Just Culture" (2012), makes the case that assigning individual blame after an incident actively makes future incidents more likely, not less — because engineers who fear blame learn to hide near-misses and avoid touching risky systems, rather than surfacing the information that would actually prevent a repeat. A blameless postmortem instead treats the incident as a symptom of the system (the alert that didn't fire soon enough, the runbook that didn't cover this case, the monitoring gap that let it go undetected) rather than of the individual who happened to be on call or who wrote the change that triggered it. This directly extends Article 2 of this series' point about production training code: a bug that reaches production is usually evidence of a missing safeguard in the system, not solely a mistake by whoever wrote the line.

1
Name the timeline, not the person. What happened, in what order, is the useful record — "who caused it" rarely is.
2
Identify the systemic gap. What would have caught this sooner or prevented it entirely, at the process or tooling level?
3
Turn the fix into a concrete follow-up — a new alert, a runbook update, a safeguard — not just a lesson learned and forgotten.
Part 5 — Sustainable On-Call

The Human Cost Nobody Puts on a Roadmap

The SRE book is explicit that on-call load itself is a system health metric worth tracking — a rotation that pages someone every night is not a sustainable steady state, it's a signal that either monitoring is miscalibrated (Part 2) or the underlying system has an unresolved reliability problem. Reasonable rotation size, defined escalation paths so no single person is the only one who can respond, and treating a high page volume as an engineering priority rather than an accepted cost of doing business are what separate teams that retain engineers from teams that burn them out.

Part 6 — Real Scenarios

Real Scenario Walkthroughs

😴Scenario A — The Alert Nobody Trusted Anymore
A GPU-utilization alert had been miscalibrated for months, firing several times a week for transient, self-resolving dips — the alert-fatigue failure mode from Part 2. When a real, sustained utilization collapse happened (the same "starved job" pattern as Article 4's Scenario A, but now unattended overnight), the on-call engineer dismissed the page reflexively, and the job ran at a fraction of its useful throughput for six hours before anyone looked at the dashboard directly.
The lesson: an alert's credibility is a resource that has to be actively protected — a threshold that's wrong in the "too sensitive" direction is not a safe default, it actively erodes the system's ability to warn anyone about anything.
📋Scenario B — A Postmortem That Named Names
After an incident caused by a config change (echoing Article 2's configuration-composition theme), an early draft postmortem framed the write-up around "the engineer who pushed the change" rather than the missing validation step that should have caught the error automatically. The team's more senior engineer rewrote it before circulation, reframing it entirely around the missing safeguard, per Part 4's blameless discipline — and the actual fix that shipped was a config validator, not a warning to be more careful.
The lesson: a postmortem's value is measured by the systemic fix it produces, and a blame-framed draft tends to produce "be more careful" instead of an actual engineering change.

Readiness Checklist

1
Can you explain why an alert that doesn't require immediate human action shouldn't page anyone?
2
Given an active incident, can you explain why mitigating first and root-causing later is usually the right order?
3
Can you explain, in your own words, why a blameless postmortem produces better long-term outcomes than an individually-blamed one?
4
Would you recognize on-call burnout as an engineering signal worth escalating, rather than an accepted cost of the job?

⚠️ What's Missing or Uncertain

On-call structure, tooling, and culture vary enormously between organizations. Some labs run heavy formal on-call rotations with dedicated infrastructure teams; smaller teams often share informal responsibility across everyone who touches the system. The principles here (alert design discipline, mitigate-first response, blameless postmortems) are durable and broadly cited; the specific rotation size, tooling, and formality you'll encounter will differ by team.

Where This Series Goes Next

Article 7 moves from responding to your own team's incidents to a different daily friction: working with — and around — other teams' code, covering shared library ownership, cross-team dependencies, and the etiquette of changing code you don't fully understand the history of.

🎥 Recommended Videos

🧭 Closing — Reliability Is a Practice, Not an Accident

🎯 The Bottom Line
A system that runs correctly while someone is watching it isn't reliable — a system that fails loudly and recoverably while nobody is watching is. Well-calibrated alerts, a mitigate-first incident response discipline, and blameless postmortems that turn failures into systemic fixes are what turn on-call from a dreaded, unsustainable burden into the actual mechanism by which a team's reliability improves over time. The pager exists because the alternative — silent, undetected failure — is worse, not because on-call itself is the goal.