AWS Certified Solutions Architect - Associate SAA-C03 Exam QuestionsBrowse all questions from this exam

AWS Certified Solutions Architect - Associate SAA-C03 Exam - Question 181


A company has a legacy data processing application that runs on Amazon EC2 instances. Data is processed sequentially, but the order of results does not matter. The application uses a monolithic architecture. The only way that the company can scale the application to meet increased demand is to increase the size of the instances.

The company’s developers have decided to rewrite the application to use a microservices architecture on Amazon Elastic Container Service (Amazon ECS).

What should a solutions architect recommend for communication between the microservices?

Show Answer
Correct Answer: A

To achieve asynchronous communication between decoupled microservices in a microservices architecture, Amazon Simple Queue Service (SQS) is the most appropriate choice. SQS provides a scalable, highly available queue to buffer messages between producers and consumers. This ensures data producers can send messages to the queue without needing to know about the consumers, and consumers can process messages independently at their own pace. Since the order of results does not matter in this case, SQS is well suited for this scenario. It enables the necessary decoupling and ensures that the system scales efficiently.

Discussion

21 comments
Sign in to comment
BuruguduystunstugudunstuyOption: A
Jun 23, 2023

Option B, using Amazon Simple Notification Service (SNS), would not be suitable for this use case, as SNS is a pub/sub messaging service that is designed for one-to-many communication, rather than point-to-point communication between specific microservices. Option C, using an AWS Lambda function to pass messages, would not be suitable for this use case, as it would require the data producers and data consumers to have a direct connection and invoke the Lambda function, rather than being decoupled through a message queue. Option D, using an Amazon DynamoDB table with DynamoDB Streams, would not be suitable for this use case, as it would require the data consumers to continuously poll the DynamoDB Streams API to detect new table entries, rather than being notified of new data through a message queue.

Buruguduystunstugudunstuy
Jun 23, 2023

Hence, Option A is the correct answer. Create an Amazon Simple Queue Service (Amazon SQS) queue. Add code to the data producers, and send data to the queue. Add code to the data consumers to process data from the queue.

jerryl
Mar 24, 2025

I think A is obvious the most suitable, but i dont understand how is this related to ECS mentioned in the question

cookieMrOption: A
Dec 26, 2023

A. Creating an Amazon SQS queue allows for asynchronous communication between microservices, decoupling the data producers and consumers. It provides scalability, flexibility, and ensures that data processing can happen independently and at a desired pace. B. Amazon SNS is more suitable for pub/sub messaging, where multiple subscribers receive the same message. It may not be the best fit for sequential data processing. C. Using AWS Lambda functions for communication introduces unnecessary complexity and may not be the optimal solution for sequential data processing. D. Amazon DynamoDB with DynamoDB Streams is primarily designed for real-time data streaming and change capture scenarios. It may not be the most efficient choice for sequential data processing in a microservices architecture.

reviewmineOption: A
Aug 18, 2024

To Decouple a monolithic application - SQS - SQS standard - not in order - SQS FIFO - in order

Guru4CloudOption: A
Feb 17, 2024

A) Create an Amazon Simple Queue Service (Amazon SQS) queue. Add code to the data producers, and send data to the queue. Add code to the data consumers to process data from the queue. For asynchronous communication between decoupled microservices, an SQS queue is the most appropriate service to use. SQS provides a scalable, highly available queue to buffer messages between producers and consumers. The order of processing does not matter, so a queue model fits well. The consumers can scale independently to process messages from the queue.

Nigma
May 16, 2023

SQS to decouple.

taerOption: A
May 17, 2023

Answer is A

xua81376
May 19, 2023

We need decoupling so ok to use SQS

user_deletedOption: B
Aug 25, 2023

it deosn;t say it is one-one relationships , SNS is better

markw92
Dec 17, 2023

watch out for this sentence in the question..."Data needs to process sequentially...."

upliftinghutOption: A
Jul 26, 2024

Data is processed sequentially, but the order of results does not matter => SQS; if order matters => SQL FIFO

BENICE
May 17, 2023

Can someone explain it bit more? Not able to understand it.

EKA_CloudGod
May 22, 2023

As monolithic systems become too large to deal with, many enterprises are drawn to breaking them down into the microservices architectural style by means of decoupling. Amazon Simple Queue Service (Amazon SQS) is a fully managed message queuing service that makes it easy to decouple and scale microservices, distributed systems, and serverless applications

Shasha1
Jun 11, 2023

answer is B. An Amazon Simple Notification Service (Amazon SNS) topic can be used for communication between the microservices in this scenario. The data producers can be configured to publish notifications to the topic, and the data consumers can be configured to subscribe to the topic and receive notifications as they are published. This allows for asynchronous communication between the microservices, Question here focus on communication between microservices

k1kavi1Option: A
Jun 15, 2023

A is correct

career360guruOption: A
Jun 17, 2023

Best answer is A. Though C or D is possible it requires additional components and integration and so they are not efficient. Assuming that rate of incoming requests is within limits that SQS can handle A is best option.

asoliOption: A
Sep 18, 2023

The answer is A. B is wrong because SNS cannot send events "directly" to ECS. https://docs.aws.amazon.com/sns/latest/dg/sns-event-destinations.html

BmarodiOption: A
Nov 24, 2023

SQS for decoupling a monolithic architecture, hence option A is the right answer.

TariqKipkemeiOption: A
Mar 12, 2024

Data is processed sequentially, but the order of results does not matter = Amazon Simple Queue Service

Cloud_AOption: A
Jul 11, 2024

A is the answer.

scar0909Option: A
Sep 9, 2024

A for sure

Madhuaws
Oct 5, 2023

it also says 'the order of results does not matter'. Option B is correct.

omoakin
Nov 25, 2023

BBBBBBBBB

satyaammmOption: A
Feb 8, 2025

SQS Queues are most suitable as they provide decoupling between microservices.