AWS Certified Solutions Architect – Associate (SAA-C02) — Question 468
A manufacturing company wants to implement predictive maintenance on its machinery equipment. The company will install thousands of IoT sensors that will send data to AWS in real time. A solutions architect is tasked with implementing a solution that will receive events in an ordered manner for each machinery asset and ensure that data is saved for further processing at a later time.
Which solution would be MOST efficient?
Answer options
- A. Use Amazon Kinesis Data Streams for real-time events with a partition for each equipment asset. Use Amazon Kinesis Data Firehose to save data to Amazon S3.
- B. Use Amazon Kinesis Data Streams for real-time events with a shard for each equipment asset. Use Amazon Kinesis Data Firehose to save data to Amazon Elastic Block Store (Amazon EBS).
- C. Use an Amazon SQS FIFO queue for real-time events with one queue for each equipment asset. Trigger an AWS Lambda function for the SQS queue to save data to Amazon Elastic File System (Amazon EFS).
- D. Use an Amazon SQS standard queue for real-time events with one queue for each equipment asset. Trigger an AWS Lambda function from the SQS queue to save data to Amazon S3.
Correct answer: A
Explanation
Amazon Kinesis Data Streams is designed for real-time streaming and guarantees message ordering within a shard based on the partition key, which is ideal when partitioning by machinery asset. Amazon Kinesis Data Firehose can then easily and automatically load this streaming data into Amazon S3 for durable, cost-effective storage. Utilizing Amazon SQS FIFO or standard queues with a separate queue per asset is highly inefficient and does not scale well, while Amazon EBS and Amazon EFS are inappropriate storage targets for streaming ingestion at this scale.