ET
EXACT TIME NOW

✍️ Article

Best Time to Release Software Updates Across Timezones

EExact Time Editor
San Francisco, California

Best Time to Release Software Updates Across Timezones

There's a piece of operations folklore that does roughly half of all production-incident postmortems' work for them: never ship on a Friday afternoon. The other half is told by Google's old "TGIF deploy" sign at the SRE office, which read "Today is Going to be Interesting, Friend." The point of both is the same — your release timing is not a neutral choice. Pick badly and you'll spend the weekend fighting fires; pick well and the worst-case rollback finishes inside an hour, with the team awake, caffeinated, and not yet annoyed.

For globally distributed teams the question gets harder because there's no single hour at which all your support people are at their desks. So you have to optimise: when do the people you'd actually want awake during an incident have the best chance of being awake?

The default answer: 08:00–09:00 Pacific, Tuesday or Wednesday

Pick a Tuesday or Wednesday morning on the US West Coast as your default release window and most of the other constraints fall into line:

  • Pacific time: the engineering team that wrote the code is just arriving at desks. If something goes wrong, the people best positioned to roll it back are awake and unhurried.
  • 08:00 Pacific = 11:00 Eastern: your East Coast support has been online for two hours, has cleared overnight tickets, and is at peak attention.
  • = 16:00 London: your European support has two or three useful hours of workday remaining — enough to catch issues but not enough to be exhausted.
  • = ~00:00 Singapore / 01:00 Sydney: Asia is overnight. That's intentional — your APAC users hit the new release at their morning, after eight hours of bake-in by the rest of the world.

Tuesdays and Wednesdays have a measured ~40% lower production-issue rate than Mondays or Fridays in published DevOps research. Mondays underperform because the team is processing weekend backlog and context-switching cost is at its weekly peak; Fridays underperform because attention drops and the rollback window collides with the weekend.

Why not Thursday morning?

It's a reasonable second choice but slightly worse than Tuesday or Wednesday. If a release has an issue that doesn't surface until 24 hours in (and many do — caching layers, scheduled jobs, weekly cron triggers), a Thursday release means the issue manifests on Friday. You don't want issues manifesting on Friday.

When to break the rule

Three situations override the Tuesday/Wednesday-morning-Pacific default:

Security patches go out immediately. The rollback risk of a controlled deployment with a small bug is almost always smaller than the exploitation risk of a known-unpatched vulnerability sitting in production. Time-of-day matters less than time-since-disclosure.

Marketing-coordinated launches go out when marketing says. If your release is tied to a press embargo, the embargo wins. Brief your support and engineering teams for the unusual schedule and add an on-call rotation for the launch window.

Financial products avoid trading hours. If your platform processes trades, payments, or financial data, never deploy during the relevant market's open. For most cases that means before 09:00 ET or after 16:00 ET. The cost of a brief outage during open trading is asymmetric — recovering from one is much more expensive than recovering from the same outage at 03:00.

The pre-deploy checklist that actually matters

Most production incidents on well-run teams trace to one of five preventable causes. A short checklist covers them:

  1. Rollback plan documented, tested, and known to the on-call. Not "we have one in the runbook"; tested in the last quarter on a non-production environment, with the exact commands written down.
  2. Database migration runs reviewed by someone other than the author. Schema changes account for a wildly disproportionate share of post-deploy disasters.
  3. Feature flags set to off (or canary at 1%). If a major user-facing change is in the release, gate it behind a flag and ramp gradually. The flag is the rollback.
  4. Status page updated automatically when deploy starts and finishes. Users hate finding out from Twitter.
  5. Customer-comms template ready. Pre-written, pre-approved, with placeholders for the specifics. If you need it, you need it in the next five minutes.

What to do in the first 2 hours after deploy

This is the high-stakes window where most issues that will show up actually do.

  • Engineering watches error rates, latency p95/p99, and key business-metric dashboards. Not just for absolute thresholds — for unusual shapes. A 5% bump in a normally-stable metric is a signal even if it's still under the alarm threshold.
  • Support is briefed on the release notes and has the rollback ETA. They're the early-warning system; if users are reporting a thing, they'll know first.
  • The deploy lead doesn't context-switch. No meetings, no design reviews, no nothing for two hours. Eyes on dashboards.

At the two-hour mark, if nothing has fired, the risk drops by an order of magnitude and you can return to normal work. Schedule the post-release retrospective for 15:00 Pacific the same day — fresh memory, full team available.

Announcing maintenance windows

If the release requires user-visible downtime — even a few minutes — communicate it at least 72 hours in advance via in-app banner, email to admins, and status-page notice. Update the status page every 15 minutes during the actual window. Most users will tolerate planned downtime that's communicated well; almost none will tolerate unplanned downtime, and the difference is entirely about communication, not duration.

The summary

Tuesday or Wednesday, 08:00–09:00 Pacific, with rollback tested and the team caffeinated. Override only for security patches (deploy immediately), marketing launches (deploy when marketing says), and financial products (avoid trading hours). Watch the first two hours hard. Don't deploy on Fridays.


Related guides:

#software-deployment#release-timing#devops#global-operations#production-releases#uptime