
Ultimate access to all questions.
A DevOps engineer is responsible for a commercial website hosted on Amazon EC2 that utilizes Amazon Kinesis Data Streams for web log collection and processing. The engineer oversees a Kinesis consumer application running on EC2 instances. During periods of high data influx, the consumer application lags, leading to dropped records in the Kinesis streams before they can be processed. To enhance stream processing efficiency, which solution should the DevOps engineer implement?
A
Modify the Kinesis consumer application to store logs persistently in Amazon S3, then use Amazon EMR for data processing on S3 to gain customer insights, and finally store the insights in Amazon S3.
B
Scale out the Kinesis consumer application by deploying additional EC2 instances in response to the Amazon CloudWatch GetRecords.IteratorAgeMilliseconds metric, and extend the retention period of the Kinesis data streams.
C
Reconfigure the Kinesis consumer application to operate as an AWS Lambda function, with the Kinesis data streams set as the event source for the Lambda function to handle stream processing.
D
Enhance the throughput of the Kinesis data streams by increasing the number of shards, thereby allowing the consumer application to process data more rapidly.