← All work

Production win

Schedule-based Scaling for School Traffic

~20% infrastructure cost reduction

Telematics / Live TrackingPlatform Performance / Reliability

Architecture diagram

Schedule-based school traffic scaling

Predictable school traffic windows drive pre-warmed capacity, while reactive metrics remain a safety net.

School schedules

Known morning and afternoon peaks

Expected demand

>

CloudWatch

Traffic and capacity metrics

Policies

>

AWS Auto Scaling

Scheduled scale-out before peaks

Capacity step

>

ECS services

Pre-warmed containers

Responsive app

>

Parent traffic

800-1000 concurrent users at peak

Post-peak downscale

>

Cost guardrail

Scale down outside windows

  • Scaling happened before demand appeared fully in metrics.
  • Reactive autoscaling still covered traffic outside the usual pattern.
  • The result reduced infrastructure cost without lowering peak-window reliability.

This one was less glamorous, but honestly very satisfying. The traffic pattern on the school tracking platform was not random at all. Parents showed up in clusters around school start and end times. That created very real concurrency spikes, often in the 800 to 1000 user range, but only in those predictable windows.

If we provisioned for peak all day, we overpaid. If we provisioned for the average, we degraded the experience exactly when trust mattered most. Reactive autoscaling helped some, but not enough on its own. The system knew the peaks were coming before the metrics fully showed them.

So we leaned into that. Using AWS Auto Scaling, CloudWatch, and ECS, we built schedule-based scaling that stepped capacity up ahead of known peak windows and stepped it down after they passed. The useful work was in the details: understanding arrival patterns, container warm-up time, and how much safety margin to keep without wiping out the savings.

The result was about 20% lower infrastructure cost without treating performance as optional. That is the kind of optimization I like. It does not depend on users quietly tolerating a worse product. It depends on finally matching the system to the demand pattern that was already there.

The trade-off is obvious enough. This approach is great when the peaks are truly patterned. It is less elegant when school schedules shift, local events change behavior, or one-off traffic bursts land outside the normal windows. So you cannot treat the schedule as sacred forever. You have to revisit it.

Still, the bigger lesson holds. Sometimes cost work is not really about technical cleverness. It is about paying attention to how the business actually runs. Once we admitted that this workload had a rhythm, the infrastructure strategy got much simpler and cheaper.

Tech stack

AWS Auto ScalingCloudWatchECS