didier beck weblog

Thursday, July 05, 2007

BUSINESS: eBay Infrastructure 

via Adding Simplicity

Laurent has sent me (for a while...) this interesting presentation concerning the eBay infrastructure (Nov 2006).

eBay, some figures from end 2006


  • in 33 countries, in 7 languages, 24x7, 99.94% availability

  • number of registered users: 212 million

  • number of pageviews per day: over 1 billion

  • volume of data stored: over 2 PB (petabytes)

  • number of API calls per month: 3 billion

  • number of SQL executions per day: over 26 billion


Code production


  • about 6 million LOC (Line Of Code) in production

  • 300 new features per quarter

  • 100'000 lines of code rolled-out every 2 weeks

  • entire site rolled every 2 weeks

  • about 100 WAR config


Architecture Lessons Learnt


  • horizontal scaling at every tier

  • prefer asynchronous integration

  • virtualize components

  • automated failure detection and notification


Current architecture


  • since 2002, a J2EE architecture

  • MSXML framework for the presentation layer

  • no stored procedure

  • extensive use of prepared statements and bind variables

  • scales on servlets and a rewritten connection pool

  • keep Application Tier completely stateless

  • cache where possible

  • strictly partition application into tiers: presentation, business, integration