3 ms·
Microservices are the simplest solution to counteract Conway's law. If you have two organizations writing software, the least-overhead organizational approach
by jnwatson 5y ago
Microservices are the simplest solution to counteract Conway's law.
If you have two organizations writing software, the least-overhead organizational approach that allows minimum communication overhead and release coordination is for both of those organizations to release a package and have well-defined APIs between those.
There are certainly other approaches to achieve similar outcomes, but microservices are the lowest-tech mechanism.
- Jare 5y ago> least-overhead > well-defined APIs That's where most shifts to microservices fail, right? Sometimes because they don't define their APIs well, sometimes because the breakdown into packages/services is broken (for example: defined by company structure instead of sane software architecture), sometimes because the evolution of each package's features and functionality is at odds with the stability of their API's semantics and guarantees (and documentation), sometimes because the development overhead of communicating between APIs is too high (debugging for example)...
- majewsky 5y ago> Microservices are the simplest solution to counteract Conway's law. I don't think that "counteract" is a useful frame of mind. I interpret Conway's Law more as a lesson: Build your software to reflect your org chart, or else you're going to have a really bad time. If you have two loosely-coupled teams, their respective services better be loosely coupled as well. And vice versa for tightly-coupled teams: If you have some good cross-team communication going on, take advantage of it in your architecture.