Integration Services β
Connecting Distributed Systems in the Cloud
SNS, SQS, EventBridge, Step Functions β four models for passing messages and coordinating workflows in AWS. This page maps the full integration landscape before you dive into each service.
What is Integration?
Integration services let your systems talk to each other without tight coupling β so a payment service, order service, and notification service can each evolve independently while still collaborating reliably.
Modern cloud architectures are not monoliths β they are collections of services, microservices, and functions that must coordinate. Integration is how you wire them together: passing events, queuing work, routing messages, and orchestrating multi-step workflows.
The Problem Integration Solves
- Producer services run at different speeds than consumers
- A failure in one service shouldn't cascade to others
- Multiple consumers may need the same event
- Complex workflows span many services and need coordination
What Integration Services Provide
- Decoupling β producer and consumer are independent
- Buffering β absorb traffic spikes without dropping messages
- Fan-out β one event reaches many subscribers
- Orchestration β coordinate multi-step workflows with retries and state
Messaging (Queue)
- Producer sends message to a queue
- Consumer polls and processes independently
- At-least-once delivery, one consumer per message
- Service: SQS
Pub/Sub (Notification)
- Publisher sends to a topic
- All subscribers receive the message simultaneously
- Fan-out to N destinations at once
- Service: SNS
Event Bus (Routing)
- Services emit events to a central bus
- Rules route events to the right targets
- Schema-based filtering and 3rd-party integrations
- Service: EventBridge
Services & Spectrum
| Model | Services | Delivery | Consumers | Best For |
|---|---|---|---|---|
| Queue | SQS | Pull | One consumer per message | Work distribution, load levelling |
| Pub/Sub | SNS | Push | All subscribers | Fan-out notifications, parallel processing |
| Event Bus | EventBridge | Push (rule-based) | Filtered targets | Microservice events, SaaS integrations |
| Orchestration | Step Functions | Managed state | Each workflow step | Multi-step workflows, error handling |
| Streaming | Kinesis | Pull (shard) | Multiple independently | Real-time data pipelines |
| Broker | Amazon MQ | AMQP / MQTT | Standard broker semantics | Lift-and-shift JMS / AMQP workloads |
Every integration service trades simplicity for coordination power. SQS is simple point-to-point; Step Functions orchestrates complex multi-step workflows with error handling and state.
Decision Guide
- Work queue between producer and consumer
- Buffer traffic spikes (absorb burst)
- Each message processed by exactly one consumer
- Need DLQ for failed messages
- Decouple Lambda or EC2 workers
- Fan-out to multiple subscribers at once
- Send notifications (email, SMS, push)
- Same event needs to trigger parallel pipelines
- Combine with SQS for durable fan-out
- Simple pub/sub without complex filtering
- Content-based routing (filter by field value)
- React to AWS service events (CloudTrail, S3, etc.)
- Integrate SaaS apps (Zendesk, Datadog, etc.)
- Schema registry and event discovery needed
- Decouple microservices via events
- Multi-step workflow with branching logic
- Need retry, catch, and error handling
- Long-running processes (up to 1 year)
- Human approval tasks in a flow
- Coordinate Lambda, ECS, Glue, SNS
| Service | Pattern | Delivery | Retention | Max Scale | Billing |
|---|---|---|---|---|---|
| SQS Standard | Queue | Pull | 14 days | Unlimited TPS | Per request |
| SQS FIFO | Ordered queue | Pull | 14 days | 3,000 msg/s | Per request |
| SNS | Pub/Sub | Push | None (fire-and-forget) | 10M topics / 12.5M subs | Per publish + delivery |
| EventBridge | Event Bus | Push (rules) | 24-hour retry | Unlimited events/sec | Per event |
| Step Functions | Orchestration | Managed state | Up to 1 year | Per workflow | Per state transition |
| Amazon MQ | Broker | AMQP / MQTT | Broker managed | Broker instance limits | Per broker hour |
Architecture Patterns
Most production architectures combine integration services in complementary ways. Here are the three canonical patterns:
Pattern 1: SNS β SQS Fan-out
- One event fans out to many queues
- Each consumer is independent and durable
- Best for: order placed β billing + shipping + analytics
Pattern 2: EventBridge + Lambda
- React to AWS service or custom events
- Zero infrastructure, filter by content
- Best for: S3 upload β process image, IAM change β alert
Pattern 3: Step Functions Workflow
- Coordinate multi-step logic with retries
- Visual workflow, audit trail built-in
- Best for: fraud check β approve/reject β notify
Exam Insights
| If the question says⦠| Think⦠|
|---|---|
| "Fan-out" or "multiple consumers same event" | SNS (or SNS β SQS) |
| "Decouple" + "work queue" + "one consumer" | SQS |
| "Preserve message order" or "exactly-once" | SQS FIFO |
| "Content-based routing" or "filter by attribute" | EventBridge |
| "React to AWS service event" (S3, CloudTrailβ¦) | EventBridge |
| "Multi-step workflow" or "orchestrate Lambda" | Step Functions |
| "Migrate from RabbitMQ / JMS" or "AMQP" | Amazon MQ |
| "GraphQL API" or "real-time data sync" | AppSync |
| "Long-running process" + "human approval" | Step Functions (waitForTaskToken) |
| "Dead-letter queue" for failed messages | SQS DLQ (also SNS DLQ for failed deliveries) |
| Trap | Reality |
|---|---|
| "SNS guarantees ordering" | NO. SNS is unordered. Use SQS FIFO for ordered delivery. |
| "SQS delivers to all subscribers" | SQS delivers each message to ONE consumer. SNS delivers to ALL. |
| "EventBridge replaces SNS" | Different tools. EventBridge = content-based routing. SNS = fan-out to N subscribers. Often used together. |
| "Step Functions can only call Lambda" | Step Functions integrates with 200+ AWS services directly β ECS, DynamoDB, SNS, SQS, Glue, and more. |
| "SQS FIFO scales the same as Standard" | FIFO is limited to 3,000 msg/s with batching. Standard is virtually unlimited. |
- Integration = connecting services without tight coupling. Never have Service A call Service B synchronously when an async message will do.
- Core services: SQS (queue), SNS (pub/sub), EventBridge (event bus), Step Functions (orchestration). Plus: Kinesis, Amazon MQ, AppSync.
- SNS + SQS fan-out is the most common exam pattern β SNS fans to multiple SQS queues for durable parallel processing.
- EventBridge is the modern evolution β use it for content-based routing, SaaS integration, and reacting to AWS service events.
- Step Functions when the workflow has state, branching, retries, or human in the loop.
Pick the simplest integration primitive that solves your coupling problem. SQS for work queues, SNS for fan-out, EventBridge for event routing, Step Functions for coordinated workflows β and combine them freely.