8 ms·
> no direct reads of another team’s data store This reminds me of how App Store used to ban game emulators interpreting ROMs downloaded from the internet, whil
by augustl 5y ago
> no direct reads of another team’s data store
This reminds me of how App Store used to ban game emulators interpreting ROMs downloaded from the internet, while at the same time allowing XML parsing.
Does it really matter if the interface you're talking to over the network is code written by another team, or data written by another team? I suppose implementation details are often hidden away in data stores, but does it have to be that way?
- dragonwriter 5y ago> Does it really matter if the interface you’re talking to over the network is code written by another team, or data written by another team? Yes, because it means the depedencies between systems will consistently be API dependencies, not a mix of API and datastore structure dependencies, which means that the other team will only have to reduces the constraints on change.
- draw_down 5y agoWell, it isn’t really like that at all I would say. The reason for the Amazon rule is to prevent unseen coupling between teams. Explicit boundaries are critical for this to scale.
- mattikl 5y agoDirect reading effectively makes the data store an API, i.e. the API you provide is SQL SELECT over multiple tables instead of HTTP GET resource. This pretty much freezes the database schema, the team owning it can no longer change it, because they don't know how the users use it. It also limits the possibilities to provide optimizations on the data (like caching).