agent's rightsizing plan cut the web fleet to 2 instances - it trained on January traffic and missed the summer...
Fixes a rightsizing agent that learned capacity needs from a quiet month and proposed a fleet too small for peak season. Use when a plan built on off-season data cannot handle the busy season. It retrains the analysis on a full year of traffic, sizes from the busiest month's p95, and adds a seasonal floor with human review on aggressive cuts.
TL;DR: Throw out the plan and rebuild it from 12 months of traffic, sizing the fleet from the busiest month rather than the quietest. Training on January data for a summer-peaking business guarantees an undersized fleet. Add a minimum-instance floor tied to last year's same-season peak so quiet-month cuts get flagged.
agent's rightsizing plan cut the web fleet to 2 instances - it trained on January traffic and missed the summer campaign- Check which time window the agent used to learn traffic. Look at its config or the metrics queries in its logs. Expected: you find a short window like the last 30 days, or a quiet month like January.
- Re-run the analysis over 12 months of request counts or CPU and chart the monthly peaks. Expected: the summer campaign months run 5 to 10 times the January baseline.
- Size the fleet from the p95 of the busiest month, not the average of the quietest. Set a floor: minimum instances equals peak-month need divided by target utilization per instance. Expected: the plan keeps enough instances for the campaign with headroom left over.
- Add a seasonal guard to the agent: any recommendation that cuts the fleet below last year's same-month peak usage gets flagged for human review. Expected: aggressive cuts during quiet months stop going out unreviewed.
Use this when
- A rightsizing plan was built from off-season traffic data
- The agent proposed a fleet size that cannot handle your known busy season
- Traffic has strong seasonality: retail summer, tax season, back-to-school, holidays
Not for this skill when
- Your traffic is flat year-round - a short window is fine and cheaper to analyze
- The fleet autoscales and you only need the baseline right - tune the autoscaler min and max instead
- The cut was about instance size (vertical) not instance count - check the per-instance sizing logic
Variant phrasings
- rightsizing trained on quiet month proposed too few instances
- agent cut web fleet based on january traffic missed summer peak
- how to make rightsizing account for seasonal traffic
- cost agent downsized fleet below seasonal minimum
Why it happens
Training on recent data is the default because it is cheap and usually representative - except when it is not. Seasonal businesses have traffic shapes where the quiet month tells you almost nothing about the busy month. The agent optimized for the data it had, and nobody told it the data was from the wrong season.
Edge cases
- Autoscaling groups absorb some of this, but scale-out takes minutes and has max limits. The plan must respect the ASG max and the warm-up time.
- Campaigns change year to year. Last summer's peak is a guide, not a guarantee - leave headroom.
- If the fleet runs in multiple regions, seasonality may differ per region. Do the analysis per region, not globally.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_6VmxVnaKnhEBFfrOM2Llig
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.