DOP-C02 Question 172
Select 4A company is designing a new application that processes orders from an e-commerce platform. They want to ensure the system is highly available, fault-tolerant, and loosely coupled. The application should handle sudden spikes in traffic during sales events without impacting performance. Which combination of AWS services best meets these requirements?
- A
Amazon SQS for decoupling components of the application
- B
Amazon RDS with Multi-AZ deployment for order database storage
- C
AWS Lambda for processing orders on-demand
- D
Amazon EC2 Auto Scaling with a fixed instance count for application servers
- E
Amazon ElastiCache for caching frequently accessed order data
Show answer and explanation
Correct answers: A, B, C, E
Explanation
To design a loosely coupled, distributed, and highly available architecture, the combination of Amazon SQS, Amazon RDS with Multi-AZ, AWS Lambda, and Amazon ElastiCache is ideal. SQS decouples application components, RDS ensures database availability, Lambda scales to handle traffic spikes, and ElastiCache optimizes data access. EC2 Auto Scaling with a fixed instance count does not provide the necessary flexibility for dynamic scaling, which is critical during sales events.
- A. Correct.
Amazon SQS is a fully managed message queue service that helps decouple components of distributed systems, ensuring loose coupling and fault tolerance.
- B. Correct.
Amazon RDS with Multi-AZ deployment provides high availability and fault tolerance for relational databases, which is essential for critical order data.
- C. Correct.
AWS Lambda processes requests on-demand and scales automatically, making it suitable for handling sudden traffic spikes while maintaining a loosely coupled architecture.
- D. Incorrect.
Amazon EC2 Auto Scaling with a fixed instance count does not provide the flexibility required to handle sudden traffic spikes dynamically, making it a less suitable option for this use case.
- E. Correct.
Amazon ElastiCache improves application performance by caching frequently accessed data, reducing database load during high traffic periods.