Subscribe: Alex Barnett blog : podcast, platforms, SOA, Mashup, Data, APIs
http://alexbarnett.net/blog/rss.aspx?Tags=podcast/platforms/SOA/Mashup/Data/APIs&AndTags=1
Added By: Feedage Forager Feedage Grade C rated
Language: English
Tags:
add  amazon  bigger nodes  bigger  business  made  means add  means  nodes  platforms soa  scalability amazon  scale  services  web services  web 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Alex Barnett blog : podcast, platforms, SOA, Mashup, Data, APIs

Alex Barnett blog : podcast, platforms, SOA, Mashup, Data, APIs



Tags: podcast, platforms, SOA, Mashup, Data, APIs



 



Scalability at Amazon (notes)

Sun, 01 Apr 2007 13:17:00 GMT

Werner Vogels, CTO at Amazon.com spoke at Supernova 2006 on the topic of Scalability at Amazon and the talk is available as a podcast at IT Conversations (thanks to James Governor for the link).

I made some notes as I listened this morning and thought I'd share:

A services business. Amazon.com is a platform. NBA.com is an application built on Amazon.com

If your online business is successful and you experience a 1000-fold increase in traffic you want your site to stay up! Building, operating and maintaining infrastructure that can be ‘always on’ and scale and is hard.  Wouldn't it be nice to pay-as-you-go, rather than investing your capital up-front?

You need infrastructure that can incrementally scale. In 1995 Amazon.com had 1m books in its catalogue. That was the beginning.  Now it has 35 different stores, not just books. Growing our business is not just a matter of buying bigger databases. Amazon has gone beyond that point.

Internally, Amazon is now a completely service oriented architecture (SOA).

A single Amazon.com page is made up of 100 to 150 individual web services.

What does 'scalability' actually mean? It means that if you add resources to the system the performance needs to increase proportional to the resources that you’ve added. Many of the academic algorithms don’t work like this. Many of the two-phase commit traditional transactional stuff doesn’t work like this. In general, the load on the network relevant to the application increases more than the magnitude of n. It doesn’t mean just handling more requests, it also means handling larger datasets. It needs to be able to add nodes to the system to achieve fault tolerance. It means that if you add bigger nodes you should be able to take advantage of more processing and more memory.  It means that the more bigger nodes you add, the fewer people you require to actually maintain them and that as you add more nodes that system should not become more unstable. It means being more cost effective.

Target came to us and asked 'we really love what you've done with Amazon - can you do that for us?' Our interaction with Target made us realize we could become a platform rather than just a single application. Different sets of Amazon Enterprise web services: content generation and discoverability; identity; inventory management;  fulfillment and customer service; order processing, payment and fraud protection. You can mix and mash these services.

Those services that are consumed by partners are guaranteed as 'always on'.

Cost effectiveness is scale.

Unexpected uses and applications built on top of our web services that we couldn't predict.

Our goal was expose all the atomic pieces that Amazon was really good at and to do that at scale and as web services.

(image)