DOP-C02 Question 161
Select 3Your company runs a serverless application that processes images uploaded by users. The application uses Amazon S3 for storage, AWS Lambda for image processing, and Amazon DynamoDB to store metadata. During peak times, the application experiences significant performance degradation due to high traffic. Management requires a scalable solution that can handle sudden traffic spikes while maintaining performance. What should you do to optimize the architecture for scalability?
- A
Enable S3 Transfer Acceleration to improve upload performance for images.
- B
Implement DynamoDB On-Demand Capacity Mode to handle unpredictable traffic spikes.
- C
Use AWS Lambda with provisioned concurrency to ensure consistent performance during peak loads.
- D
Configure an Amazon SQS queue between S3 and Lambda to decouple the processing workflow and handle burst traffic.
- E
Increase the read and write capacity of DynamoDB tables to a higher provisioned throughput.
Show answer and explanation
Correct answers: B, C, D
Explanation
To create a scalable architecture that meets business requirements, it is essential to use services and configurations that can handle sudden traffic spikes without manual intervention. DynamoDB On-Demand Capacity Mode ensures the database can scale based on demand, while provisioned concurrency for AWS Lambda ensures consistency in performance during high loads. Adding an Amazon SQS queue decouples the workflow, allowing the system to handle bursts in traffic effectively. These solutions collectively ensure the application remains performant and scalable during peak traffic.
- A. Incorrect.
Enabling S3 Transfer Acceleration improves the speed of uploads over long distances but does not directly address the scalability or performance issues caused by high traffic during peak times.
- B. Correct.
DynamoDB On-Demand Capacity Mode automatically scales up and down to handle unpredictable traffic spikes, making it an ideal choice for this use case.
- C. Correct.
Provisioned concurrency for AWS Lambda ensures that a set number of function instances are ready to handle incoming requests, reducing latency and improving performance during peak loads.
- D. Correct.
Using an Amazon SQS queue between S3 and Lambda decouples the workflow, allowing the system to handle sudden bursts of traffic without overwhelming downstream services.
- E. Incorrect.
Manually increasing the provisioned throughput for DynamoDB tables is not suitable for handling unpredictable traffic spikes, as it requires manual intervention and does not dynamically scale.