Resilient Web Application Architecture with SQS and Auto Scaling
Short 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.
Question
Key Takeaways
The core concept tested is loose coupling via message queues; the common trap is selecting options that misuse networking components (like GWLB) or storage services (like Redshift) for application logic rather than their intended purposes.
This question addresses designing a scalable and decoupled architecture for order processing using AWS services. It establishes that combining an Application Load Balancer, EC2 Auto Scaling, Amazon SQS, and RDS Multi-AZ is the correct solution to handle traffic spikes and ensure data durability.
Common mistake: Candidates often overlook the role of SQS in buffering traffic, leading them to choose options where EC2 instances attempt direct synchronous processing, which fails to decouple the system during traffic spikes.
Expert Analysis
Why the Answer Is Correct
Option D correctly implements a resilient and scalable architecture by leveraging multiple AWS best practices. The Application Load Balancer (ALB) distributes incoming web traffic efficiently across targets. Amazon EC2 Auto Scaling groups dynamically adjust capacity based on load, ensuring the application handles increased traffic without manual intervention. Crucially, Amazon Simple Queue Service (SQS) acts as a buffer between the web layer and the processing layer, absorbing traffic spikes and preventing data loss if the processing tier is overwhelmed. Finally, Amazon RDS with Multi-AZ deployment provides high availability and fault tolerance for the database storing processed orders.
Why the Other Options Are Wrong
Option A suggests using NAT Gateway for web traffic management, which is incorrect as NAT Gateways are used for outbound internet access from private subnets, not inbound traffic distribution. It also proposes using Lambda for unprocessed orders, which doesn't fit the persistent queue model needed here. Option B misuses Network Load Balancer (NLB) primarily for HTTP/web traffic (though it can, ALB is better for Layer 7) and incorrectly uses Amazon Redshift, a data warehousing service, for storing transactional customer orders. Option C uses Gateway Load Balancer (GWLB), which is designed for inserting third-party virtual appliances, not general web traffic. It also incorrectly assigns GWLB the role of capturing/storing orders.
Community Comment Notes
The community consensus strongly supports Option D as the only viable architecture. Users like Cpso noted that while D is right, a clear explanation would benefit from visualizing two groups: one for accepting orders into the queue and another for processing them. Others simply confirmed D is 'perfect' or 'right', indicating broad agreement on the standard pattern.
Exam Strategy
When asked to design a resilient system, always look for decoupling mechanisms like SQS or SNS between compute layers. Ensure you select storage solutions appropriate for the data type (e.g., RDS for transactions, not Redshift) and include scaling components for compute resources.
Frequently Asked Questions
Why use SQS instead of just letting EC2 process directly?
Why is RDS Multi-AZ preferred over single-instance DB?
Community Votes
100% of anonymous learners picked answer D. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 3 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 3
-
Cpso 👍 1 Answered DD is right. But explaining is unclear. should have 2 group of ec2. one for accept order to queue. another to process and store to DB.
-
komorebi 👍 3 Answered DAnswer is D
-
pujithacg8 👍 2D is perfect
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →