AWS Certified DevOps Engineer – Professional (DOP-C02) — Question 2
A company provides an application to customers. The application has an Amazon API Gateway REST API that invokes an AWS Lambda function. On initialization, the Lambda function loads a large amount of data from an Amazon DynamoDB table. The data load process results in long cold-start times of 8-10 seconds. The DynamoDB table has DynamoDB Accelerator (DAX) configured.
Customers report that the application intermittently takes a long time to respond to requests. The application receives thousands of requests throughout the day. In the middle of the day, the application experiences 10 times more requests than at any other time of the day. Near the end of the day, the application's request volume decreases to 10% of its normal total.
A DevOps engineer needs to reduce the latency of the Lambda function at all times of the day.
Which solution will meet these requirements?
Answer options
- A. Configure provisioned concurrency on the Lambda function with a concurrency value of 1. Delete the DAX cluster for the DynamoDB table.
- B. Configure reserved concurrency on the Lambda function with a concurrency value of 0.
- C. Configure provisioned concurrency on the Lambda function. Configure AWS Application Auto Scaling on the Lambda function with provisioned concurrency values set to a minimum of 1 and a maximum of 100.
- D. Configure reserved concurrency on the Lambda function. Configure AWS Application Auto Scaling on the API Gateway API with a reserved concurrency maximum value of 100.
Correct answer: C
Explanation
The correct answer is C because configuring provisioned concurrency helps to eliminate cold starts by keeping a specified number of Lambda instances warm, while AWS Application Auto Scaling allows for dynamic adjustment of this concurrency based on demand. Option A is incorrect as deleting the DAX cluster would not help with the cold start issue. Option B is also incorrect because a concurrency value of 0 means the function cannot handle any requests. Option D does not address the Lambda function's cold start latency effectively.