Design High-Performing Architectures
Study cheat sheet Β· SAA-C03)
Generated May 18, 2026
Practice This Topic
Key Concepts
- High-performing architectures = right compute + right storage + right database + right networking for the workload
- Elasticity: Scale out (horizontal) preferred over scale up (vertical) for resilience and cost
- Decoupling: Use SQS, SNS, EventBridge to separate components so one slow part doesn't bottleneck another
- Caching layers: ElastiCache (Redis/Memcached), CloudFront, DAX (DynamoDB Accelerator) β reduce latency and backend load
- Auto Scaling: EC2 Auto Scaling Groups, Application Auto Scaling (ECS, DynamoDB, Lambda concurrency)
- Read Replicas: Offload read traffic from primary DB (RDS Read Replicas, Aurora Replicas)
- Aurora outperforms standard RDS β up to 5x MySQL, 3x PostgreSQL throughput; Aurora Serverless for unpredictable workloads
- S3 performance: 3,500 PUT/COPY/POST/DELETE and 5,500 GET/HEAD requests per second per prefix β add prefixes to scale
- EBS volume types:
gp3: General purpose, baseline 3,000 IOPS (best default choice)io2/io2 Block Express: High-performance, up to 256,000 IOPS β use for critical databasesst1: Throughput-optimized HDD β big sequential reads (data warehouses, logs)sc1: Cold HDD β infrequent access, cheapest- Instance Store: Ephemeral, physically attached β highest possible disk throughput, but lost on stop/terminate
- Global Accelerator: Improves performance for global users by routing through AWS backbone (not just CDN caching)
- CloudFront: CDN for static/dynamic content β reduces latency via edge locations
- Placement Groups:
- Cluster: Low latency, high throughput (HPC, big data) β same AZ, same rack
- Spread: Max availability β different hardware per instance
- Partition: Large distributed workloads (Kafka, Hadoop) β isolated racks per partition
- Enhanced Networking / ENA: Up to 100 Gbps, lower latency β enable for HPC workloads
- Kinesis Data Streams: Real-time streaming; each shard = 1 MB/s in, 2 MB/s out
- DynamoDB: Single-digit millisecond performance at any scale; use DAX for microsecond reads
How It Works
Caching Flow (ElastiCache) Request β Check cache β Cache hit: return data instantly | Cache miss: query DB β store in cache β return data
Auto Scaling Decision CloudWatch metric breach β Scaling policy triggers β Launch/terminate instances β ELB registers/deregisters targets
S3 Prefix Scaling
bucket/folder1/file and bucket/folder2/file = 2 separate prefixes = 2Γ the request rate limits β distribute keys across prefixes for high-throughput workloads
Commands / Syntax / Key Values
| Service | Key Value / Limit |
|---|---|
| S3 per-prefix throughput | 5,500 GET / 3,500 PUT per second |
| SQS Standard | Unlimited throughput, at-least-once delivery |
| SQS FIFO | 300 TPS (3,000 with batching), exactly-once |
| Kinesis shard | 1 MB/s in / 2 MB/s out |
| DynamoDB DAX | Microsecond read latency |
| ElastiCache Redis | Persistence, replication, Lua scripts, Pub/Sub |
| ElastiCache Memcached | Simple, multi-threaded, no persistence |
| gp3 EBS | 3,000 IOPS baseline, up to 16,000 IOPS |
| io2 Block Express | Up to 256,000 IOPS |
| ENA Enhanced Networking | Up to 100 Gbps |
| CloudFront TTL default | 86,400 seconds (24 hrs |
My Notes
Edit your saved notes here. Saving replaces what is stored.
Add More Notes
Paste new content here. It will be added below your existing notes β nothing gets overwritten.