In Tim O’Reilly’s book WTF, I learned about a famous post about IT architecture now famously known as Steve’s rant. The post focuses on the fact that Amazon turned itself into a Platform company in 2002 when Jeff Bezos mandated it. The paved the way for businesses like Amazon Web Services. The core of the mandate was:
- 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. Bezos doesn’t care.
- 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!
At its core, this is what everyone else in the software industry building under the name “microservices.” I found a good video to explain microservices below. As you’ll see, it’s what Amazon did in 2002.