Microservices can work, and fwiw, here are 3 things I've learned to the hard way:
1. Use a package manager, and export interfaces to a given service in each of the consumers. It's great that GitHub now offers it for node.
2. Create a DAL library for I/O to a given database (e.g. PostgreSQL, or Mongo) that be consumed by other services.
3. Enforce styling company-wide with one source of truth. We use GitHub Actions, so we can enforce styling with a shared GitHub Action.
1. Use a package manager, and export interfaces to a given service in each of the consumers. It's great that GitHub now offers it for node. 2. Create a DAL library for I/O to a given database (e.g. PostgreSQL, or Mongo) that be consumed by other services. 3. Enforce styling company-wide with one source of truth. We use GitHub Actions, so we can enforce styling with a shared GitHub Action.