DOP-C02 Question 174
Select 2You are designing an event-driven application that processes real-time data streams from multiple IoT devices. The architecture needs to be loosely coupled to ensure scalability and fault tolerance. Which combination of services would best meet these requirements?
- A
Amazon SQS for message queuing and Amazon Lambda for processing
- B
Amazon SNS for message delivery and Amazon S3 for data storage
- C
Amazon Kinesis Data Streams for real-time data ingestion and Amazon Lambda for processing
- D
Amazon RDS for storing messages and Amazon EC2 instances for processing
- E
Amazon MQ for message queuing and Amazon ECS for containerized processing
Show answer and explanation
Correct answers: A, C
Explanation
Loosely coupled architectures are critical for scalability and fault tolerance. Amazon SQS and Amazon Kinesis Data Streams are excellent choices for decoupling components and handling real-time data streams, respectively. Both services integrate seamlessly with Amazon Lambda, which provides serverless compute capabilities and scales automatically to process messages or data. This combination ensures a highly scalable and resilient architecture while minimizing operational overhead.
- A. Correct.
Amazon SQS is a fully managed message queue service that enables decoupling of application components. Amazon Lambda can process messages from the queue, making this a scalable and fault-tolerant solution.
- B. Incorrect.
Amazon SNS is a pub/sub messaging service, which is more suitable for fan-out scenarios rather than loosely coupled architectures that require message persistence. Amazon S3, while useful for storage, is not a real-time processing solution.
- C. Correct.
Amazon Kinesis Data Streams is designed for real-time data ingestion, and Amazon Lambda can process data from Kinesis in a serverless way, ensuring scalability and resilience.
- D. Incorrect.
Amazon RDS is a relational database, which is not ideal for message queuing or real-time processing in a loosely coupled architecture. EC2 instances require manual scaling and management, making this less fault-tolerant.
- E. Incorrect.
Amazon MQ is a managed message broker service, but it is more suitable for traditional message brokering systems rather than scalable, serverless solutions. Amazon ECS, while useful for containerized applications, requires more overhead compared to serverless options like Lambda.