Four independent requirement-to-capability arrows map stored work to SQS, topic notifications to SNS, event routing to EventBridge, and execution state to Step Functions; they are not a pipeline.
Four independent requirement-to-capability arrows map stored work to SQS, topic notifications to SNS, event routing to EventBridge, and execution state to Step Functions; they are not a pipeline.
Open full-size diagram ↗
THE LEARNING FOCUS

Use a fictional equipment-loan service to distinguish buffered work, notifications, event routing and execution state.

01

Answer the missing capability first

Choose SQS for a message queue, SNS for a notification topic, EventBridge for an event bus with routing rules, and Step Functions for coordinated workflow execution. That short comparison is a starting point, not a prohibition against combining services. Real applications often need several of these capabilities together. The useful question is which particular gap a choice closes. A service name cannot prove that a complete application is reliable, that every action is performed once, or that a customer’s business requirement has been met without additional configuration and application design.

02

Describe the loan service without product names

Consider a fictional public workshop that lends tools to community groups. Its website accepts a request, workers check the requested equipment, and the organization notifies coordinators about the result. Some work may wait during a busy hour. Several recipients may need the same notification. Equipment records can also change independently of a loan. A reservation may require validation before a confirmation step. Writing these relationships first reveals four separate concerns. Calling the entire system event driven does not identify which concern is missing or establish that one service should own all four.

03

A backlog protects a rate boundary

Suppose the website accepts requests quickly, while the equipment-checking worker can handle them only at a slower rate. The immediate need is a place to store messages until workers are ready. SQS addresses that buffering relationship. The queue does not itself check whether a physical drill is available or whether the borrower is eligible. Those are application responsibilities. Nor should the design silently equate a delivery with a unique business action. Standard queue delivery is at least once and ordering is best effort, so the application must account for the delivery semantics it actually selected.

04

A notification topic protects a publication boundary

Now suppose each subscribed coordinator should receive an alert about an accepted loan. SNS topics provide push-based publication to subscribers, including supported application endpoints and notifications such as email and SMS. This is different from several workers drawing from a shared work backlog. It does not mean that a topic and a queue are mutually exclusive: a subscriber can be a queue that buffers a downstream service’s copy. It also does not mean SNS lacks filtering. A careful explanation uses the stated topic and subscriber requirements instead of making an absolute claim that only one AWS service can ever distribute an event.

05

An event bus protects a routing boundary

An equipment update might come from a supported AWS service or the workshop’s own application. One event type should trigger a regional inventory handler, while a different type should start a maintenance notification. EventBridge supplies the event-bus abstraction and routing rules that connect sources to supported targets. A target may be another integration component, so naming a bus does not eliminate a queue or workflow from the resulting architecture. The question is whether rules over incoming event information are the missing capability. Merely mentioning an event, or the possibility of multiple recipients, is not enough to conclude that a bus is required.

06

A state machine protects an execution boundary

Finally, a reservation needs a managed progression: validate the request, attempt a reservation and then choose a confirmation or alternative path from the result. Step Functions coordinates components in a workflow and tracks execution steps, including retries. The important requirement is stateful coordination, not just message movement. A topic can announce that something happened; a queue can hold a task; a bus can route an event. Those purposes do not by themselves describe the managed state machine in this scenario. At the same time, do not assume a workflow can guarantee a physical-world outcome. Business rules and downstream operations still require correct implementation.

07

Challenge the strongest alternative

When two options look plausible, write a sentence explaining the first one without using its name. A queue stores work for consumers; a notification topic publishes to subscribers; an event bus matches and routes events; a workflow tracks a coordinated execution. Then compare that sentence with the requirement. If the requirement still fits several descriptions, the task may need more conditions rather than a confident guess. For example, replacing notification topic with event distribution removes a useful distinction between SNS and EventBridge. This is why precise terms and endpoint requirements matter more than a slogan such as fan-out always means a particular product.

08

Use a requirement table and finish with checks

For a new case, record the producer, consumer, waiting behavior, intended recipients, routing condition and need for execution state. Leave a cell unknown when the case does not specify it. Choose a service only for the capability actually supported by those facts, and list additional design questions instead of inventing guarantees. The exercises below deliberately split one application into several decisions. Answer them before reading their explanations, then return to the lesson and linked practice. The goal is a reusable distinction between responsibilities, not memorization of a four-product list or a claim that this small foundation guide covers production integration design.

Apply the guide

A producer must keep accepting work while a downstream worker is offline. Does selecting an event bus alone establish a worker-pulled stored backlog? Explain.Reveal explanation

No. Routing events and buffering a consumer backlog are separate capabilities. A queue addresses the stated stored-work boundary; an event bus may still be part of a wider architecture.

A system must track validation, reservation and a result-dependent confirmation step. What additional capability distinguishes this from a notification topic?Reveal explanation

Tracked state-machine coordination of execution and transitions. Step Functions addresses that workflow requirement; a notification topic can still publish results.

Turn the idea into practice.

Apply the rule to a new case, then explain your choice.

Practice this skill

Sources & authorship

Official factual references informed original teaching; retained source bodies and archive questions are private research inputs.

Original OpenExam article, fictional examples and diagram; no source questions reproduced.

Independent educator review is pending. This guide is not an official exam paper or a video transcript.

rd-aws-integrationrd-aws-sns-filter