The most scalable and managed solution for streaming ingestion, real-time transformation, and delivery to Amazon S3 is Amazon Kinesis Data Streams, Amazon Managed Service for Apache Flink, and Amazon Kinesis Data Firehose.
From AWS Documentation:
“Amazon Kinesis Data Streams enables real-time processing of streaming data at massive scale. With Apache Flink on Kinesis Data Analytics, you can process data streams in near real-time, then use Amazon Kinesis Data Firehose to reliably deliver that data to S3.”
(Source: Amazon Kinesis Developer Guide)
Why A is correct:
Fully managed: All services involved are serverless and managed.
Real-time ingestion: Kinesis Data Streams supports sub-second latency and can handle high-throughput workloads like 100,000+ devices.
Near real-time processing: Apache Flink is designed for continuous stream processing with complex event handling.
Efficient delivery: Kinesis Firehose delivers processed data directly to S3 with retry and backup capability.
Why other options are incorrect:
Option B: SQS is not optimized for real-time streaming at high volume.
Option C: EC2 + Kafka + EMR adds high operational overhead and cost.
Option D: EventBridge is event-driven, not designed for high-throughput streaming; AWS Batch is unsuitable for near real-time processing.
[References:, Amazon Kinesis Developer Guide, AWS Well-Architected Framework – Performance Efficiency Pillar, Amazon Managed Flink (Apache Flink on KDA), , , ]