AWS Certified Solutions Architect – Associate (SAA-C02) — Question 667
A company has deployed a serverless application that invokes an AWS Lambda function when new documents are uploaded to an Amazon S3 bucket. The application uses the Lambda function to process the documents. After a recent marketing campaign, the company noticed that the application did not process many of the documents.
What should a solutions architect do to improve the architecture of this application?
Answer options
- A. Set the Lambda function's runtime timeout value to 15 minutes.
- B. Configure an S3 bucket replication policy. Stage the documents in the S3 bucket for later processing.
- C. Deploy an additional Lambda function. Load balance the processing of the documents across the two Lambda functions.
- D. Create an Amazon Simple Queue Service (Amazon SQS) queue. Send the requests to the queue. Configure the queue as an event source for Lambda.
Correct answer: D
Explanation
Integrating an Amazon SQS queue between Amazon S3 and AWS Lambda decouples the ingestion and processing layers, allowing the application to buffer sudden spikes in traffic and prevent Lambda throttling. Increasing the timeout limit (Option A) does not resolve concurrency limits or dropped events, S3 replication (Option B) does not address processing bottlenecks, and you cannot directly load balance Lambda functions in the manner described in Option C.