Skip to content

App Integration — Step Functions, EventBridge, API Gateway

Step Functions = workflow director (like n8n) — steps A→B→C in order, retries, human approval
EventBridge = post office — delivers events to whoever cares, with FILTERING rules + cron
SNS = megaphone — broadcast to subscribers (topic fan-out)
SQS = inbox — hold messages until consumer ready
Lambda = worker — does the actual job
API Gateway = front door/receptionist — accepts outside HTTP requests
  • Visual state machine: validate → charge → ship → notify
  • Steps: Lambda, ECS, API GW, SNS, SQS, DynamoDB, HTTP, WAIT, human approval
  • vs Lambda: Lambda = one function; SFN = orchestrate MANY functions
  • Max runtime 1 year (wait/approval steps)
  • “orchestrate complex multi-step workflow” → Step Functions
  • AWS services publish events NATIVELY (S3 upload, EC2 state, DynamoDB) + your apps + CRON
  • Rules FILTER by content → route to matching targets (Lambda/SNS/SQS/SFN/ECS)
  • Two jobs: service-to-service routing + scheduled tasks (cron(0 2 * * ? *))
  • Replaced CloudWatch Events (renamed)
  • Replay/archive window ~14 days

vs SNS: SNS = broadcast all subscribers (no filtering). EventBridge = rules filter by content + scheduling + cross-account. EventBridge = SNS + filtering + cron.

  • Managed REST / HTTP / WebSocket API endpoint in front of Lambda/services
  • Features: auth (IAM/Cognito/API keys/Lambda authorizer), throttling, caching, stages, CloudWatch
  • Types: REST API, HTTP API (cheaper), WebSocket API
  • “expose Lambda as REST API” → API Gateway
RabbitMQ EventBridge
Sources YOUR apps only AWS services native + yours + cron
Routing Exchanges/bindings Rules (content filter)
Transport AMQP HTTPS/JSON
Guarantees Strong (persistent queues) At-least-once-ish, 24h retry
Managed You run / Amazon MQ Fully AWS
Scheduling No Yes (cron)
  • RabbitMQ = your message router (apps both sides)
  • EventBridge = AWS event router (AWS services already plugged in)
  • Amazon MQ = literally managed RabbitMQ/ActiveMQ
User → API Gateway → Lambda (validate) → Step Functions (charge→ship→notify)
→ EventBridge (analytics + audit + email events) → SQS → Lambda (async workers)
Question Answer
Orchestrate multi-step with retries Step Functions
Route events with filtering EventBridge
Schedule Lambda daily 2AM EventBridge rule (cron)
Expose Lambda as REST API API Gateway
Human approval in workflow Step Functions
WebSocket real-time API API Gateway WebSocket
  • [[aws/index]]
  • [[aws/lambda-usage/index]]
  • [[aws/messaging-trio/index]]