At last week's Gartner Enterprise Architecture Summit, Werner Vogels, vice president, worldwide architecture and CTO at Amazon.com, provided some sage advice for SOA and Web service implementers: Detailed advanced planning is nice, but your best bet is to just get out there and start doing it. And keep it simple -- very simple.
This may sound breezy for an operation supporting one million partners and 60 million customers, but thriving at such levels calls for as much flexibility as possible. In Vogels' keynote, summarized here in SearchWebServices, the Amazon CTO said the online retail giant actually purchased a mainframe to handle transaction loads in 1999, a move he soon regretted. Vogels said the mainframe did not provide the scalability and flexibility required for its growing transaction volumes. (Of course, that was 1999, and the current line of zSeries mainframes are better configured for SOA -- but that's the subject of another post.)
The solution Amazon arrived at within the next couple of years was to build Web services that could form a transaction layer to handle online business applications, while shielding the retailer's databases. "We were doing SOA before it was a buzzword," Vogels said.
"Service orientation works," he said. "We never could have built [Amazon's Linux blade server] platform without service orientation."
Amazon's management style is that when a development team creates a Web service, that team is responsible for the testing, ongoing maintenance, and upgrading of that service. Vogels' philosophy is "you build it; you own it."
Vogels said he also admonishes Amazon developers to keep services as simple as possible, and don't get attached to any one technology or standard. And, though Amazon is known for its REST-based services, Vogels sidesteps any simmering controversy. It doesn't matter if a partner uses REST or SOAP, he pointed out. "Our developers don't care if it's REST or SOAP. It's all about customers," he said.