There was interesting bit of news that was caught by almost all news sites. It was a Google Developer who accidentally posted a public rant about Google’s architectural designs not in a very nice way. It was supposed to be seen only by co-workers, but as we all know, soon as you post something in the internet, it is stuck there forever. I read the lengthy post and was pretty surprised how Steve Yegge managed at the same time burn bridges also behind him, but probably a few in the front as well. Calling your previous boss (Amazon CEO Jeff Bezos) a terrible leader and taunting your current employer about incompetence does not seem proper behaviour to me. Even though the post was not supposed to be public. But the post mostly contained how both of the big names are incorporating Service Oriented Architecture.
I have to admit, for a while I have been a big fan of Service Oriented Architecture or SOA and agile methods. To put it simply, instead of programs keeping all the logic and functionalities to themselves, in SOA they can be used as interoperable services. These services can be then utilized by any other programs. The benefits are quite obvious, like reuse and easier integration. Where as API is more an interface to a certain tiny function, SOA in its best can define the API of the whole organization.
In Steve’s post, he told how Jeff Bezos back in 2002 decided that all Amazon services should be built on the SOA principle. The execution might not have been perfect, but in the end it offered Amazon a very big competitive edge. Because Amazon already used SOA to provide basic infrastructural services, like computational power, databases and disk space internally, why not also sell it to outside customers as a trendy cloud service? And it has been a huge success. And if you happened to stumble upon the Facebook Developer page, you can see how much they have placed effort on making sure that apps utilizing those APIs are popping up everywhere.
But if you choose this open path, I have to agree with Steve that you have to be ready to eat your own dog food. The two past posts have been mostly about IT, I promise to come back to book publishing next time!