Optimizing Kinesis Data Streams with Enhanced Fan-Out and PutRecords

Answer Correct answer: A — Configure the mobile app to call the PutRecords API operation to send data to Amazon Kinesis Data Streams. Use the enhanced fan-out feature with a stream for each internal consumer.

A mobile gaming company wants to capture data from its gaming app. The company wants to make the data available to three internal consumers of the data. The data records are approximately 20 KB in size. The company wants to achieve optimal throughput from each device that runs the gaming app. Additionally, the company wants to develop an application to process data streams. The stream-processing application must have dedicated throughput for each internal consumer. Which solution will meet these requirements?

  1. Configure the mobile app to call the PutRecords API operation to send data to Amazon Kinesis Data Streams. Use the enhanced fan-out feature with a stream for each internal consumer. Correct Answer
  2. Configure the mobile app to call the PutRecordBatch API operation to send data to Amazon Kinesis Data Firehose. Submit an AWS Support case to turn on dedicated throughput for the company’s AWS account. Allow each internal consumer to access the stream.
  3. Configure the mobile app to use the Amazon Kinesis Producer Library (KPL) to send data to Amazon Kinesis Data Firehose. Use the enhanced fan-out feature with a stream for each internal consumer.
  4. Configure the mobile app to call the PutRecords API operation to send data to Amazon Kinesis Data Streams. Host the stream-processing application for each internal consumer on Amazon EC2 instances. Configure auto scaling for the EC2 instances.

Community Votes

A
100%

100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

The scenario tests the distinction between standard shared throughput and enhanced fan-out, combined with the efficiency of batched ingestion APIs like PutRecords.

This question evaluates the optimal strategy for ingesting high-volume mobile gaming data into Amazon Kinesis Data Streams while ensuring dedicated throughput for multiple internal consumers.

Candidates often select Option D, assuming EC2 auto-scaling provides the necessary dedicated throughput, or Option B, mistakenly believing Firehose supports enhanced fan-out or that support cases can override service limits instantly.

Community Discussion (5 comments)

MerryLew 👍 1 Selected: A
The fan out feature allows consumers to receive data from a stream with dedicated throughput
AgboolaKun 👍 2 Selected: A
The correct answer is A. Here is why: Amazon Kinesis Data Streams is designed for real-time streaming data. The PutRecords API is efficient for sending multiple records to Kinesis in a single call, which is good for optimizing throughput from mobile devices. The enhanced fan-out feature allows multiple consumers to read from the same stream with dedicated throughput for each consumer, which meets the requirement of dedicated throughput for each internal consumer. This option uses uses Kinesis Data Streams for real-time processing, optimizes throughput from mobile devices with the PutRecords API, and provides dedicated throughput for each consumer using the enhanced fan-out feature.
pikuantne 👍 1 Selected: A
A is best, but I think it was supposed to be a SHARD for each consumer. B - doesn't make any sense C - Firehose does not have enhanced fan-out afaik D - does not have the dedicated throughput as it doesn't use enhanced fan-out with KDS
LR2023 👍 1 Selected: B
https://docs.aws.amazon.com/streams/latest/dev/kpl-with-firehose.html KPL does work with firehose
Fawk 👍 2 Selected: A
Seems to be A - Since KPL does not work into firehouse and only streams, and additionally the dedicated throughput is solved through fan-out

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Option A is the correct solution because it addresses all three constraints: efficient ingestion, optimal device throughput, and dedicated consumer throughput. The PutRecords API allows the mobile app to send multiple records in a single request, reducing network overhead and optimizing throughput from each device compared to individual PutRecord calls. Furthermore, Amazon Kinesis Data Streams' enhanced fan-out feature provides dedicated 2 MB/s throughput per consumer directly from the stream, bypassing the shared shard limit. This ensures that each of the three internal consumers receives data with guaranteed, isolated bandwidth.

Why the Other Options Are Wrong

Option B is incorrect because Amazon Kinesis Data Firehose does not support the enhanced fan-out feature; it is designed for loading data into destinations like S3 or Redshift, not for real-time application consumption. Additionally, requesting dedicated throughput via an AWS Support case is not a standard architectural pattern for this requirement. Option C is invalid because while KPL can work with Firehose (as noted by user LR2023), Firehose still lacks enhanced fan-out, failing the dedicated throughput requirement. Option D uses PutRecords correctly but relies on standard consumer logic without enhanced fan-out; thus, all consumers would share the shard's throughput, violating the 'dedicated throughput' requirement.

Community Comment Notes

The community overwhelmingly agrees with Option A. User AgboolaKun highlighted that PutRecords is efficient for sending multiple records, optimizing device throughput, while enhanced fan-out provides dedicated streams for consumers. User Fawk confirmed that KPL does not work with Firehose in the context of enhancing fan-out capabilities and that dedicated throughput is solved through fan-out. User pikuantne reinforced that Firehose lacks enhanced fan-out and that Option D fails to provide dedicated throughput without it.

Official Reference

Exam Strategy

When a question specifies 'dedicated throughput' for multiple consumers reading from a stream, immediately look for 'Enhanced Fan-Out'. For high-volume ingestion from many devices, prefer batch APIs like PutRecords over single-record APIs to reduce latency and cost.

Frequently Asked Questions

Why is PutRecords better than PutRecord for mobile apps?

PutRecords batches multiple records into a single API call, reducing network overhead and improving throughput optimization from each device.

Does Kinesis Data Firehose support enhanced fan-out?

No, Firehose does not support enhanced fan-out; it is designed for loading data to destinations like S3, whereas Data Streams supports real-time consumption with fan-out.

More DEA-C01 FAQ →

Related Analysis

Practice All DEA-C01 Questions

Access 100 questions with complete answers and detailed explanations.

View Full DEA-C01 Practice Test →

← Back to DEA-C01 Study Guide