Application Integration Services

EventBridge, Step Functions, SNS and SQS recap, API Gateway, SES and Amazon Connect - connecting applications and people.

What is it?

Modern applications are made of many small parts. Application integration services connect those parts so they stay loosely coupled: one piece can fail, slow down or change without breaking the others.

  • Amazon EventBridge: a serverless event bus. Applications, AWS services and SaaS partners publish events; rules match them and route them to targets such as Lambda or SQS. It also provides scheduled rules (cron-style) and a scheduler.
  • AWS Step Functions: visual workflows (state machines) that coordinate several steps such as Lambda functions, with retries, branching, parallel work and error handling.
  • Amazon SQS (recap): a queue that holds messages until a consumer processes them; decouples producers and consumers.
  • Amazon SNS (recap): publish/subscribe notifications that fan one message out to many subscribers (email, SMS, SQS, Lambda, HTTP).
  • Amazon API Gateway: creates, publishes and secures REST, HTTP and WebSocket APIs in front of Lambda or other backends, with throttling, caching and authorization.
  • Amazon SES (Simple Email Service): send bulk and transactional email, such as receipts and newsletters, at low cost.
  • Amazon Connect: a cloud contact center. Customers call or chat and agents answer through a browser, with routing, IVR menus and analytics, paid per use.

Rule of thumb: SQS when one consumer pulls work at its own pace, SNS when many subscribers all need the message, EventBridge when you route events by content from many sources, and Step Functions when order and state of steps matter.

Explain like I'm 10

A restaurant has a ticket rail (SQS) where orders wait for the cook, a loudspeaker (SNS) announcing 'table 4 is ready' to everyone, a switchboard (EventBridge) sending each kind of message to the right station, a head chef following the recipe step by step (Step Functions), a front door with a host who checks reservations (API Gateway), a mailing desk (SES) and a phone line for customers (Connect).

Examples

An EventBridge rule that matches an event

{
  "source": ["my.orders.app"],
  "detail-type": ["OrderPlaced"],
  "detail": { "amount": [{ "numeric": [">", 100] }] }
}

The rule pattern matches only OrderPlaced events over 100 and can send them to a target such as a Lambda function for review.

A tiny Step Functions workflow

{
  "StartAt": "ChargeCard",
  "States": {
    "ChargeCard": { "Type": "Task", "Resource": "arn:aws:lambda:...:charge", "Next": "SendReceipt",
      "Retry": [{ "ErrorEquals": ["States.ALL"], "MaxAttempts": 2 }] },
    "SendReceipt": { "Type": "Task", "Resource": "arn:aws:lambda:...:receipt", "End": true }
  }
}

Each state is a step; Step Functions tracks progress and retries failures so you do not hand-code that logic.

How it works

Event-driven design: a producer emits an event and does not know who consumes it. EventBridge evaluates rules against each event and invokes matching targets. Queues store messages durably until deleted, giving buffering during spikes. SNS topics push to every subscriber at once. Step Functions persists the state of each execution, so a long workflow survives individual failures.

API Gateway receives the HTTP request, authenticates it (IAM, Cognito or a Lambda authorizer), applies throttling and optional caching, and forwards it to the backend.

  Producer --event--> EventBridge --rule A--> Lambda
                          |--rule B--> SQS --> worker
  User --> API Gateway --> Lambda --> SNS --> email / SMS / SQS
  Step Functions:  [Validate] -> [Charge] -> [Ship] -> [Notify]

Why does it exist?

Tightly coupled systems fail together and are hard to change. Messaging, events and workflows isolate failures, absorb spikes and let teams change parts independently.

When to use it

Use these services when you decouple microservices, process orders asynchronously, expose APIs, orchestrate multi-step business processes, send notification emails, or run a customer support line without hardware.

When not to use it

Do not add queues and workflows to a simple synchronous app that needs only one function call. Do not use SES for personal inboxes (it is for sending and receiving application email), or Step Functions for sub-millisecond logic.

Common mistakes

  • Using SNS when you need messages to wait for a slow consumer (that is SQS).

  • Writing retry and branching logic by hand inside Lambda instead of using Step Functions.

  • Exposing a Lambda or backend directly to the internet when API Gateway would add auth and throttling.

  • Thinking Amazon Connect is a telephone hardware product; it is a cloud service.

Practice exercises

  1. Easy:

    Match each service to its job: EventBridge, Step Functions, API Gateway, SES, Connect.

  2. Medium:

    Design an order flow where one 'order placed' event triggers inventory, billing and email independently.

  3. Medium:

    Explain the difference between SQS and SNS using a real example.

  4. Hard:

    Model a refund approval process with a manual approval and a timeout as a state machine on paper.

Interview questions

Exam-style: Which service coordinates multiple AWS services into a visual serverless workflow?

AWS Step Functions.

Exam-style: Which service routes events from AWS services and SaaS applications to targets using rules?

Amazon EventBridge.

Exam-style: Which service creates and secures REST APIs?

Amazon API Gateway.

Exam-style: Which service sends transactional or marketing email?

Amazon SES.

Exam-style: Which service provides a cloud-based contact center?

Amazon Connect.

When do you choose SNS over SQS?

When one message must reach many subscribers at once; SQS is for a queue consumed by workers.