Monday, April 16, 2007

Application Scaling the eBay Way

Just read a great post on the Dr. Dobbs site on the technique of staying as "transactionless" as possible in order to acheive scale. The author cites a presentation by eBay architect Dan Pritchett on the architecture of the eBay site. That presentation is a great read. In my experience, many enterprise applications suffer from data sprawl because of multiple siloed applications. What is interesting is that eBay has purposeful data sprawl in order to achieve concurrent scalability. However, it is accompanied by a rigorous control over application architecture into independent functional domains (buying, selling, billing, etc.). Typically I see applications built by broader "channels" - back office, customer self-service, etc. but these have broad functionality and they suffer from all-or-nothing fragility, in that if one function is down the whole site is down. Key concept: Break your enterprise architecture into functional domains to achieve maximum scalability and availability. This probably means a lot of rework for existing applications, but it may be the only choice to introduce scale.

1 comment:

Anonymous said...

You write very well.