DEA-C01 Question 326
Select 3A company is building a real-time data processing pipeline for streaming sensor data from IoT devices. They are deciding between using Amazon Kinesis Data Streams (provisioned service) and AWS Lambda with Amazon S3 (serverless service). Which of the following considerations should impact their decision?
- A
Amazon Kinesis Data Streams provides fine-grained control over throughput and scaling, which can be important for high-volume, consistent workloads.
- B
AWS Lambda automatically scales based on the number of incoming events, making it suitable for workloads with unpredictable traffic patterns.
- C
Using Amazon Kinesis Data Streams eliminates the need to manage infrastructure and automatically adjusts scaling without user input.
- D
AWS Lambda has an execution time limit, which might be a constraint for long-running data processing tasks.
- E
Amazon Kinesis Data Streams is cost-effective for infrequent, low-volume workloads due to its pay-per-request pricing model.
Show answer and explanation
Correct answers: A, B, D
Explanation
When choosing between provisioned services like Amazon Kinesis Data Streams and serverless services like AWS Lambda, it is crucial to consider the tradeoffs in scalability, cost, and operational overhead. Kinesis Data Streams offers granular control over throughput and is well-suited for high-volume, consistent workloads, while Lambda’s automatic scaling is ideal for unpredictable workloads. However, Lambda’s execution time limit can be a constraint for specific use cases, and Kinesis Data Streams requires careful capacity management and may not be cost-optimal for low-volume workloads.
- A. Correct.
Correct: Amazon Kinesis Data Streams enables fine-grained throughput control and allows users to provision capacity based on workload requirements, making it ideal for consistent, high-volume workloads.
- B. Correct.
Correct: AWS Lambda’s auto-scaling capability makes it a strong option for workloads with unpredictable or spiky traffic patterns, as it can scale up and down without manual intervention.
- C. Incorrect.
Incorrect: Amazon Kinesis Data Streams requires users to provision and manage capacity, which includes planning for scaling. It does not automatically adjust scaling without user input.
- D. Correct.
Correct: AWS Lambda has a maximum execution time limit (15 minutes as of October 2023), which can be a limiting factor for tasks requiring extended processing time.
- E. Incorrect.
Incorrect: Amazon Kinesis Data Streams charges based on provisioned capacity, not pay-per-request pricing, making it less cost-effective for low-volume or infrequent workloads.