exam questions

Exam AWS Certified DevOps Engineer - Professional DOP-C02 All Questions

View all questions & answers for the AWS Certified DevOps Engineer - Professional DOP-C02 exam

Exam AWS Certified DevOps Engineer - Professional DOP-C02 topic 1 question 100 discussion

A DevOps engineer manages a large commercial website that runs on Amazon EC2. The website uses Amazon Kinesis Data Streams to collect and process web logs. The DevOps engineer manages the Kinesis consumer application, which also runs on Amazon EC2.

Sudden increases of data cause the Kinesis consumer application to fall behind, and the Kinesis data streams drop records before the records can be processed. The DevOps engineer must implement a solution to improve stream handling.

Which solution meets these requirements with the MOST operational efficiency?

  • A. Modify the Kinesis consumer application to store the logs durably in Amazon S3. Use Amazon EMR to process the data directly on Amazon S3 to derive customer insights. Store the results in Amazon S3.
  • B. Horizontally scale the Kinesis consumer application by adding more EC2 instances based on the Amazon CloudWatch GetRecords.IteratorAgeMilliseconds metric. Increase the retention period of the Kinesis data streams.
  • C. Convert the Kinesis consumer application to run as an AWS Lambda function. Configure the Kinesis data streams as the event source for the Lambda function to process the data streams.
  • D. Increase the number of shards in the Kinesis data streams to increase the overall throughput so that the consumer application processes the data faster.
