Q95 — AWS SAA-C03 Ch.13
Question 95 of 100 | ← Chapter 13
Q995. A company needs to design a resilient web application to process customer orders. The web application must automatically handle increases in web traffic and application usage without affecting the customer experience or losing customer orders.Which solution will meet these requirements?
- A. Use a NAT gateway to manage web traffic. Use Amazon EC2 Auto Scaling groups to receive, process, and store processed customer orders. Use an AWS Lambda function to capture and store unprocessed orders.
- B. Use a Network Load Balancer (NLB) to manage web traffic. Use an Application Load Balancer to receive customer orders from the NLUse Amazon Redshift with a Multi-AZ deployment to store unprocessed and processed customer orders.
- C. Use a Gateway Load Balancer (GWLB) to manage web traffic. Use Amazon Elastic Container Service (Amazon ECS) to receive and process customer orders. Use the GWLB to capture and store unprocessed orders. Use Amazon DynamoDB to store processed customer orders.
- D. Use an Application Load Balancer to manage web traffic. Use Amazon EC2 Auto Scaling groups to receive and process customer orders. Use Amazon Simple Queue Service (Amazon SQS) to store unprocessed orders. Use Amazon RDS with a Multi-AZ deployment to store processed customer orders. ✓
Correct Answer: D. Use an Application Load Balancer to manage web traffic. Use Amazon EC2 Auto Scaling groups to receive and process customer orders. Use Amazon Simple Queue Service (Amazon SQS) to store unprocessed orders. Use Amazon RDS with a Multi-AZ deployment to store processed customer orders.
Explanation
To design a resilient web application that can automatically handle increases in web traffic and application usage without affecting the customer experience or losing customer orders, the best solution is:D. Use an Application Load Balancer to manage web traffic. Use Amazon EC2 Auto Scaling groups to receive and process customer orders. Use Amazon Simple Queue Service (Amazon SQS) to store unprocessed orders. Use Amazon RDS with a Multi-AZ deployment to store processed customer orders.Explanation:Application Load Balancer (ALB): An ALB effectively distributes incoming application traffic across multiple targets, such as EC2 instances in an Auto Scaling group. This allows the application to handle varying levels of traffic while maintaining availability.EC2 Auto Scaling Groups: Auto Scaling helps ensure that the application can automatically adjust the number of EC2 instances in response to changes in traffic. This scaling capability helps maintain performance and availability during peak usage.Amazon SQS: SQS is a fully managed message queuing service that allows you to decouple components of the application. By using SQS to store unprocessed orders, you can ensure that no orders are lost during traffic spikes, as messages can be processed at a manageable rate.Amazon RDS with Multi-AZ deployment: RDS provides a managed relational database service with built-in high availability through Multi-AZ deployments. This ensures that customer orders are stored securely and reliably, with automatic failover in case of issues.Evaluation of Other Options:A. Use a NAT gateway...: This option lacks a robust mechanism for handling unprocessed orders and does not specify a reliable storage solution for processed orders. Additionally, using a NAT gateway is not directly relevant to managing web traffic.B. Use a Network Load Balancer (NLB)...: While an NLB is great for TCP traffic, it is less suitable for HTTP/HTTPS traffic compared to an ALB. Also, using Amazon Redshift is inappropriate for storing customer orders, as Redshift is designed for data warehousing and not for operational transaction processing.C. Use a Gateway Load Balancer (GWLB)...: Similar to the previous option, a GWLB is not ideal for application layer traffic management. Additionally, capturing and storing unprocessed orders via a GWLB adds unnecessary complexity.In summary, Option D provides a comprehensive and resilient architecture that can effectively handle increases in web traffic while ensuring that customer orders are processed reliably and without loss.