#Design and Implementation Patterns

Patterns for designing cloud applications.


#Microservices Patterns

#API Gateway

diagram
Clients ──▶ API Gateway ──▶ Service A
                        ──▶ Service B
                        ──▶ Service C

#Strangler Fig

Gradually replace legacy system:

11. New feature in new service
22. Route new traffic to new service
33. Migrate old features incrementally
44. Decommission legacy

#Sidecar Pattern

diagram
┌─────────────────────────┐
│ Pod                     │
│ ┌─────────┐ ┌─────────┐ │
│ │  App    │ │ Sidecar │ │
│ │         │ │(logging)│ │
│ └─────────┘ └─────────┘ │
└─────────────────────────┘

#Anti-Corruption Layer

Protect new code from legacy:

New System ──▶ Anti-Corruption Layer ──▶ Legacy System

#Backend for Frontend (BFF)

diagram
Mobile App ──▶ Mobile BFF ──▶ Services
Web App    ──▶ Web BFF    ──▶ Services

[!TIP] Pro Tip: Start with a modular monolith before microservices!