Hermes Wiki

Domain 3: Design High-Performing Architectures

Domain 3 Mind Map

Mind Map Outline

  • High-Performing Storage Solutions
    • Object Storage (S3): Multi-part Uploads, S3 Transfer Acceleration, S3 Express One Zone (Low-latency)
    • Block Storage (EBS): gp3 (Baseline IOPS/Throughput), io2 Block Express (Sub-millisecond), EBS-Optimized Instances
    • File Storage: EFS (Elastic Scaling Linux), FSx for Lustre (HPC/ML Throughput), FSx for NetApp ONTAP (Multi-protocol), FSx for Windows (Native SMB)
  • Elastic Compute Solutions
    • EC2 Architecture: Instance Families (C, R, I, P), Cluster Placement Groups, Enhanced Networking (ENA/EFA)
    • Scaling & Balancing: Auto Scaling Groups (ASG), Application/Network Load Balancers, Predictive & Target Tracking Scaling
    • Serverless & Containers: AWS Lambda (Event-driven Scale), AWS Fargate (Serverless Containers), Amazon ECS/EKS Orchestration
  • High-Performing Database Solutions
    • Relational (RDS/Aurora): Aurora Serverless v2 (Auto-scaling), Read Replicas (Read Scaling), RDS Proxy (Connection Pooling), Aurora Global Database (Low Lag)
    • NoSQL (DynamoDB): DynamoDB Accelerator (DAX Caching), Global Tables (Active-Active), On-Demand Capacity Mode
    • In-Memory Caching: ElastiCache Redis (Clustering/HA), ElastiCache Memcached (Simple Objects)
  • Scalable Network Architectures
    • Global Delivery: Amazon CloudFront (Edge Caching), AWS Global Accelerator (Anycast), Route 53 Latency/Geoproximity Routing
    • Internal Connectivity: AWS PrivateLink (Private API Access), Direct Connect (Dedicated Throughput), AWS Transit Gateway (Hub-and-Spoke)
  • Data Ingestion & Transformation
    • Streaming Data: Kinesis Data Streams (High Scale), Kinesis Data Firehose (Delivery), Kinesis Data Analytics (In-flight SQL)
    • Transformation & Analysis: AWS Glue (Serverless ETL), Amazon EMR (Distributed Big Data), Amazon Athena (Serverless SQL on S3), Lake Formation (Centralized Data Lake)
    • Migration Tools: Snow Family (Bulk Physical Transfer), AWS DataSync (Automated Sync)

Domain 3: Design High-Performing Architectures represents 24% of the SAA-C03 exam. The core theme is selecting the right tools—storage, compute, database, and network—based on specific performance metrics like IOPS, latency, and throughput.

Based on your transcripts and documentation, here is a thorough breakdown of the domain's five task statements.

1. Determine High-Performing and Scalable Storage Solutions

AWS storage comes in three forms: Object, Block, and File.

  • Object Storage (Amazon S3): A globally resilient service that is highly scalable and durable. For high-performance uploads, use multi-part uploads or S3 Transfer Acceleration.
  • Block Storage (Amazon EBS): Persistent storage for EC2 instances.
    • gp3: General-purpose SSD.
    • io2 / io2 Block Express: Provisioned IOPS for massive, high-performance database clusters requiring sub-millisecond latency.
    • Note: Unlike S3, EBS is not inherently scalable; you must manually modify volume types or sizes, though this can be done live in production.
  • File Storage (EFS and FSx):
    • Amazon EFS: A managed Linux-native (POSIX) shared file system that scales automatically as you add or remove files.
    • Amazon FSx for Windows File Server: Native Windows SMB shares.
    • Amazon FSx for Lustre: Designed for extreme, sub-millisecond high-performance compute workloads like machine learning.

2. Design High-Performing and Elastic Compute Solutions

Compute is available as Instances, Containers, or Functions.

  • Instances (EC2): Not inherently scalable. You must choose the correct instance family (compute, memory, or storage-optimized) and use Auto Scaling Groups (ASG) and Elastic Load Balancing (ELB) to achieve elasticity.
  • Containers (ECS/EKS): Amazon ECS and Amazon EKS manage containerized workloads. AWS Fargate provides serverless compute for containers, removing the need to manage underlying EC2 instances.
  • Functions (AWS Lambda): Serverless, event-driven compute that is elastic and scalable by nature. It has a 15-minute execution limit; for longer workflows, use AWS Step Functions.
  • Monitoring: Use Amazon CloudWatch metrics and alarms to trigger scaling events. Note that memory utilization is not a default metric for EC2 and requires a custom agent.

