AWS Certified Solutions Architect – Associate (SAA-C03) — Question 393
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 acts as a buffer to handle sudden traffic spikes and prevents message loss when AWS Lambda reaches its concurrency limits. Increasing the function timeout (Option A) or setting up S3 replication (Option B) does not resolve the ingestion rate mismatch. Load balancing across multiple Lambda functions (Option C) is not a standard architecture and does not natively queue or throttle incoming S3 events.