Systems rarely collapse from a single catastrophic decision. They become fragile through hundreds of reasonable shortcuts that nobody revisited when the context changed.
Growth changes the problem
A useful architecture does not anticipate every possibility. It makes current limits visible and keeps changing your mind cheap.
Separate first what changes for different reasons: business rules, integration, presentation and operations. The goal is not to create more services. It is to reduce the number of places you have to touch to understand a decision.
Design for the real team
The best architecture for ten teams can be disastrous for three people. Prefer clear boundaries inside a well-organized monolith before distributing coordination by reflex.
Sustainable scale starts with operational clarity: explicit responsibilities, useful observability and rollback paths.