Question

Difficulty: MediumHigh-Performing Data Ingestion and Transformation Solutions

A telemetry ingestion pipeline collects data from 100,000100,000 IoT sensors. Each sensor transmits a 1.5 KB1.5\text{ KB} payload every 10 seconds10\text{ seconds} to an Amazon Kinesis data stream configured with 1010 provisioned shards. During peak periods, downstream consumers experience data gaps, and the sensor applications log frequent `ProvisionedThroughputExceededException` errors. Which action should a solutions architect take to resolve this issue with the least operational overhead?

  1. Change the capacity mode of the Kinesis data stream to On-Demand.Answer
  2. B
    Increase the number of provisioned shards in the Kinesis data stream to 1212.
  3. C
    Migrate the ingestion layer from Amazon Kinesis Data Streams to a standard Amazon SQS queue to buffer the telemetry spikes.
  4. D
    Configure an AWS Lambda function triggered by an Amazon CloudWatch alarm to programmatically scale the stream's shard count when utilization exceeds 80%80\%.

Answer

Change the capacity mode of the Kinesis data stream to On-Demand.
The correct option is to change the capacity mode of the Kinesis data stream to On-Demand. The total ingestion requirements are 10,000 records/s10,000\text{ records/s} and 15 MB/s15\text{ MB/s} of throughput. Since a single shard is limited to 1 MB/s1\text{ MB/s} of write throughput, the stream requires a minimum of 1515 shards. The current configuration of 1010 shards is insufficient. Switching to On-Demand capacity mode enables automatic scaling of shards to accommodate the peak write rate, eliminating the ProvisionedThroughputExceededException errors with minimal administrative effort.

Step-by-Step Solution

1
Calculate the peak throughput and record rate of the IoT ingestion pipeline.
Record Rate = 10,000 records/s10,000\text{ records/s}. Throughput = 10,000 records/s×1.5 KB=15,000 KB/s=15 MB/s10,000\text{ records/s} \times 1.5\text{ KB} = 15,000\text{ KB/s} = 15\text{ MB/s}.
To determine the minimum shard capacity required for ingestion.
2
Compare the calculated requirement against the current stream capacity.
Current capacity is 10 MB/s10\text{ MB/s} and 10,000 records/s10,000\text{ records/s}. The required write throughput (15 MB/s15\text{ MB/s}) exceeds the provisioned capacity limit (10 MB/s10\text{ MB/s}).
To verify if the write throughput limit is being exceeded, causing the ProvisionedThroughputExceededException.
3
Choose the solution that resolves the limitation with the lowest operational overhead.
Select On-Demand capacity mode instead of manually resizing the stream or writing custom scaling automation.
On-Demand capacity mode requires zero administrative management and adapts dynamically to traffic peaks.

Key Concept

Kinesis Data Streams Capacity Planning and Auto-Scaling
Estimated Time:1m 30s
Rate this question