SAP-C02 Question 71
Select 3You are designing a new multi-tier application architecture on AWS that must provide high availability and resilience against failures. The application stack includes a web tier, an application tier, and a database tier. The web and application tiers are stateless, and the database tier requires strong consistency. Which combination of strategies should you implement to ensure a reliable and resilient architecture?
- A
Deploy the web and application tiers using Auto Scaling groups across multiple Availability Zones.
- B
Use Amazon RDS with Multi-AZ deployment for the database tier.
- C
Implement ElastiCache to reduce load on the database and store session state.
- D
Configure a Network Load Balancer for distributing traffic to the web tier.
- E
Deploy all components in a single Availability Zone to minimize latency.
Show answer and explanation
Correct answers: A, B, C
Explanation
To design a reliable and resilient architecture, it's important to distribute components across multiple Availability Zones, use managed services that provide high availability (such as Amazon RDS with Multi-AZ), and optimize performance with caching solutions like ElastiCache. These strategies collectively ensure fault tolerance, minimize downtime, and improve application performance, meeting the requirements of a resilient architecture.
- A. Correct.
Deploying the web and application tiers using Auto Scaling groups across multiple Availability Zones ensures that the architecture is fault-tolerant and can handle the failure of a single Availability Zone, making it highly available and resilient.
- B. Correct.
Using Amazon RDS with Multi-AZ deployment provides automatic failover in case of database instance failure, ensuring high availability and resilience for the database tier.
- C. Correct.
Implementing ElastiCache helps reduce the load on the database by caching frequently accessed data and can store session state for stateless tiers, improving overall reliability and resilience.
- D. Incorrect.
A Network Load Balancer is primarily designed for handling TCP-based workloads with low latency and is less suitable for web-tier traffic in this scenario. An Application Load Balancer would be more appropriate for HTTP/HTTPS traffic.
- E. Incorrect.
Deploying all components in a single Availability Zone introduces a single point of failure, which is not aligned with the goal of creating a reliable and resilient architecture.