Restaurant traffic has one shape: nearly nothing until late afternoon, then a wall at dinner. Across time zones the wall rolls from east to west, and on Fridays it is taller. Averages are useless here; the only number that matters is the peak minute.
Scaling for the wall
Autoscaling reacts in minutes, but the dinner rush ramps in seconds. We stopped waiting for metrics and started scaling on the clock, warming capacity thirty minutes ahead of each region's rush.
- Pre-warm compute per time zone on a schedule.
- Cache menus at the edge, invalidated only on edit.
- Queue order submission so a slow POS never blocks checkout.
What we watch
We alert on p99 checkout latency during the rush window only. Outside it, the same latency would page someone for traffic that does not exist.
The result is boring dinners, which is exactly what a restaurant wants from its software.