GOTO Conferences on YouTube · Open on YouTube
System design and architecture · Proficient · Lesson 65 of 98 · 47 min video, then about 3 hours of practice
Monoliths, modular monoliths and microservices
After this you can argue for or against splitting a system into services based on team structure, deployment needs and coupling, not fashion.
Why it matters
Microservices solve organisational problems (many teams deploying independently) and create technical ones (network calls, distributed transactions, operational overhead). For most teams a well-structured modular monolith is the better starting point. Focus on the actual drivers for splitting: independent deployment, different scaling needs, team ownership. And on how to keep a monolith modular so splitting later is possible. Trap: a distributed monolith, where services must still be deployed together. All the costs, none of the benefits.
How to use this resource
Simon Brown on modular monoliths. From 2018 and more relevant now than then.