Several days ago a Google engineer accidentally published his rant, criticising Google+ and some other Google practices to the whole world to see. It went viral before he managed to delete it, and has been reproduced by many. While most of the text has significant importance to the limited number of Internet and Social companies, he also opened the window on how SOA was implemented in Amazon. I believe that the latter part is hugely important to _any_ large enterprise IT. With Amazon shares defying the almost universal slump. primarily due to their platform offers that came out of SOA implementation, there can be no bigger testament for SOA “Amazon way”.
I do not copy the whole text, as the legality of that is not clear to me considering it has been removed from the author’s Google+ account. Please google “Steve Yegge rant” if interested, and choose from 100s of copies. I will however provide the key message, translated to to more traditional enterprise language:
At some time around 2002 Jeff Bezos, the founder, CEO & significant owner of Amazon, issued a following mandate:
- All Business Units should expose their information and capabilities through service interfaces.
- Business Units must communicate with each other through these service interfaces.
- There will be no other form of communication allowed: no direct linking, no direct reads of data stores, no back-doors whatsoever. The only communication allowed is via service interface calls over the network. Steve’s text doesn’t mention low-tech methods like sending emails and submitting forms as this is something Amason sorted away from the very beginning.
- The technology doesn’t matter, as soon the services are clearly defined.
- All service interfaces, without exception, must be designed from the ground up to be externalizable.” Any capability that is provided via Services can potentially be offered as services to external customers if the CEO decides to do so.
- Anyone who doesn’t do this will be fired.
The possibility of externalization requirement (#5), as irrelevant as it can be seen to large banks and Government agencies, is the key to effective definition of services and achieving business agility. Please also note that refusal to mandate specific communication technology coming from such a technology-intensive company. Jeff Bezos realized that it is the definition and quality of services rather than platform that is required to deliver the business flexibility that he wanted.
In Amazon, the definition of services were done by developers themselves. That can hardly be reproduced in more conventional enterprises. Business Abstraction has been successfully teaching and delivering Business Service Analysis that provides definitions of services required to deliver to the enterprise capabilities.