A read-dominated service peaks at 9,000 rps. Someone keeps scaling the database up to cope, but it's expensive and still strained.
Targets: p99 ≤ 130 ms, 99.95% availability, critical durability, under $1,500/mo.
The cheaper path is to scale out reads: an ElastiCache tier for hot keys and read replicas to spread the remaining query load, rather than paying for one oversized instance. Make it Multi-AZ with backups, and keep an autoscaling compute tier across two AZs.