ExplainerJune 30, 2026·5 min read

The 4AM Window: Why Planned Maintenance Fails and Causes Daytime Outages

Why companies schedule maintenance at 4AM yet users still see outages at noon. What engineers won't tell you about the timezone math that breaks systems.

Every infrastructure team knows the unspoken rule: schedule maintenance windows when users are asleep. For US-based companies, that's typically 4-6AM Eastern. It sounds logical. It rarely works. The dirty secret is that this scheduling approach was designed for a different internet—one where your entire user base lived in one timezone and infrastructure sat in one data center. Modern systems don't work that way, but the 4AM maintenance window persists anyway, creating a false sense of safety that evaporates the moment deployment begins.

The Timezone Arbitrage Problem

When a company says "maintenance window: 4-6AM ET," they're actually saying "this will disrupt someone's business hours." A 4AM East Coast window is 1AM Pacific (still reasonable) but 9AM in London and 5PM in Mumbai. Global SaaS companies face an impossible equation: there is no time that's simultaneously off-peak everywhere. Most companies solve this by lying to themselves—they pick a window that's convenient for their engineering team's location and call it "low-traffic hours." The result: planned maintenance that was supposed to affect 2% of users actually hits 30% because the math was never done. WebsiteDown users consistently report outages during these windows in regions the company didn't even consider.

Why the Deployment Still Breaks at Noon

Here's the non-obvious part: the actual failure usually isn't during the 4AM window. It's the rollback. A deployment starts cleanly at 4AM. By 6AM, monitoring catches something wrong—maybe not catastrophic, but wrong enough to trigger an automated rollback. The rollback itself is rarely tested with production load. So at 12:47PM, when peak traffic hits and the system tries to serve requests with half-migrated data or stale cache, the rollback fails spectacularly. The 4AM maintenance window was just the fuse. The explosion happens 8 hours later when the attempted fix meets reality. This is why you see "resolved" maintenance posts followed by "we're investigating additional issues" four hours later.

The Load Balancer Assumption That Breaks Everything

Most teams assume that draining traffic from a server, updating it, and bringing it back online is instantaneous and invisible. In practice, connection drains timeout, cached sessions evaporate, and DNS propagation doesn't care about your maintenance window. A common failure: the team updates the primary database during the 4AM window successfully. But read replicas, which were supposed to be read-only, have lingering writes in their replication queues. By 9AM, when the application scales up to handle morning load, it discovers the replicas are inconsistent. The application doesn't know how to handle this state, so it fails open—or worse, fails closed and takes the whole service down. The 4AM maintenance was flawless. The system design couldn't survive it.

What You Should Actually Do

Stop scheduling maintenance at arbitrary off-peak times and start scheduling it when you can actually monitor the fallout. The best window is 15 minutes before your engineering team's daily standup, even if that's 10AM. Yes, you'll hit some users. But your entire team will be awake, alert, and able to respond in real-time instead of discovering problems 6 hours later via automated alerts. Second, test your rollback procedure under production load. Not on a staging environment—on production, during a controlled test. If your rollback takes 4 minutes but your connection pool timeout is 30 seconds, you have a problem that will definitely manifest during an actual incident. Finally, stop calling it a "maintenance window." Call it what it is: a controlled deployment with a risk window. This semantic shift forces you to actually quantify and communicate the risk instead of hiding behind the assumption that 4AM is magic.

Down checker guides
How to tell whether a site is actually down — and what each layer of the network can fail at.
See all down checker guides posts →
Run a status check
← Older
T-Mobile Down, or Is It Just Your Phone? How to Tell in Two Minutes