Data contracts and the API mandate
·2 mins
In 2002 Jeff Bezos issued the now infamous API Mandate which stated the following:
- All teams will henceforth expose their data and functionality through service interfaces.
- Teams must communicate with each other through these interfaces.
- There will be no other form of interprocess 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.
- It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter.
- 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.
- Anyone who doesn’t do this will be fired.
- Thank you; have a nice day!
Now, at the time creating APIs were not as easy as they are now, so building these interfaces would take time.
But Bezos knew that effort was worth it if they were going to build reliable systems in a fast moving organisation.
It’s the same with data contracts in 2024.
Creating data contracts take some effort - perhaps currently more than APIs did in 2002, depending on the maturity of your data platform.
But that effort is worth it if you are going to build reliable data applications in a fast moving organisation.