Skip to main content

Design High-Performing Architectures for SAA-C03

This guide covers Domain 3: Design High-Performing Architectures of the AWS Certified Solutions Architect – Associate (SAA-C03) exam. Performance is a defining characteristic of successful cloud solutions: it directly shapes user experience, determines how well an application scales under load, and often dictates the cost profile of a system. As a solutions architect, your task is to select and combine AWS services in ways that meet throughput and latency requirements while remaining agile enough to handle growth.

In this domain, you will learn to evaluate compute, storage, database, and networking options through a performance lens, apply caching and content delivery strategies, and instrument your architectures for continuous improvement. We distinguish between closely related terms:

  • Performance – the speed and responsiveness of a system under a given load.
  • Scalability – the ability to increase capacity by adding resources, typically horizontally.
  • Elasticity – the ability to scale capacity up and down automatically in response to demand changes.
  • Throughput – the volume of requests or data processed per unit of time.
  • Latency – the time taken to process a single request.
  • Efficiency – achieving the required performance with the least waste of resources.

Learning Objectives

After completing this domain, you should be able to:

  • Select the appropriate compute, storage, and database services for performance‑intensive workloads.
  • Design horizontally scalable and stateless application architectures.
  • Apply caching at multiple layers to reduce latency and database load.
  • Use content delivery and global networking services to improve user experience worldwide.
  • Identify performance bottlenecks and select monitoring and tuning tools to resolve them.
  • Balance performance objectives with security, resilience, and cost constraints.

Core Performance Design Principles

High‑performing architectures are built on a set of guiding principles that inform service selection and configuration.

  • Right‑sizing – Choose the smallest instance type, storage tier, or database class that meets your performance requirements, then scale up or out when needed. Avoid over‑provisioning by default.
  • Horizontal scaling – Distribute load across many smaller resources rather than a single large one. This improves availability and allows fine‑grained scaling.
  • Elasticity – Design systems to scale automatically based on demand. Services like Auto Scaling, Lambda, and DynamoDB on‑demand capacity exemplify this principle.
  • Stateless application design – Keep compute instances stateless so that any instance can serve any request. Store session data externally in DynamoDB or ElastiCache.
  • Workload optimisation – Continuously profile your application. Use performance testing to validate choices and identify bottlenecks before they affect users.
  • Bottleneck analysis – Measure end‑to‑end latency and throughput for each component. Optimise the slowest parts first; improving a non‑bottleneck yields no benefit.

Compute Performance

Choosing the right compute model is fundamental to application performance. AWS offers several options, each with distinct performance characteristics.

  • Amazon EC2 provides full control and predictable performance. Instance types are optimised for compute, memory, storage, or general‑purpose workloads. Key performance decisions include selecting the right instance family, enabling Enhanced Networking, and using Elastic Fabric Adapter (EFA) for high‑performance computing (HPC). EC2 also supports placement groups to control physical proximity, which can reduce network latency between instances in tightly‑coupled workloads.
  • AWS Lambda offers event‑driven, serverless compute that scales automatically. Performance is influenced by memory allocation (which also scales CPU proportionally) and function initialisation time. For latency‑sensitive applications, use Provisioned Concurrency to keep functions warm and eliminate cold starts. Lambda suits variable or unpredictable workloads where managing instances would be inefficient.
  • Amazon ECS and Amazon EKS run containerised workloads. Performance considerations include task placement strategies (spread across AZs for availability, bin‑pack for cost), the choice between EC2 and AWS Fargate launch types, and container‑level resource limits. Fargate removes instance management but offers less fine‑grained control over networking and storage performance than EC2‑backed clusters.
  • AWS Elastic Beanstalk abstracts the compute layer further. It automatically handles capacity provisioning, load balancing, and health monitoring. Performance tuning focuses on environment configuration, such as instance type selection and Auto Scaling triggers.

In general, favour managed services when operational simplicity is valuable, and use EC2 when you need deep performance tuning or specialised hardware access.

Storage Performance

Storage performance is measured in IOPS (input/output operations per second) and throughput (MB/s). Matching the storage service to the access pattern is critical.

  • Amazon S3 provides virtually unlimited throughput for read and write operations, but performance is per‑object (not per‑bucket). It excels at serving static content, hosting data lakes, and storing large objects. Use S3 Transfer Acceleration or multipart uploads to improve large‑object transfer rates. For low‑latency access, pair S3 with CloudFront.
  • Amazon EBS offers block storage with configurable performance. Use SSD‑backed volumes (gp3, io2) for IOPS‑intensive databases and boot volumes. gp3 provides baseline performance with bursting; io2 Block Express delivers sub‑millisecond latency and high durability. Pre‑warm restored snapshots to avoid initial performance penalties.
  • Amazon EFS is a shared file system that delivers scalable throughput. Performance mode (General Purpose vs. Max I/O) and throughput mode (Bursting, Provisioned, Elastic) must be selected based on workload concurrency. EFS scales automatically and is suitable for shared application data and content management.
  • Amazon FSx provides managed file systems built on Windows Server or Lustre. FSx for Lustre is designed for high‑performance computing, offering hundreds of GB/s throughput and sub‑millisecond latency, making it ideal for analytics and machine learning workloads.

Database Performance

Database performance depends heavily on the data model, indexing, and scaling strategy.

  • Amazon RDS provides managed relational databases. Performance can be improved by right‑sizing the instance class, using Provisioned IOPS (io1/io2) storage, enabling Multi‑AZ for read scaling (via read replicas), and implementing connection pooling. Use Performance Insights to identify slow queries and tune indexes.
  • Amazon Aurora delivers higher throughput and lower latency than standard MySQL or PostgreSQL, with automatic storage scaling. Aurora replicas (up to 15) offload reads, and Aurora Global Database enables low‑latency reads in multiple regions. Write performance can be increased by using Aurora Serverless v2 for elastic capacity.
  • Amazon DynamoDB is a NoSQL key‑value and document database offering single‑digit millisecond latency at any scale. Performance is controlled through provisioned capacity or on‑demand mode. Partition key design is crucial: avoid hot partitions by ensuring uniform access patterns. Use DynamoDB Accelerator (DAX) for microsecond read latency.
  • Amazon ElastiCache provides managed Redis and Memcached for in‑memory caching. Offload read‑heavy database traffic by caching frequently accessed queries. Redis also supports sorted sets, pub/sub, and geospatial indexing for real‑time use cases.

A common performance pattern: use ElastiCache in front of RDS or DynamoDB, with CloudFront caching static content at the edge. This layered approach reduces load on the origin and decreases overall latency.

Networking and Content Delivery

Network architecture directly impacts application latency and throughput.

  • Amazon VPC performance is influenced by instance network bandwidth, which scales with instance size. Place latency‑sensitive instances in the same placement group and Availability Zone. Use VPC endpoints to access AWS services privately, avoiding internet traversal and improving security and latency consistency.
  • Elastic Load Balancing (ALB, NLB) distributes traffic efficiently. NLB can scale to millions of requests per second while preserving source IP and delivering ultra‑low latency. ALB provides advanced routing and TLS termination. For global applications, use Application Load Balancer with Global Accelerator.
  • Amazon Route 53 provides DNS with latency‑based routing, geolocation routing, and health‑check‑based failover. Latency‑based routing directs users to the lowest‑latency endpoint, while failover routing improves availability.
  • Amazon CloudFront is a content delivery network (CDN) with over 400 points of presence. It caches static and dynamic content at the edge, reducing load on origins and lowering latency for global users. Use Origin Shield to further centralise cache hits and reduce origin requests.
  • AWS Global Accelerator improves global application performance by routing traffic over the AWS global network rather than the public internet. It provides static anycast IP addresses and automatically routes to the nearest healthy endpoint, reducing latency and jitter.

Monitoring and Performance Optimization

Continuous monitoring and tuning are essential to maintain performance as workloads evolve.

  • Amazon CloudWatch collects metrics, logs, and alarms. Set up dashboards to visualise key performance indicators: CPU utilisation, request rates, error rates, and latency percentiles. Use CloudWatch Logs Insights to query logs for slow operations.
  • AWS X‑Ray traces requests as they travel through your application, mapping latency contributions of each service. Use it to identify bottlenecks in microservices architectures.
  • AWS Trusted Advisor checks for performance‑related best practices, such as under‑utilised EC2 instances or content delivery optimisations.
  • AWS Compute Optimizer uses machine learning to recommend optimal EC2 instance types, Auto Scaling group configurations, and EBS volume types based on historical usage data.

A performance‑focused workflow follows: measure → identify bottleneck → hypothesise improvement → implement → measure again. This iterative loop is the core of performance engineering.

Common Architecture Scenarios

Scenario 1: Global E‑commerce Platform

A retail company operates a web store that experiences rapid, unpredictable traffic growth and must serve customers worldwide with low latency.

Architecture decisions:

  • Use an Auto Scaling group of EC2 instances across multiple AZs behind an Application Load Balancer. Configure step scaling to add capacity quickly during spikes.
  • Place Amazon CloudFront in front of the site to cache product images and frequently viewed pages at the edge.
  • Use Amazon ElastiCache (Redis) to cache session data and product catalogue queries, reducing load on the primary database.
  • Migrate the database to Amazon Aurora with read replicas to absorb read‑heavy traffic. Use Aurora Auto Scaling to automatically add replicas during load spikes.
  • Monitor with CloudWatch dashboards showing request latency, cache hit rates, and instance utilisation.

