“Every sale day the site goes down and the developer says "add more RAM"”
The server does not survive a promo
Adding RAM to a single server buys one more promo, at most. The real problems are usually that the database and the app share one machine, there is no cache in front of the catalog, and one slow query locks everything when traffic triples.
What we do, in order:
- Put monitoring on the box so the next outage has a graph, not a guess.
- Move the database to its own instance with backups.
- Add a CDN and a cache for the pages that do not change per user.
- Load-test to the traffic you expect on the next sale and fix the three slowest queries.
- Only then decide whether autoscaling is worth its cost.
The usual outcome is a next promo that passes without incident on a bill no bigger than before.