Lesson 4 of 6 · 10 min
Domain 3 — Design high-performing architectures
The 24% domain: matching workloads to the right compute, storage, database and caching layer.
Where to cache, and what it fixes
| Layer | Service | Fixes |
|---|---|---|
| Edge | CloudFront | Latency for distant users, origin egress cost |
| Application | ElastiCache (Redis) | Repeated expensive queries, session storage |
| Database | RDS read replicas | Read-heavy load on the primary |
| DynamoDB | DAX | Microsecond reads on hot items |
| API | API Gateway caching | Identical requests hitting the backend |
Reading storage questions
The size of the data rarely decides the answer; the access pattern does. Random access from one instance with low latency is EBS. Shared access from many instances is EFS. Object access over HTTP, especially from many clients or for analytics, is S3.
Within EBS, gp3 is the default and lets you provision IOPS independently of size — which is the answer whenever a question describes needing more IOPS without wanting a bigger volume. io2 Block Express is for the highest sustained IOPS and sub-millisecond latency.
Global performance
| Symptom | Answer |
|---|---|
| Static assets slow for distant users | CloudFront |
| TCP/UDP application, need static anycast IPs | Global Accelerator |
| Latency-based routing between Regions | Route 53 latency records |
| Uploads slow from far away | S3 Transfer Acceleration |
| Cross-Region read latency on DynamoDB | Global Tables |
Analytics and data movement
Ad-hoc SQL over data already in S3 is Athena, with no infrastructure to run. A dedicated warehouse for repeated complex joins over large history is Redshift. Streaming ingestion is Kinesis Data Streams, and delivery into S3 or Redshift with no code is Firehose.
For one-off bulk transfer, the deciding factor is time on the wire. If the stem gives you a link speed and a data volume, calculate it — when the transfer would take weeks, the intended answer is Snowball.
Worth remembering
- Caching is the highest-leverage performance change in most scenarios.
- Storage answers hinge on access pattern, not on size.
- Global users means CloudFront and Global Accelerator, not more instances.
Test it now
Performance selection questions run across the medium and hard banks.