SA-201b · Module 2

Middleware Selection

3 min read

Middleware is the connective tissue of the integration architecture — the API gateways, message brokers, ETL pipelines, and integration platforms that sit between your systems and mediate their interactions. Selecting the right middleware is a load-bearing architecture decision because changing middleware after integration is built is a reconstruction project, not a swap.

  1. API Gateways Centralize API management: authentication, rate limiting, routing, and monitoring. Best for request-response integration patterns where you need a single entry point for external consumers. Examples: Kong, AWS API Gateway, Azure API Management. Select based on your deployment platform, protocol support, and extensibility requirements.
  2. Message Brokers Decouple producers from consumers through asynchronous message passing. Best for event-driven patterns, workflow orchestration, and high-throughput data streaming. Examples: Kafka for high-throughput streaming, RabbitMQ for routing flexibility, SQS for serverless simplicity. Select based on throughput requirements, ordering guarantees, and operational complexity tolerance.
  3. Integration Platforms Pre-built connectors to common enterprise systems with visual workflow design. Best for organizations integrating with SaaS products, CRMs, ERPs, and standard enterprise tools. Examples: MuleSoft, Workato, n8n. Select based on the connector library, transformation capabilities, and whether the organization has integration engineering capacity.

Do This

  • Select middleware based on the integration pattern — gateways for request-response, brokers for events, platforms for SaaS connectors
  • Evaluate operational burden — the middleware that requires the least operational investment for your team's expertise level is often the right choice
  • Consider the exit cost — middleware that creates deep dependency is harder to replace than middleware that serves as a routing layer

Avoid This

  • Select middleware based on features alone — the most feature-rich option is often the most operationally expensive
  • Choose a message broker when a simple API call would suffice — added complexity without added value
  • Ignore the team's operational experience — Kafka is powerful, but managing Kafka without expertise is a full-time job