Modular monolith or microservices: choosing on team shape
Microservices solve organisational scaling problems and introduce distributed systems problems. Most teams should start with a well-structured monolith.
Topic
Every article we have published on architecture.
Microservices solve organisational scaling problems and introduce distributed systems problems. Most teams should start with a well-structured monolith.
Relational databases handle the overwhelming majority of business workloads well. Alternatives should be chosen for specific reasons.
Complete rewrites fail at a high rate. Incremental strangulation delivers value earlier and carries far less risk.
Events decouple producers from consumers and make the overall flow harder to see. Both effects are real and need managing.
Versioning is a policy question before it is a technical one. Decide what breaking means and how long you support old versions.
Caching is the cheapest performance improvement available and the easiest way to serve wrong data. Invalidation is the whole difficulty.
Technical debt is a trade-off, not a moral failing. Making it visible and costed turns it into a decision rather than an argument.
Most integration problems are variations on a few known patterns. Choosing deliberately avoids inventing a worse version.