AWS Certified Solutions Architect Associate SAA-C03 Practice Question
You are designing a scalable web application for a retail company that expects unpredictable traffic spikes during sales promotions. The application consists of a frontend that accepts customer orders and a backend that processes payment transactions. To handle high load without over-provisioning resources, you want to decouple the frontend from the backend so that each can scale independently. Which service should you use to achieve this architectural pattern?
Implement scaling groups for both frontend and backend instances.
Process transactions synchronously using serverless functions.
Use a message queuing service such as Amazon SQS to pass messages between the frontend and backend.
Store orders in a relational database for the backend to read and process.
Using Amazon Simple Queue Service (SQS) allows you to decouple the frontend from the backend by introducing a queue between them. The frontend places customer orders into the queue, and the backend processes the orders from the queue at its own rate. This architecture enables each component to scale independently and handle varying loads efficiently.
Implementing scaling groups for both frontend and backend instances is not effective without decoupling. In fact, the backend may still become overwhelmed by spikes in frontend traffic because the components are tightly coupled.
Storing orders in a relational database for the backend to read and process does not work either. While databases can store data, they are not designed for decoupling components or handling message queues, and may not scale effectively for this use case.
Processing transactions synchronously using serverless does not decouple the frontend and backend and can cause latency issues or failures during high traffic peaks.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is Amazon SQS and how does it work?
Open an interactive chat with Bash
Why is decoupling important in scalable architecture?
Open an interactive chat with Bash
What are the alternatives to Amazon SQS for decoupling services?