Scenario 2: Serverless API with Unpredictable Load

A startup exposes a public API that experiences unpredictable traffic patterns, from near‑zero to thousands of requests per second. The team wants minimal operational overhead.

Architecture decisions:

  • Use AWS Lambda for compute, with API Gateway as the front‑end. Configure API Gateway caching to reduce Lambda invocations for repeated requests.
  • Store data in Amazon DynamoDB with on‑demand capacity to handle any load without provisioning. Use DAX to cache frequently accessed items.
  • Enable CloudFront in front of API Gateway for edge caching of responses and to terminate TLS close to users.
  • Use X‑Ray to trace requests through Lambda and DynamoDB, identifying any cold‑start latency or query performance issues.

Scenario 3: Data‑Intensive Analytics Platform

A media company processes millions of log records daily and needs to generate hourly reports with low query latency.

Architecture decisions:

  • Ingest raw logs into Amazon S3. Use S3 event notifications to trigger AWS Glue jobs that transform and catalog the data.
  • Run heavy transformations on Amazon EMR clusters with Spot Instances for cost‑effective processing. Use instance fleets to diversify capacity pools.
  • Load transformed data into Amazon Redshift with distribution and sort keys optimised for reporting queries. Use Redshift Spectrum to query data directly in S3 when necessary.
  • Pre‑aggregate frequent queries in ElastiCache to serve dashboards with sub‑second response times.

Common Design Mistakes

  • Over‑provisioning instead of scaling out – Buying the largest instance rather than distributing load horizontally leads to higher cost and limited scaling headroom.
  • Ignoring caching – Every layer without caching adds latency. Use CloudFront, ElastiCache, and DAX to cache wherever possible.
  • Selecting the wrong database – Using a relational database for unstructured data or a NoSQL database for complex transactions results in performance penalties and complex workarounds.
  • Creating compute bottlenecks – Slow instance types, insufficient Auto Scaling limits, or single‑threaded application code can cap throughput even when other resources are under‑utilised.
  • Neglecting network latency – Placing resources in different regions without a CDN or Global Accelerator, or saturating instance network bandwidth, degrades user experience.
  • Failing to monitor and iterate – Performance tuning without metrics is guesswork. Instrument everything and use data to guide decisions.
ServicePerformance Role
Amazon EC2Configurable compute with instance types optimised for various workloads
Auto ScalingEnsures workload capacity matches demand automatically
AWS LambdaServerless compute that scales instantly with traffic
Elastic Load BalancingDistributes traffic to healthy targets, integrates with Auto Scaling
Amazon CloudFrontGlobal CDN that caches content at edge locations
Amazon DynamoDBLow‑latency NoSQL database with on‑demand scaling
Amazon ElastiCacheIn‑memory caching to accelerate read‑heavy workloads
Amazon AuroraHigh‑performance managed relational database with read replicas
Amazon EBSBlock storage with provisioned IOPS and throughput
Amazon EFSScalable file storage with elastic throughput
AWS Global AcceleratorImproves global latency by routing over AWS backbone
CloudWatchMonitoring and alarming on performance metrics
AWS Compute OptimizerML‑based recommendations for right‑sizing resources

Relationship with Other SAA‑C03 Domains

Performance is not an isolated goal; it must be integrated with the other pillars of architecture.

  • Design Secure Architectures – Security controls (encryption, WAF, VPC endpoints) can add latency. Performance tuning must consider the overhead of security services, and secure architectures must still meet performance requirements.
  • Design Resilient Architectures – Resilient patterns (multi‑AZ, multi‑region) can introduce latency due to data replication or failover processes. Designing for high availability without sacrificing performance often means adopting active‑active topologies and using services like Aurora Global Database or DynamoDB Global Tables.
  • Design Cost‑Optimized Architectures – Performance and cost often pull in opposite directions. Elasticity helps: scale up during peak, scale down during off‑peak. Reserved capacity and Savings Plans offer discounts for consistent workloads without compromising performance.

On the exam, scenario questions frequently ask you to balance these competing priorities—for example, selecting the most cost‑effective solution that meets a specific latency target.

What to Explore Next

Now that you understand how to make architectures fast and scalable, the final domain—Design Cost‑Optimized Architectures—will teach you how to achieve these goals without unnecessary expenditure. Effective cloud architects find the intersection of performance, security, resilience, and cost. Continue to the next domain guide to complete your preparation across all four pillars.

To solidify your knowledge, complete a lab that configures an Auto Scaling group with CloudFront and ElastiCache, and then attempt a scenario that requires you to optimise a legacy application for performance. Measure your results and iterate—exactly as you would in a real architecture engagement.