Show Suggested Answer Hide Answer
Suggested Answer: B 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
emupsx1
Highly Voted 1 year, 6 months ago
The answer is B because: A few hours ago, I just finished the DOP-C02 exam. My score is 1000 points. This question has come up, I choose B.
upvoted 41 times
youonebe
1 month, 2 weeks ago
Remember, only 50 of the questions are graded. First, there is no way what you said is true. Second, your answer might not be graded. Correct answer is a firm C.
upvoted 3 times
...
[Removed]
1 year, 4 months ago
Were there any other questions from here in the exam?
upvoted 2 times
...
yorkicurke
1 year, 2 months ago
First of all Congratulations. Now how do you know that this question was not from those 10 questions that do not count towards your score. and your answer to this question was Wrong but not counted towards your score. Just Saying!! Peace :)
upvoted 1 times
Jaguaroooo
1 year ago
B is the Answer, let him show off, it is ok.
upvoted 5 times
...
...
...
yorkicurke
Highly Voted 1 year, 2 months ago
Selected Answer: B
why not C? because we just replace ONE ec2 with ONE lambda here. And no mention of aws lambda reserved concurrency or provisioned concurrency. In the question were are asked for 'MOST operational efficiency'. that's my two cents. Ciao
upvoted 6 times
...
2d943d1
Most Recent 2 weeks, 1 day ago
Selected Answer: C
I think most people are missing the part where the question focuses on MOST operational efficiency. Lambda fits this purpose, as ww are not managing instances and Lambda can scale to meet throughput demands.
upvoted 1 times
...
ZinggieG87
1 month, 2 weeks ago
Selected Answer: D
A, sounds a lot effort towards a different architecture solution. B, I don't think the insufficient kinesis throughput has can be resolved. C, adding lambda is a big change, no mention about the concurrency limit isn't clear mentioned in the question.
upvoted 1 times
...
youonebe
1 month, 2 weeks ago
Selected Answer: C
Answer is C. B - This solution improves the consumer application’s ability to handle increased throughput, but it still requires manual scaling of EC2 instances, which can involve some complexity and operational overhead. C - Using Lambda is obviously more Operational Efficient.
upvoted 1 times
...
Gomer
7 months, 3 weeks ago
Selected Answer: B
I think B makes more sence, because "the Kinesis data streams drop records before the records can be processed". It's not an intake throughput issue that needs more shards, but an outtake throughput issue. "Consumer Record Processing Falling Behind" "After you identify how far behind your consumers are reading, look at the most common reasons why consumers fall behind. Start with the GetRecords.IteratorAgeMilliseconds metric, which tracks the read position across all shards and consumers in the stream. Note that if an iterator's age passes 50% of the retention period (by default, 24 hours...), there is risk for data loss due to record expiration." "A quick stopgap solution is to increase the retention period." [...] "An alternative approach is to increase your parallelism by increasing the number of shards." "Finally, confirm you have an adequate amount of physical resources (memory, CPU utilization, etc.) on the underlying processing nodes during peak demand." https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html
upvoted 2 times
...
zijo
8 months ago
B is a good choice The GetRecords.IteratorAgeMilliseconds metric in Amazon CloudWatch for Amazon Kinesis Data Streams measures the age of the last record returned by the GetRecords operation. Specifically, it represents the time difference between the current time and the approximate arrival timestamp of the last record processed by a consumer in milliseconds. Purpose: Measures the delay in processing data records from the time they are added to the stream to the time they are processed by a consumer. Scaling: If you observe high iterator age values, consider increasing the number of shards or enhancing the processing capacity of your consumers (e.g., adding more instances or increasing the processing power of existing instances).
upvoted 1 times
...
seetpt
9 months, 1 week ago
Selected Answer: B
I choose B
upvoted 1 times
...
c3518fc
9 months, 3 weeks ago
Selected Answer: B
Consumer Record Processing Falling Behind For most use cases, consumer applications are reading the latest data from the stream. In certain circumstances, consumer reads may fall behind, which may not be desired. After you identify how far behind your consumers are reading, look at the most common reasons why consumers fall behind. Start with the GetRecords.IteratorAgeMilliseconds metric, which tracks the read position across all shards and consumers in the stream. Note that if an iterator's age passes 50% of the retention period (by default, 24 hours, configurable up to 365 days), there is risk for data loss due to record expiration. A quick stopgap solution is to increase the retention period. This stops the loss of important data while you troubleshoot the issue further. https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#record-processing-falls-behind
upvoted 4 times
...
Shasha1
11 months, 1 week ago
B GetRecords.IteratorAgeMilliseconds metric : its for track the progress of Kinese consumer, this cloud watch matric is use for the measuring the difference between current time and when the last record of GetRecords calls written to the stream. IteratorAgeMilliseconds metric is 0 means is processing fast enough and if its >0 its slow in processing. Therefore, Horizontally scale the Kinesis consumer application by adding more EC2 instances based on the Amazon CloudWatch GetRecords.IteratorAgeMilliseconds metric. Increase the retention period of the Kinesis data streams.
upvoted 2 times
...
kyuhuck
11 months, 3 weeks ago
Selected Answer: C
option C (Converting the Kinesis consumer application to run as an AWS Lambda function) is the most suitable solution. This approach automatically scales with the amount of incoming data, reduces the operational burden of managing EC2 instances, and leverages the serverless model to only incur costs for the actual compute time used for processing the data. This option provides a scalable, efficient, and cost-effective solution to the problem without the need for extensive infrastructure management.
upvoted 2 times
...
thanhnv142
1 year ago
B is correct: <consumer application to fall behind> means we need to increase the power of the consumer. <Kinesis data streams drop records> means we should extend timeout. Only B match these requirements A: irrelevant C: Lambda is used only for short-lived tasks because its maximum execution time is 15 min. In this case, we need to process web logs. This is a time-consuming task, which is not suitable for Lambda D: No mention of increasing Consumer power
upvoted 1 times
...
svjl
1 year, 2 months ago
B & D are correct. However, the question is looking for a solution for two issues "application to fall behind, and the Kinesis data streams drop records before the records can be processed" Then, B is the most appropriate solution
upvoted 3 times
...
2pk
1 year, 3 months ago
B is the answer: The data fall beind due to lack of pysical resources at consumer side. Icrease of more nodes will address this issue. https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#record-processing-falls-behind
upvoted 1 times
...
buenos
1 year, 4 months ago
Selected Answer: B
I would say B
upvoted 2 times
...
Dushank
1 year, 4 months ago
Selected Answer: D
D. Increase the number of shards in the Kinesis data streams to increase the overall throughput so that the consumer application processes the data faster. Here's the rationale for choosing this option: Increasing Shards for Throughput: By increasing the number of shards in the Kinesis data streams, you increase the overall throughput and the capacity to handle sudden increases in data. This directly addresses the issue of the consumer application falling behind during data spikes. Operational Efficiency: Scaling the shards provides a more straightforward and efficient solution in terms of operation compared to modifying the consumer application, horizontally scaling instances, or converting the application to run as an AWS Lambda function.
upvoted 1 times
...
Seoyong
1 year, 5 months ago
Selected Answer: C
B is not correct. it manually scale EC2 instances. C is operationally efficiency .
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago