CloudGuild · Blog · Cheat sheets · Lessons · Certifications

Understanding Asynchronous Processing with AWS Services

Explore a question on asynchronous processing in AWS and learn why SQS and Lambda are the best fit for decoupling and scalability.

An organization is developing a new application that requires asynchronous processing of tasks. They want to decouple components to improve scalability and fault tolerance. Which combination of AWS services would be best suited for this architecture?

The question

An organization is developing a new application that requires asynchronous processing of tasks. They want to decouple components to improve scalability and fault tolerance. Which combination of AWS services would be best suited for this architecture?

A. Amazon SQS and AWS Lambda.

B. Amazon SNS and Amazon Kinesis.

C. AWS Step Functions and Amazon RDS.

D. AWS AppSync and Amazon DynamoDB.

Think before you scroll

Consider the requirements for decoupling components and enabling asynchronous processing. Each option offers different capabilities, but only one aligns perfectly with the need for scalability and fault tolerance.

The answer

The correct answer is A: Amazon SQS and AWS Lambda. This combination allows for effective decoupling of application components, enabling tasks to be processed asynchronously, which directly addresses the requirements stated in the question.

Why the other options lose

B. Amazon SNS and Amazon Kinesis. While SNS can push notifications to subscribers and Kinesis handles streaming data, this combination does not provide the straightforward asynchronous processing that SQS and Lambda do. Kinesis is more suited for real-time data processing rather than decoupling tasks in an application.

C. AWS Step Functions and Amazon RDS. Step Functions are great for orchestrating workflows, but RDS introduces a tightly coupled architecture due to its relational nature. This does not meet the requirement for decoupling and asynchronous processing as effectively as SQS and Lambda.

D. AWS AppSync and Amazon DynamoDB. AppSync is designed for building GraphQL APIs, while DynamoDB is a NoSQL database. This combination focuses on data management rather than the asynchronous processing of tasks. It does not fulfill the need for decoupling components in a scalable manner.

The concept behind it

The core principle here is the separation of concerns. By using Amazon SQS, we can queue tasks and manage them independently from the processing logic handled by AWS Lambda. This decoupling enhances both scalability and fault tolerance, as components can operate independently and recover from failures without impacting the entire application.

Exam trap to remember

Remember the two-question rule: if a question emphasizes decoupling and asynchronous processing, think SQS and Lambda. They are your go-to tools for these scenarios.

Take the free SAA-C03 mock exam

Take a free mock exam →