Scan with Phone

Scan to instantly open and share this page on your mobile device.

Link copied to clipboard!

Group 12: Application Integration

Messaging and workflow orchestration services: SQS, SNS, EventBridge, Step Functions, AppSync.

Integration Principle: Choose messaging patterns (queue, pub/sub, event-driven) and orchestration approaches (workflow, GraphQL) based on coupling, reliability, and scalability requirements.

Services & Roles

SQS

Fully managed message queuing for decoupling and scaling microservices.
  • Standard & FIFO queues
  • Dead letter queues
  • Message deduplication

SNS

Pub/sub messaging for fanout scenarios and mobile push notifications.
  • Topic subscriptions
  • Mobile push
  • Email/SMS delivery

EventBridge

Serverless event bus for application integration with schema registry.
  • Event patterns
  • Schema registry
  • Cross-account events

Step Functions

Visual workflow orchestration for distributed applications and microservices.
  • State machines
  • Error handling
  • Parallel execution

AppSync

Managed GraphQL service with real-time subscriptions and offline support.
  • GraphQL API
  • Real-time subscriptions
  • Offline sync

Key Differences

DimensionSQSSNSEventBridgeStep FunctionsAppSync
PatternPoint-to-pointPub/subEvent-drivenWorkflow orchestrationGraphQL API
CouplingLooseLooseLooseOrchestratedClient-server
Use CaseTask queuesFan-out messagingEvent routingBusiness processesData aggregation
DeliveryPull-basedPush-basedEvent-drivenState-drivenQuery-based
OrderingFIFO availableNo guaranteesNo orderingSequential/parallelReal-time

Selection Model

0–10 sliders weight integration patterns, messaging requirements, and orchestration complexity.

{{c.desc}}
Score_SQS = 0.30*C_taskQueues + 0.26*C_pointToPoint + 0.18*C_messageOrdering + 0.12*C_reliableDelivery + 0.08*C_deadLetterQueues + 0.06*(10 - C_fanOutPattern) Score_SNS = 0.32*C_fanOutPattern + 0.28*C_pubSubMessaging + 0.18*C_mobilePush + 0.12*C_multipleSubscribers + 0.06*C_emailSMS + 0.04*(10 - C_messageOrdering) Score_EventBridge = 0.30*C_eventDrivenArch + 0.26*C_eventRouting + 0.18*C_schemaRegistry + 0.12*C_crossAccountEvents + 0.08*C_eventPatterns + 0.06*C_serverlessIntegration Score_StepFunctions= 0.32*C_workflowOrchestration + 0.24*C_businessProcesses + 0.18*C_stateMachines + 0.12*C_errorHandling + 0.08*C_parallelExecution + 0.06*C_visualWorkflows Score_AppSync = 0.34*C_graphqlAPI + 0.26*C_dataAggregation + 0.18*C_realTimeSubscriptions + 0.12*C_offlineSync + 0.06*C_mobileApps + 0.04*C_queryOptimization
SQS {{vm.scores.sqs|number:2}}
SNS {{vm.scores.sns|number:2}}
EventBridge {{vm.scores.eventbridge|number:2}}
Step Functions {{vm.scores.stepfunctions|number:2}}
AppSync {{vm.scores.appsync|number:2}}
Primary Emphasis: {{vm.recommended.name}} ({{vm.recommended.score|number:2}})

Heuristics

  • High C_taskQueues + C_pointToPoint → SQS for work distribution.
  • Strong C_fanOutPattern + C_pubSubMessaging → SNS for broadcasting.
  • High C_eventDrivenArch + C_eventRouting → EventBridge for event integration.
  • C_workflowOrchestration + C_businessProcesses → Step Functions for coordination.
  • C_graphqlAPI + C_dataAggregation → AppSync for modern APIs.

Anti-Patterns

  • Using SNS for point-to-point messaging (use SQS instead).
  • Using SQS for fan-out patterns (SNS is more appropriate).
  • Using Step Functions for simple task queues (SQS is sufficient).
  • Using EventBridge for high-throughput scenarios (consider SQS/SNS).

Summary

Choose SQS for queues, SNS for pub/sub, EventBridge for events, Step Functions for workflows, AppSync for GraphQL.

Next: AI & Machine Learning provides intelligent capabilities and automated insights.

next