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.
- 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.
- 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.
- 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