There's a lot of microservices hate, but there are also terrible balls of yarn. It reminds me that many orgs are not good at engineering.
A few rules that have served me well:
1) architect your software, have a diagram.
2) centralize responsibilities in the diagram.
3) not every box in that diagram needs to be a service, some boxes should be shared libraries
4) conversely, not every box should be a shared library
...
💲Paid