- Should I start with microservices?
- Almost never. The overhead (service discovery, distributed tracing, API versioning, data consistency) is enormous. Start monolithic; split when you hit team-scaling limits.
- When does splitting make sense?
- When services have independent scaling needs, different rate-of-change, or cross different teams. Premature splitting is a common and expensive mistake.
- What's a modular monolith?
- A monolith with strong internal boundaries (module per domain, no cross-module imports). Gets most microservice benefits without the operational cost. Increasingly popular alternative.
- What about distributed monolith?
- The failure mode — services that call each other synchronously for every request. You get microservice complexity AND monolith coupling. Worst of both worlds.