A company runs a REST-based application on Amazon EC2 that receives near-real-time data from a third-party vendor. The application processes and stores the data. The vendor receives many 503 Service Unavailable errors when sending data because compute capacity spikes and the application reaches maximum capacity. Which design should a solutions architect recommend to provide a more scalable solution?
Choose an answer
Tap an option to check your answer.
Correct answer: Use Amazon Kinesis Data Streams to ingest the data. Process the data using AWS Lambda functions..
Why this is the answer
The correct solution leverages Kinesis Data Streams as a highly scalable, durable buffer for ingesting high-volume, near-real-time data. This decouples the data ingestion from processing, preventing 503 errors when the application experiences capacity spikes. AWS Lambda functions can then process data from the stream, automatically scaling to match the processing load without requiring pre-provisioned EC2 instances. API Gateway with a usage plan would throttle the vendor, not solve the underlying capacity issue for processing. SNS is a messaging service for notifications, not designed for streaming large volumes of data for processing. Repackaging the application as a container with ECS and Auto Scaling would improve scalability for the application itself, but it doesn't provide the same level of decoupling and buffering for the incoming data stream as Kinesis Data Streams, meaning spikes could still overwhelm the application before Auto Scaling reacts.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed