Complexity should be treated like a budget.
A service, dependency or abstraction is worth adding when the capability and reliability it provides justify the operational cost it creates.
This makes “simple” practical: fewer moving parts, fewer failure surfaces, clearer ownership and easier recovery.
A small architecture is not automatically better. An architecture with earned complexity is.