> Connect them with clear APIs that don't have to change all that often, and you can build pretty big things.
Emphasis on clear. It's a challenging endeavor to properly draw and enforce these service boundaries.
Emphasis on clear. It's a challenging endeavor to properly draw and enforce these service boundaries.
This is one of the things monorepos help in some ways (by making it easier to change two systems) and break in some ways (as you now get less annoyed by the split between systems being in the wrong place)
In a system that is the composition of 30-300 different functional units, nobody will be close to any one part unless they’re the bus number for it. So each piece needs to be dead obvious so you can worry about the consequences of composing them. At the end of the day it’s Kernighan’s Law but rephrased so as not to ignore Conway or Brooks.