AWS Certified Solutions Architect - Associate - 24% of exam

Design High-Performing Architectures

What you will learn

In this domain, you learn how to choose high-performing options that fit the workload for storage (Amazon S3, Amazon EBS, Amazon EFS, and Amazon FSx), compute (Amazon EC2, AWS Lambda, and containers), databases and caching (Amazon Aurora, Amazon DynamoDB, Amazon ElastiCache, and DAX), networking (Amazon CloudFront, AWS Global Accelerator, and Elastic Load Balancing), and data ingestion and analytics (Amazon Kinesis, Amazon Athena, and Amazon Redshift).

Key points

  • Storage - S3 for objects, EBS for block storage on one instance, EFS for shared files, and FSx for Lustre for fast reads in computing
  • EBS - gp3 lets you set IOPS and throughput separately from capacity, and io2 is used when high IOPS and durability are needed
  • Caching - ElastiCache in front of RDS or Aurora, and DAX in front of DynamoDB
  • Read distribution - Send reads to Aurora Replicas and read replicas to reduce the load on the writer instance
  • Faster delivery - CloudFront for web content, and Global Accelerator for TCP and UDP traffic and fixed IP addresses
  • Streaming and analytics - Kinesis Data Streams for real-time ingestion, Athena for SQL on S3, and Redshift for large-scale aggregation

Terms and concepts

Choosing storage

S3 is object storage that you can use without worrying about capacity limits, EBS is block storage attached to instances within one AZ, and EFS is a shared file system used at the same time by many instances in multiple AZs. To read S3 data quickly in compute-intensive workloads, choose FSx for Lustre.

Caching (ElastiCache and DAX)

ElastiCache is an in-memory data store that you place in front of a database to return the results of repeated queries and reduce the database load. Cache reads and writes are written in the application. DAX is a cache dedicated to DynamoDB, and because it has a DynamoDB-compatible API, it requires few application changes.

CloudFront and Global Accelerator

CloudFront caches web content at edge locations around the world and returns it from locations close to users. Global Accelerator does not cache content; it delivers TCP and UDP traffic received at static anycast IP addresses over the AWS network to the nearest healthy endpoint.

Types of load balancers

An Application Load Balancer routes based on the content of HTTP and HTTPS requests. A Network Load Balancer operates at the TCP and UDP layer, handles large numbers of connections with very low latency, and can have a fixed IP address for each AZ. A Gateway Load Balancer is used to pass traffic through virtual appliances such as firewalls.

Lambda performance

In Lambda, CPU power increases in proportion to the amount of memory allocated. To avoid the time needed to prepare an execution environment on the first invocation (a cold start), prepare execution environments in advance with provisioned concurrency.

Data ingestion and analytics

Kinesis Data Streams receives large volumes of data in order, and multiple applications can read the same data. Athena runs SQL on data as it sits in S3, and you pay only for the amount of data scanned. Redshift is a columnar data warehouse suited to large-scale, complex aggregation.

5 practice questions