All challenges

Right-size DynamoDB

intermediate
Scenario & brief

A key-value service with steady, predictable traffic (peak ~6,000 rps) runs DynamoDB with hundreds of provisioned capacity units it never uses — and the compute tier is single-AZ.

Targets: p99 ≤ 180 ms, 99.95% availability, critical durability, under $400/mo.

DynamoDB is inherently multi-AZ and durable, so the data tier's availability is handled — the lever is capacity. For steady load, provisioned capacity is cheaper than on-demand, but only if you size it to actual demand rather than the sky. Right-size the units and fix the compute tier's AZ spread.

6,000 rps peakp99 ≤ 180ms99.95% availdurability: criticalbudget $400/mo

App Servers

Compute

3instances

System health

Erupting · SLA breach

28

/ 100

Score

SLA not met yet

Monthly cost

$982

Budget $400/mo · $582 over

Metrics

Capacity90
Availability50
Durability100
Cost efficiency0

Requirements

  • Peak capacity 5400 rps compute · 72000 rps db (need ≥ 6000 rps)
  • p99 latency ~134 ms (need ≤ 180 ms)
  • Availability 99.50% (need ≥ 99.95%)
  • Durability protected (need redundancy + backups)
  • Budget $982/mo (need ≤ $400/mo)

Advisor

  • Compute tops out at ~5400 rps but peak demand is 6000 rps — requests will queue.
  • Compute runs in a single AZ — spread across ≥2 AZs (with ≥2 instances) to meet the availability target.

Discussion

Sign in to join the discussion.

No comments yet. Be the first to start the discussion.

For learning purposes only. Costs and capacities are illustrative, not live AWS prices. Not affiliated with or endorsed by Amazon Web Services.