DOP-C02 Question 173
Select 2You are designing a distributed, loosely coupled architecture for a high-volume e-commerce application on AWS. The application processes customer orders in real-time and sends order confirmation emails. To ensure scalability, fault tolerance, and decoupling between the order processing and email notification components, which combination of AWS services should you use?
- A
Amazon SQS for decoupling the order processing and email notification components
- B
Amazon SNS to send order confirmation emails directly from the application
- C
Amazon DynamoDB to store order details and trigger Lambda for email notifications
- D
AWS Step Functions to orchestrate the order processing and email notification workflow
- E
Amazon Kinesis Data Streams for buffering messages between the order processing and email notification components
Show answer and explanation
Correct answers: A, D
Explanation
In a loosely coupled and distributed architecture, Amazon SQS is the best choice for decoupling the order processing and email notification components by acting as a message queue. AWS Step Functions complements this by orchestrating workflows between the components, ensuring scalability, reliability, and fault tolerance. Together, they form a robust solution for the requirements of the e-commerce application.
- A. Correct.
Amazon SQS is ideal for decoupling systems. It allows the order processing and email notification components to operate independently, ensuring scalability and fault tolerance.
- B. Incorrect.
Amazon SNS is not a suitable choice in this context because it sends notifications directly to subscribers, which does not align with the need for loose coupling between the order processing and email notification systems.
- C. Incorrect.
Amazon DynamoDB is useful for storing data but is not specifically designed for decoupling components or triggering email notifications. Event-driven triggers like DynamoDB Streams could work, but they are not the best fit for loosely coupled architectures in this scenario.
- D. Correct.
AWS Step Functions is a managed orchestration service that can coordinate workflows between multiple services, providing a reliable and scalable solution for linking the order processing and email notification components.
- E. Incorrect.
Amazon Kinesis Data Streams is designed for real-time data streaming and analytics, not for decoupling components in a distributed system. It would introduce unnecessary complexity for this use case.