3. Determine High-Performing Database Solutions

  • Relational (RDS & Aurora):
    • RDS: Traditional SQL engines like MySQL or PostgreSQL. Use Read Replicas to offload read traffic and RDS Proxy to manage large pools of database connections.
    • Amazon Aurora: A cloud-native relational database that is 5x faster than standard MySQL. It uses a shared cluster volume for faster provisioning and self-healing storage. Aurora Serverless v2 is ideal for unpredictable workloads.
  • NoSQL (DynamoDB): Provides single-digit millisecond latency at any scale. Use DynamoDB Accelerator (DAX) to reduce read latency to microseconds.
  • In-Memory Caching: Amazon ElastiCache (Redis or Memcached) sits in front of RDS to cache frequent queries and reduce database load.

4. Determine High-Performing and Scalable Network Architectures

  • Latency and Performance:
    • Amazon CloudFront: A global CDN that caches content at edge locations to reduce read latency.
    • AWS Global Accelerator: Routes traffic over the AWS global network to improve performance and availability.
    • Route 53: Use latency or geoproximity routing policies to direct users to the geographically closest region.
  • Connectivity:
    • Hybrid: Choose Site-to-Site VPN (encrypted over the public internet) or AWS Direct Connect (a dedicated private line).
    • VPC Connectivity: Use VPC Peering for simple connections or AWS Transit Gateway to connect multiple VPCs and on-premises networks in a hub-and-spoke model.
    • PrivateLink: Connect to services in other VPCs securely without exposing traffic to the public internet.

5. Determine High-Performing Data Ingestion and Transformation

  • Streaming Data: Use Amazon Kinesis Data Streams for real-time ingestion at massive scale. Kinesis Data Firehose can transform and load this data directly into AWS stores like S3 or Redshift.
  • ETL and Processing: AWS Glue provides serverless data integration and transformation. For distributed big data processing (e.g., Spark, Hadoop), use Amazon EMR.
  • Massive Data Migration: The AWS Snow Family (e.g., Snowball) is used for physically moving petabytes of data when internet bandwidth is a bottleneck.

Domain 3: Design High-Performing Architectures (24%)

The Core Theme: Choosing the right tool for the job based on performance metrics (IOPS, Latency, Throughput).

1. Storage Performance

  • EBS (Elastic Block Store): Persistent block storage for individual EC2 instances.

  • gp3: General purpose, standard SSD workload.

  • io2 / io2 Block Express: Provisioned IOPS. Exam tip: Choose this when the question specifies a massive, high-performance database cluster requiring sub-millisecond latency.

  • EFS vs. Amazon FSx: * EFS: Managed Linux-native shared file system (POSIX). Can attach to hundreds of EC2s simultaneously across AZs.

  • FSx for Windows File Server: Native Windows SMB share.

  • FSx for Lustre: Extreme, sub-millisecond high-performance compute workloads (Machine learning, high-performance processing).

2. Database Selection

  • RDS (Relational): Traditional SQL (Postgres, MySQL, Oracle). Good for complex queries/joins. Read Replicas = Performance optimization (scalability); Multi-AZ = Resilience.
  • Amazon Aurora: AWS-engineered cloud-native relational DB. 5x performance of standard MySQL. Replicates data 6 ways across 3 AZs automatically. Uses Aurora Serverless v2 for volatile, unpredictable workloads.
  • DynamoDB (NoSQL): Key-value database. Single-digit millisecond latency at any scale. Highly optimized for simple, high-velocity throughput patterns.

3. In-Memory Performance Caching

  • CloudFront: Global Content Delivery Network (CDN) that caches static/dynamic content at edge locations to drastically reduce read latency for global audiences.
  • ElastiCache (Redis/Memcached): Sits in front of your RDS database to cache frequent database queries. Redis = supports rich data types, clustering, and persistence. Memcached = raw, dead-simple object caching.
  • DynamoDB Accelerator (DAX): In-memory cache built specifically for DynamoDB. Brings read latencies down from milliseconds to microseconds.
Hermes Wiki