Académique Documents
Professionnel Documents
Culture Documents
,I
nc
Striking a balance between site stability, feature velocity, performance, and cost
eB
ay
SD Forum 2006
eB
ay
,I
nc
An SUV is
soldsells
every
5 minutes
A sporting
good
every
2 seconds
In a dynamic environment
ay
,I
nc
105
Million
Listings
eB
212
Million
Users
Q1Q2Q3Q4Q1Q2Q3Q4Q1Q2Q3Q4Q1Q2Q3Q4Q1Q2Q3Q4Q1Q2Q3Q4Q1Q2Q3Q4Q1Q2Q3Q4Q1Q2Q3
1998
1999
2000
2001
2002
2003
2004
2005
2006
4
2006 eBay Inc.
nc
.
Feature
Train
,I
Feature
100K LOC/Wk
ay
300+ Features
Per Quarter
212M Users
99.94%
6M LOC
eB
Our site is our product. We change it incrementally through implementing new features.
Very predictable development process trains leave on-time at regular intervals (weekly).
Parallel development process with significant output -- 100,000 LOC per release.
Always on over 99.94% available.
Systemic Requirements
.
nc
ay
eB
Maintainability
Faster Product
Delivery
,I
Availability
Reliability
Massive Scalability
Security
10X Growth
6
2006 eBay Inc.
Architectural Lessons
Virtualize Components
nc
ay
,I
eB
7
2006 eBay Inc.
V1
1999
2000
2001
eB
1998
ay
,I
nc
Registered Users
V2.0
V2.3
2002
V2.4
2003
2004
2005
Q3
2006
V2.5
V3
V4
ay
,I
nc
eB
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
9
2006 eBay Inc.
eB
ay
,I
nc
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
10
2006 eBay Inc.
eB
ay
,I
nc
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
11
2006 eBay Inc.
nc
However
eB
ay
,I
By November 1999, the database servers approached their limits of physical growth.
12
2006 eBay Inc.
eB
ay
,I
nc
13
2006 eBay Inc.
FEEDBACK
ACCOUNTS
CATY 1
Bear
CATY 2
ay
Bull
User Read
,I
User Write
nc
eB
CATY 5
CATY 9
CATY 6
CATY 10
BATCH JOBS
ARCHIVE
CATY 3
BATCH JOBS
CATY 4
CATY 7
CATY 8
CATY 11
CATY 12
Tran
Scratch
December,1999
2002
November,
14
SUN
SUN
A3500
2006 eBay Inc.
Application Server
nc
eB
ay
,I
15
2006 eBay Inc.
nc
Gave us a chance to architect the code for reuse and separation of duties
eB
ay
,I
16
2006 eBay Inc.
eB
ay
,I
nc
nc
,I
Segmentation by function.
Horizontal splits within functions.
eB
ay
18
2006 eBay Inc.
Rationale
,I
nc
User hosts
Item hosts
Account hosts
Feedback hosts
Transaction hosts
And about 70 more functional categories
ay
eB
19
2006 eBay Inc.
nc
,I
ay
eB
Rationale
20
2006 eBay Inc.
nc
Rules
CATY
1..N
User
Account
Feedback
Misc
API
SCRATCH
eB
ay
Attributes Catalogs
,I
Application Servers
DB1
DB2
DB3
21
2006 eBay Inc.
nc
No stored procedures
Only very simple triggers (default value population)
ay
Referential Integrity
Joins
Sorting
,I
eB
22
2006 eBay Inc.
nc
,I
ay
Rationale
eB
Avoid deadlocks
Avoid coupling availability
Update concurrency
Seamless handling of splits
23
2006 eBay Inc.
eB
ay
,I
nc
nc
Segmentation by function.
Horizontal load-balancing within functions.
Minimize dependencies
eB
ay
,I
Between applications
Between functional areas
From applications to data tier resources
25
2006 eBay Inc.
nc
,I
eB
ay
26
2006 eBay Inc.
Integration Tier
nc
,I
Command (View)
AO/AOF (View)
XML Model
Building Logic
BO/BOF
Business Logic
DO/DAO
ay
Business Tier
XSL
eB
Presentation Tier
27
2006 eBay Inc.
,I
nc
ay
eB
Database splits
Logical / Physical Hosts
Markdown
Graceful degradation
28
2006 eBay Inc.
,I
nc
Restrict inter-dependencies
Applications depend on Domains, not on other Applications
No dependencies among shared Domains
SellingDomain
PersonalizationDomain
BuyingDomain
BillingDomain
eB
UserDomain
ay
UserValidationDomain
SharedBuyingDomain
myEbayDomain
Core-Domain
29
Applications
SearchDomain
SharedBillingDomain
SharedSearchDomain
Shared
Domains
API Domain
LookupDomain
2006 eBay Inc.
nc
SYI Pool
http://cgi.ebay.com
http://cgi5.ebay.com
CGI0
CGI5
ay
,I
Load Balancing
Load Balancing
AS
IIS
IIS
IIS
eB
IIS
IIS WebServers
AS
AS
AppServers
AS
AS
AS
Load Balancing
30
User
Acct
Caty1
Caty20+
2006 eBay Inc.
nc
ay
,I
Search
SOA
Billing
EDA
EDA
eB
Transaction
Platform
Fraud
31
2006 eBay Inc.
eB
ay
,I
nc
Scaling Search
nc
,I
Exhaustive recall
ay
eB
33
2006 eBay Inc.
nc
Real-time indexing
In-memory search index
ay
Horizontal segmentation
,I
Caching
eB
34
2006 eBay Inc.
eB
ay
,I
nc
Scaling Operations
nc
Rollout Plan
,I
eB
ay
37
2006 eBay Inc.
nc
,I
ay
eB
Extensive Reporting
38
2006 eBay Inc.
Recap
nc
eB
Faster Product
Delivery
,I
Maintainability
ay
Availability
Reliability
Massive Scalability
Security
Architecting for
the future
10X Growth
39
2006 eBay Inc.