Domain 3 of 4

Design High-Performing Architectures

Domain · 24% of the SAA-C03 exam

Match the primitive to the access pattern

Performance starts with choosing the right primitive for the workload's access pattern — not with tuning. Each category has a natural fit: compute (general purpose vs compute-, memory-, or accelerated-optimized), storage (object vs file vs block, hot vs cold), database (relational, key-value, in-memory, graph, or warehouse), and network (throughput-sensitive vs latency-sensitive). Pick the wrong primitive and you waste money and milliseconds that no amount of later tuning will win back.

Offload the read path with caching and replicas

Most performance wins come from not hitting the origin at all. CloudFront caches content at the edge for users around the world, ElastiCache and DynamoDB DAX soak up hot-key reads, and read replicas let read-heavy relational workloads scale out horizontally. When the problem is distance rather than load, S3 Transfer Acceleration speeds up long-haul uploads and Global Accelerator improves TCP and UDP paths.

Scale out and asynchronously, not up

Rather than buying a bigger instance, add stateless capacity behind a load balancer and let Auto Scaling grow it. And when the requirement reads like 'handle unpredictable load with no servers to manage', reach for serverless — Lambda, Fargate, S3, DynamoDB on-demand. Pushing the expensive work into asynchronous pipelines is what keeps the synchronous request path fast.

Storage primitive by access pattern

PrimitiveAWS serviceAccess modelBest forWatch-out
ObjectS3Key-based over HTTPS APIStatic assets, data lakes, backups, large unstructured objectsNot a filesystem — no partial in-place edits
FileEFS (NFS) / FSxShared mounted filesystem (POSIX or Windows)Many instances sharing the same files, lift-and-shift appsHigher per-IO latency and cost than block
BlockEBS / instance storeSingle-instance block deviceBoot volumes, databases, low-latency random I/OEBS is AZ-scoped (snapshot to move); instance store is ephemeral
In-memoryElastiCache / DAXNetwork key-value cacheMicrosecond reads, hot keys, session stateVolatile — back it with a durable store

Subtopics in this domain