Follow this blog

Software engineering, design, and psychology

Decomposition of ESBs into Cloud Services | Microservice Architecture — Ep. 8

Let’s revise what were the responsibilities of Enterprise Service Buses:

  • service discovery and communication
  • request routing
  • protocol mediation
  • authN and authZ
  • rate limiting
  • logging and monitoring
  • workflow orchestration

These capabilities are generic. Any sufficiently complex system needs them — but they don’t need to live inside a single, centralized component.

In cloud-native systems, ESBs were effectively decomposed into specialized services:

  • service discovery -> service mesh tools (AppMesh, Linkerd)
  • service communication -> messaging and event streaming platforms (Kafka, SQS)
  • request routing, rate limiting, auth -> API gateways
  • logging and monitoring -> observability tools (CloudWatch, CloudTrail)
  • orchestration -> workflow engines (Step Functions)

What remained were microservices themselves:

  • independently developed
  • independently deployed
  • independently scaled
    ...units of a system, focused on isolated business capabilities.
Follow this blog
Send
Share