There was another essay from Steve Yegge some years ago where he was comparing Amazon vs Google (he worked for both companies) and how Amazon completely transformed themselves into using internal APIs as the only method of communication between teams within the company.
Yegge has recalled an email to all Amazon staff where Bezos outlined new Amazon rules. This was in 2002.
1.) All teams will henceforth expose their data and functionality through service interfaces.
2.) Teams must communicate with each other through these interfaces.
3.) There will be no other form of inter-process communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
4.) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
Especially the last point of the memo is very telling because it shows that Amazon was planning to externalize artifacts of various teams within Amazon at least 4 years before AWS was actually born.
reading it the second time (last time I read it a year ago):
- Is ad business model a major reason Google is not providing a platform or hesitant about it? (Out of Amazon/Apple/FB/MS, FB is the only other primarily ad-based company (or is it?) so I wonder how FB is doing it). Because programmatic interfaces means developers can program out ads (unless there's a way for a service provider to avoid that situation, IDK).
- Or has Google moved towards platform/accessibility model recently? or is it same old same old?
Yegge has recalled an email to all Amazon staff where Bezos outlined new Amazon rules. This was in 2002.
1.) All teams will henceforth expose their data and functionality through service interfaces.
2.) Teams must communicate with each other through these interfaces.
3.) There will be no other form of inter-process communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
4.) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
Especially the last point of the memo is very telling because it shows that Amazon was planning to externalize artifacts of various teams within Amazon at least 4 years before AWS was actually born.