1.1 Develop code for applications hosted on AWS
1.A developer is building an application that will ingest a high-volume, continuous stream of IoT sensor data. This data needs to be processed in near real-time by multiple consumers. Which AWS service is designed for this use case?
- A.Amazon SQS
- B.Amazon Kinesis Data Streams
- C.Amazon S3
- D.Amazon Aurora
Show answer & explanation
Correct answer: B — Amazon Kinesis Data Streams
- A. Incorrect. Amazon SQS is a fully managed message queuing service excellent for decoupling microservices. However, it is not optimized for ingesting high-volume, continuous streams of data. In a standard SQS queue, a message is consumed by only one consumer, which does not meet the requirement for multiple consumers to process the same data stream concurrently without implementing a more complex fan-out pattern (e.g., using SNS).
- B. Correct. Amazon Kinesis Data Streams is specifically designed for real-time ingestion, processing, and analysis of large-scale streaming data. It can durably capture terabytes of data per hour from sources like IoT devices. A key feature is its ability to support multiple, independent consumer applications that can read and process the data from the stream concurrently and in near real-time, making it the ideal choice for this scenario.
- C. Incorrect. Amazon S3 is an object storage service designed for high durability and scalability for storing data. While it can be a destination for streaming data (often via a service like Kinesis Data Firehose), it is not a streaming ingestion service itself and does not provide the capability for multiple consumers to process data in near real-time as it arrives.
- D. Incorrect. Amazon Aurora is a high-performance, relational database service compatible with MySQL and PostgreSQL. It is optimized for Online Transaction Processing (OLTP) workloads. It is not designed to handle the continuous, high-throughput ingestion of streaming data and would be an inappropriate choice for this use case.