From Monolith to Microservices
Decide what to split and how to draw service boundaries.
Monolith to Microservices
Microservices are an organizational and operational bet, not a default. Splitting a PHP monolith trades in-process simplicity for network calls, distributed data, and deployment complexity. Done for the wrong reasons it makes everything slower.
This lesson is about the hardest part: drawing service boundaries. Get the seams right and the rest is plumbing; get them wrong and you build a distributed monolith — all the cost, none of the benefit.
Why (and Why Not) Split
Good reasons to split:
- Independent deployability and team ownership.
- Independent scaling of hot subsystems.
- Technology/runtime isolation and fault containment.
Bad reasons: "the code is messy" (refactor the monolith first), or chasing a trend. If two services must always deploy together or share a database table, they are one service wearing two hats.
All lessons in this course
- From Monolith to Microservices
- Service Communication: REST and gRPC
- API Gateways and Service Discovery
- Resilience: Circuit Breakers and Retries