It'd be interesting to see a comparison of Apple's "Strictly controlled interface between groups on a need to know basis" and Amazon's "All teams will henceforth expose their data and functionality through service interfaces. Teams must communicate with each other through these interfaces."
I'm guessing most companies have a more leaky abstraction approach
https://gist.github.com/kislayverma/d48b84db1ac5d737715e8319...