AWS Certified Solutions Architect – Associate (SAA-C02) — Question 348
A company has an API-based inventory reporting application running on Amazon EC2 instances. The application stores information in an Amazon DynamoDB table. The company's distribution centers have an on-premises shipping application that calls an API to update the inventory before printing shipping labels. The company has been experiencing application interruptions several times each day, resulting in lost transactions.
What should a solutions architect recommend to improve application resiliency?
Answer options
- A. Modify the shipping application to write to a local database.
- B. Modify the application APIs to run serverless using AWS Lambda
- C. Configure Amazon API Gateway to call the EC2 inventory application APIs.
- D. Modify the application to send inventory updates using Amazon Simple Queue Service (Amazon SQS).
Correct answer: D
Explanation
Using Amazon Simple Queue Service (Amazon SQS) decouples the on-premises shipping application from the backend inventory application, buffering the transactions so they are not lost during outages. Writing to a local database (Option A) or simply routing through Amazon API Gateway (Option C) does not provide this message-buffering capability. Migrating to AWS Lambda (Option B) makes the API serverless but does not resolve the synchronous coupling that causes transaction loss during downstream failures.