

# Content Domain 2: Design Resilient Architectures
<a name="solutions-architect-associate-03-domain2"></a>

**Topics**
+ [Task 2.1: Design scalable and loosely coupled architectures](#solutions-architect-associate-03-domain2-task1)
+ [Task 2.2: Design highly available and/or fault-tolerant architectures](#solutions-architect-associate-03-domain2-task2)

## Task 2.1: Design scalable and loosely coupled architectures
<a name="solutions-architect-associate-03-domain2-task1"></a>

Knowledge of:
+ API creation and management (for example, Amazon API Gateway, REST API)
+ AWS managed services with appropriate use cases (for example, AWS Transfer Family, Amazon SQS, AWS Secrets Manager)
+ Caching strategies
+ Design principles for microservices (for example, stateless workloads compared with stateful workloads)
+ Event-driven architectures
+ Horizontal scaling and vertical scaling
+ How to appropriately use edge accelerators (for example, content delivery network [CDN])
+ How to migrate applications into containers
+ Load balancing concepts (for example, Application Load Balancer [ALB])
+ Multi-tier architectures
+ Queuing and messaging concepts (for example, publish/subscribe)
+ Serverless technologies and patterns (for example, AWS Fargate, AWS Lambda)
+ Storage types with associated characteristics (for example, object, file, block)
+ The orchestration of containers (for example, Amazon ECS, Amazon EKS)
+ When to use read replicas
+ Workflow orchestration (for example, AWS Step Functions)

Skills in:
+ Designing event-driven, microservice, and/or multi-tier architectures based on requirements
+ Determining scaling strategies for components used in an architecture design
+ Determining the AWS services required to achieve loose coupling based on requirements
+ Determining when to use containers
+ Determining when to use serverless technologies and patterns
+ Recommending appropriate compute, storage, networking, and database technologies based on requirements
+ Using purpose-built AWS services for workloads

## Task 2.2: Design highly available and/or fault-tolerant architectures
<a name="solutions-architect-associate-03-domain2-task2"></a>

Knowledge of:
+ AWS global infrastructure (for example, Availability Zones, AWS Regions, Amazon Route 53)
+ AWS Managed Services (AMS) with appropriate use cases (for example, Amazon Comprehend, Amazon Polly)
+ Basic networking concepts (for example, route tables)
+ Disaster recovery (DR) strategies (for example, backup and restore, pilot light, warm standby, active-active failover, recovery point objective [RPO], recovery time objective [RTO])
+ Distributed design patterns
+ Failover strategies
+ Immutable infrastructure
+ Load balancing concepts (for example, ALB)
+ Proxy concepts (for example, Amazon RDS Proxy)
+ Service quotas and throttling (for example, how to configure the service quotas for a workload in a standby environment)
+ Storage options and characteristics (for example, durability, replication)
+ Workload visibility (for example, AWS X-Ray)

Skills in:
+ Determining automation strategies to ensure infrastructure integrity
+ Determining the AWS services required to provide a highly available and/or fault-tolerant architecture across AWS Regions or Availability Zones
+ Identifying metrics based on business requirements to deliver a highly available solution
+ Implementing designs to mitigate single points of failure
+ Implementing strategies to ensure the durability and availability of data (for example, backups)
+ Selecting an appropriate DR strategy to meet business requirements
+ Using AWS services that improve the reliability of legacy applications and applications not built for the cloud (for example, when application changes are not possible)
+ Using purpose-built AWS services for workloads