
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.
The customers of a finance company request appointments with financial advisors by sending text messages. A web application that runs on Amazon EC2 instances accepts the appointment requests. The text messages are published to an Amazon Simple Queue Service (Amazon SQS) queue through the web application. Another application that runs on EC2 instances then sends meeting invitations and meeting confirmation email messages to the customers. After successful scheduling, this application stores the meeting information in an Amazon DynamoDB database.
As the company expands, customers report that their meeting invitations are taking longer to arrive.
What should a solutions architect recommend to resolve this issue?
A
Add a DynamoDB Accelerator (DAX) cluster in front of the DynamoDB database.
B
Add an Amazon API Gateway API in front of the web application that accepts the appointment requests.
C
Add an Amazon CloudFront distribution. Set the origin as the web application that accepts the appointment requests.
D
Add an Auto Scaling group for the application that sends meeting invitations. Configure the Auto Scaling group to scale based on the depth of the SQS queue.
Explanation:
The issue described is that as the company expands, customers are experiencing delays in receiving meeting invitations. The architecture consists of:
The bottleneck is likely in the processing of messages from the SQS queue. As the company grows, the number of appointment requests increases, causing the SQS queue depth to grow. The application that processes these messages (sends invitations) is running on EC2 instances that may not be scaling to handle the increased load.
Why option D is correct:
Why other options are incorrect:
The key insight is that the SQS queue acts as a buffer between the appointment acceptance and invitation sending processes. Scaling the invitation-sending application based on queue depth ensures that processing keeps up with incoming requests as the company grows.