devopsbymuh_
Tools · Capacity & Architecture

System Design Generator

Describe your product and scale. Get back real back-of-the-envelope capacity numbers and a reference architecture — the way you'd sketch it in a system design interview.

Peak QPS
4.2K
1.4K avg
Read QPS
4.0K
Write QPS
208
Egress @ peak
88.7 Mbps
Storage / year
9.4 TB
7.6 GB/day
Cache (hot set)
127 GB
App servers
×6
at peak
DB shards
×1
RF3

Reference architecture

Rendering diagram…

Design rationale

  • Run 6 stateless app instances behind the balancer at peak (4.2K rps ÷ 800 rps/instance), autoscaling on CPU + request depth.
  • Authentication is delegated to a managed identity provider (Cognito · Auth0). Clients obtain an OAuth2/OIDC token; the app tier verifies the JWT signature against the provider's JWKS (cached), so no session state lives on the servers.
  • Persistent WebSocket/SSE tier handles live updates and presence, decoupled from the request/response app tier so long-lived connections don't tie up API workers.
  • Cache the hot read set (~127 GB) in Redis to absorb the 4.0K rps read load and keep tail latency low.
  • A single NoSQL cluster covers the ~208 wps write load with replication factor 3.
  • Stored data grows to ~9.4 TB after one year (7.6 GB/day ingest × 365 × RF3).
  • Fan reads out to 3 read replicas per shard so the 4.0K rps read traffic never touches the write primaries.
  • Large media lives in object storage (S3), served through the CDN via origin-pull — keep binaries out of the primary database.
  • Full-text search runs on an Elasticsearch/OpenSearch cluster, indexed asynchronously off the write path (via CDC or the queue).
  • A durable log (Kafka) decouples spiky writes from downstream work — indexing, notifications, media transcoding, and analytics all consume from it independently.
  • Events stream into a columnar warehouse (BigQuery/Snowflake) for reporting, so heavy analytical queries never hit the transactional database.
  • Target SLA 99.99% availability → budget of ~52m / year. Deploy across multiple availability zones with health-checked failover.
  • Multi-region: pin data to a primary region with async cross-region replicas for DR; route users to the nearest healthy region.
  • Resilience: one primary region across 3 availability zones, plus a warm DR region kept in sync by async replication for failover.