Microservices

Architecture & Deployment

Decompose applications into small, independently deployable services

Core Idea

Align services with business domains for team autonomy, independent deployment, and scaling. Embrace operational platform and strong observability.

When to Use

When a monolith hampers team velocity and scale, and the org can support operational complexity with a platform and CI/CD.

Recognition Cues
Indicators that this pattern might be the right solution
  • Many teams contending in a shared monolith
  • Need independent SLAs and scaling
  • Bounded contexts are clear via DDD

Pattern Variants & Approaches

Overview
API gateway fronts domain-aligned services, each owning its data store; async events reduce coupling.

Overview Architecture

HTTP/HTTPS👤Client⚖️API Gateway⚙️Service A⚙️Service B💾DB A💾DB B

When to Use This Variant

  • Team autonomy
  • Independent deploys
  • Per-service SLAs

Use Case

Large organizations with multiple domains and rapid iteration needs.

Advantages

  • Targeted scaling
  • Fault isolation
  • Tech flexibility where justified

Implementation Example

# High-level
client -> gateway -> service-A -> db-A
                 -> service-B -> db-B
Tradeoffs

Pros

  • Team autonomy and independent deploys
  • Fault isolation and targeted scaling
  • Tech stack flexibility where justified

Cons

  • Operational overhead and complexity
  • Distributed data and latency
  • Requires strong platform investments
Common Pitfalls
  • Chatty synchronous inter-service calls
  • Shared database across services
  • Weak contracts and versioning
  • Lack of tracing/metrics/logging baseline
Design Considerations
  • Domain-driven design and clear ownership
  • Platform guardrails and paved roads
  • Asynchronous communication where possible
  • API versioning and backward compatibility
  • Security, SLOs, and error budgets per service
Real-World Examples
Netflix

Hundreds of services for streaming platform

Global scale and traffic
Amazon

Service-oriented architecture across retail/cloud

Tens of thousands of services
Uber

Domain-aligned microservices for mobility

Global multi-region
Complexity Analysis
Scalability

Service-level scaling

Implementation Complexity

High - Many services and ops

Cost

Medium to High - Platform costs