If you hit the Amazon.com gateway page, the application calls more than 100 services to collect data and construct the page for you…It depends a bit on what kind of page you visitwhether it is a product page, a checkout page, etc. It also depends on how effective caching is for the objects on that page, as well as some other factors.
The big architectural change that Amazon went through in the past five years was to move from a two-tier monolith to a fully-distributed, decentralized, services platform serving many different applications. A lot of innovation was necessary to make this happen, as we were one of the first to take this approach. Operating such a diverse set of services at this scale is not something that many people have done before, especially not with the kind of isolation that we wanted to achieve.
It has been a major learning experience, but we have now reached a point where it has become one of our main strategic advantages. We can now build very complex applications out of primitive services that are by themselves relatively simple. We can scale our operation independently, maintain unparalleled system availability, and introduce new services quickly without the need for massive reconfiguration.