Downtime during upgrade — how long is the maintenance window?
Depends on your data volume and cutover strategy. The two patterns:
Blue-green cutover (zero-downtime): upgraded code runs on a parallel environment. Final data-sync, then DNS / load-balancer flip. Downtime: 0–30 seconds (just the DNS propagation tail). Cost: roughly 2x the hosting bill during cutover prep (~1 week). Recommended for stores above $2M annual GMV.
In-place upgrade (planned downtime): upgrade is run on production directly. Downtime: 30 minutes to 4 hours depending on data volume:
- 1k SKUs / 10k orders/yr: 30–60 minutes.
- 10k SKUs / 100k orders/yr: 1–2 hours.
- 100k SKUs / 1M orders/yr: 3–5 hours.
- 500k SKUs / multi-region: 6–10 hours — do blue-green instead.
The downtime breakdown for in-place is mostly setup:upgrade (data patches running) + reindex + cache warm-up. Database migrations run in parallel where possible.
I always recommend running the upgrade dry-run on staging at production-data scale to measure exact timings before scheduling the maintenance window. Surprise reindex times are the #1 cause of overrun maintenance windows.