I optimized for operational calm over cost. Everything is one size up from the minimum that passes.
Is it over-provisioned? Yes. But it's a stack I never have to page about. For a launch where you don't yet know the traffic shape, I'll take the boring bill.
Sign in to join the discussion.
Splitting big values into object storage is the detail that makes the cache actually work. Small-value hot path stays dense. Nice.
Over-provisioning at launch is defensible — you tune down once you have data, which beats a peak-time surprise.
db.xlarge with only 2 shards is fine on QPS but remember sharding is also your blast radius. 2 shards = losing one halves your keyspace availability.
There's a real argument for this at launch — you tune *down* once you have data, which is much safer than discovering you're under-provisioned during peak.