
Ultimate access to all questions.
Deep dive into the quiz with AI chat providers.
We prepare a focused prompt with your quiz and certificate details so each AI can offer a more tailored, in-depth explanation.
A company has an application with a REST-based interface that allows data to be received in near-real time from a third-party vendor. Once received, the application processes and stores the data for further analysis. The application is running on Amazon EC2 instances.
The third-party vendor has received many 503 Service Unavailable Errors when sending data to the application. When the data volume spikes, the compute capacity reaches its maximum limit and the application is unable to process all requests.
Which design should a solutions architect recommend to provide a more scalable solution?
A
Use Amazon Kinesis Data Streams to ingest the data. Process the data using AWS Lambda functions.
B
Use Amazon API Gateway on top of the existing application. Create a usage plan with a quota limit for the third-party vendor.
C
Use Amazon Simple Notification Service (Amazon SNS) to ingest the data. Put the EC2 instances in an Auto Scaling group behind an Application Load Balancer.
D
Repackage the application as a container. Deploy the application using Amazon Elastic Container Service (Amazon ECS) using the EC2 launch type with an Auto Scaling group.
Explanation:
Correct Answer: A
Why Option A is correct:
Why other options are incorrect:
Option B: Using API Gateway with quota limits would actually restrict the vendor's ability to send data during spikes, which is the opposite of what's needed. The problem is insufficient compute capacity, not too much data from the vendor.
Option C: While SNS can handle message ingestion and Auto Scaling can help with compute capacity, this approach still relies on EC2 instances which have scaling limitations and slower response times compared to serverless solutions. The EC2 instances would still need to scale up/down, which takes time and may not keep up with rapid spikes.
Option D: Containerizing the application and using ECS with EC2 launch type still relies on EC2 instances that need to scale. While this improves deployment flexibility, it doesn't fundamentally solve the scaling latency issue that serverless solutions address.
Key AWS Services Concepts:
This solution provides a fully managed, auto-scaling architecture that can handle variable workloads without manual intervention.