A company is designing a serverless application using AWS Lambda and Amazon API Gateway. The application must handle sudden spikes in traffic and ensure that no requests are lost. Which of the following design choices will BEST meet these requirements?
Usage plans and throttling control the request rate, while reserved concurrency ensures the Lambda function has dedicated capacity to handle the allowed traffic without being throttled by other functions.
Why this answer
Option B is correct because configuring API Gateway with usage plans and throttling prevents overwhelming the backend, while Lambda reserved concurrency ensures a minimum capacity for the function. Option A is wrong because Lambda provisioned concurrency adds cost and is for reducing cold starts, not for handling spikes without loss. Option C is wrong because SQS decouples but does not prevent loss if Lambda doesn't scale.
Option D is wrong because Step Functions add orchestration overhead and complexity.