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, 24×7, 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

Leave a Reply