The eBay Architecture: Striking a Balance between Site Stability, Feature Velocity, Performance, and Cost

Randy Shoup
Randy ShoupChief Architect at eBay
The eBay Architecture Striking a balance between site stability, feature velocity, performance, and cost  Presented By:  Randy Shoup and Dan Pritchett Date:  February 9, 2007 Amazon Friday Learning Series
What we ’re up against ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],>26 Billion SQL executions/day! An SUV is sold every 5 minutes A sporting good sells every 2 seconds Over ½ Million pounds of Kimchi are sold every year!
Site Statistics: in a typical  day … June 1999 Q3 2006 Growth Outbound Emails 1 M 35 M 35x Total Page Views 54 M 1 B 19x Peak Network Utilization 268 Mbps 16 Gbps 59x API Calls 0 100 M N/A Availability ~97% 99.94% 50x 43 mins/day 50 sec/day
eBay ’s Exponential Growth 212 Million Users 1999 2000 2001 2002 2003 1998 2004 2005 105 Million Listings 2006
Velocity of eBay -- Software Development Process ,[object Object],[object Object],[object Object],[object Object],6M LOC 100K LOC/Wk 99.94% 212M Users 300+ Features Per Quarter ,[object Object]
Systemic Requirements Maintainability   Faster Product Delivery Enable rapid business innovation Enable seamless growth Deliver quality functionality at accelerating rates Architect for the future 10X Growth Availability Reliability Massive Scalability Security
Architectural Lessons ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ongoing Platform Evolution … V1 V2.0 V2.4 V3 V2.3 eBay architecture versions Registered Users 212M V4 V2.5
V1.0  1995-September 1997 ,[object Object],[object Object],[object Object],[object Object],This system maxed out at 50,000 active items
V2.0  September 1997- February 1999 ,[object Object],[object Object],[object Object],[object Object],[object Object]
V2.1  February 1999-November 1999 ,[object Object],[object Object],[object Object],[object Object]
V2.3  June 1999-November 1999 ,[object Object],[object Object],However … By November 1999, the database servers approached their limits of physical growth.
V2.4  November 1999-April 2001 ,[object Object],[object Object],[object Object]
V2.5  April 2001  –  December 2002 November, 1999 December, 2002 ,[object Object],[object Object],[object Object],Bear Bull
Now that we have the Database taken care of…. ,[object Object],[object Object],[object Object],[object Object],[object Object]
V3 – Replace C++/ISAPI with Java  2002-present ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Data Tier
Scaling the Data Tier: Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Data Tier:  Functional Segmentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Data Tier:  Horizontal Split ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Data Tier:  Logical Database Hosts  ,[object Object],[object Object],[object Object],DB2 DB3 DB1 Application Servers Attributes Catalogs Rules CATY 1..N User Account Feedback Misc API SCRATCH
Scaling the Data Tier:  Minimize DB Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Data Tier:  Minimize DB Transactions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Application Tier
Scaling the Application Tier – Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Application Tier – Massively Scaling J2EE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Application Tier – Tiered Application Model BO/BOF AO/AOF (View) Business Logic XML Model Building Logic Command (View) DO/DAO XSL Business Tier Presentation Tier Integration Tier Data Access Layer (DAL) ,[object Object],[object Object],[object Object],[object Object]
Scaling the Application Tier – Data Access Layer (DAL) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling the Application Tier – Vertical Code Partitioning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Core-Domain PersonalizationDomain LookupDomain UserValidationDomain SharedBillingDomain SharedSearchDomain API Domain SharedBuyingDomain myEbayDomain UserApplication BuyingDomain BillingDomain SearchDomain SellingDomain UserDomain SellingApplication BuyingApplication SearchApplication BillingApplication Applications Shared Domains
Scaling the Application Tier – Functional Segmentation IIS IIS ViewItem Pool   http://cgi.ebay.com … … … User Acct Caty20+ Caty1 AppServers … IIS IIS CGI0 CGI5 AS AS AS AS SYI Pool  http://cgi5.ebay.com … IIS WebServers Load Balancing Load Balancing Load Balancing ,[object Object],[object Object],[object Object],AS AS
Scaling the Application Tier – Platform Decoupling ,[object Object],[object Object],[object Object],[object Object],[object Object],Transaction Platform Billing Search Fraud EDA EDA SOA
Scaling Search
Scaling Search – Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling Search – Voyager ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling Search – Voyager
Scaling Operations
Scaling Operations – Code Deployment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling Operations – Monitoring ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recap ,[object Object],[object Object],[object Object],[object Object],[object Object],Maintainability Faster Product Delivery Architecting for the future 10X Growth Availability Reliability Massive Scalability Security
1 of 39

Recommended

Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo by
Microservices Architectures: Become a Unicorn like Netflix, Twitter and HailoMicroservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailogjuljo
15.5K views107 slides
eBay Architecture by
eBay Architecture eBay Architecture
eBay Architecture Tony Ng
26.8K views46 slides
Why Microservices by
Why MicroservicesWhy Microservices
Why MicroservicesAmazon Web Services
2.9K views26 slides
Introduction to Event-Driven Architecture by
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Solace
1.7K views49 slides
Introduction To Microservices by
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
1.1K views40 slides
Three layer API Design Architecture by
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design ArchitectureHarish Kumar
22K views13 slides

More Related Content

What's hot

Event Driven Architecture by
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureLourens Naudé
8.7K views78 slides
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3 by
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Ahmed Misbah
164 views52 slides
SOA vs Microservices vs SBA by
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBAMichael Sukachev
2.4K views16 slides
Why Microservice by
Why Microservice Why Microservice
Why Microservice Kelvin Yeung
501 views32 slides
Overview of API Management Architectures by
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management ArchitecturesNordic APIs
507 views15 slides
Microservices Part 3 Service Mesh and Kafka by
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaAraf Karsh Hamid
7.6K views56 slides

What's hot(20)

Event Driven Architecture by Lourens Naudé
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
Lourens Naudé8.7K views
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3 by Ahmed Misbah
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Ahmed Misbah164 views
Overview of API Management Architectures by Nordic APIs
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management Architectures
Nordic APIs507 views
Microservices Part 3 Service Mesh and Kafka by Araf Karsh Hamid
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
Araf Karsh Hamid7.6K views
Decomposing Applications for Scalability and Deployability (April 2012) by Chris Richardson
Decomposing Applications for Scalability and Deployability (April 2012)Decomposing Applications for Scalability and Deployability (April 2012)
Decomposing Applications for Scalability and Deployability (April 2012)
Chris Richardson18.2K views
Building Cloud Native Architectures with Spring by Kenny Bastani
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with Spring
Kenny Bastani11.6K views
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English by Omid Vahdaty
AWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | EnglishAWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
Omid Vahdaty1.1K views
Microservice Architecture by Nguyen Tung
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Nguyen Tung7.1K views
初探 OpenTelemetry - 蒐集遙測數據的新標準 by Marcus Tung
初探 OpenTelemetry - 蒐集遙測數據的新標準初探 OpenTelemetry - 蒐集遙測數據的新標準
初探 OpenTelemetry - 蒐集遙測數據的新標準
Marcus Tung1.3K views

Viewers also liked

Pragmatic Microservices by
Pragmatic MicroservicesPragmatic Microservices
Pragmatic MicroservicesRandy Shoup
2.2K views36 slides
Teaching Machines to Fish -- How eBay Improves Itself by
Teaching Machines to Fish -- How eBay Improves ItselfTeaching Machines to Fish -- How eBay Improves Itself
Teaching Machines to Fish -- How eBay Improves ItselfRandy Shoup
2.6K views30 slides
Best Practices for Large-Scale Websites -- Lessons from eBay by
Best Practices for Large-Scale Websites -- Lessons from eBayBest Practices for Large-Scale Websites -- Lessons from eBay
Best Practices for Large-Scale Websites -- Lessons from eBayRandy Shoup
5.4K views16 slides
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ... by
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...Ambassador Labs
3.9K views24 slides
From the Monolith to Microservices - CraftConf 2015 by
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015Randy Shoup
8.3K views31 slides

Viewers also liked(20)

Pragmatic Microservices by Randy Shoup
Pragmatic MicroservicesPragmatic Microservices
Pragmatic Microservices
Randy Shoup2.2K views
Teaching Machines to Fish -- How eBay Improves Itself by Randy Shoup
Teaching Machines to Fish -- How eBay Improves ItselfTeaching Machines to Fish -- How eBay Improves Itself
Teaching Machines to Fish -- How eBay Improves Itself
Randy Shoup2.6K views
Best Practices for Large-Scale Websites -- Lessons from eBay by Randy Shoup
Best Practices for Large-Scale Websites -- Lessons from eBayBest Practices for Large-Scale Websites -- Lessons from eBay
Best Practices for Large-Scale Websites -- Lessons from eBay
Randy Shoup5.4K views
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ... by Ambassador Labs
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Ambassador Labs3.9K views
From the Monolith to Microservices - CraftConf 2015 by Randy Shoup
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015
Randy Shoup8.3K views
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup by Randy Shoup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupMinimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Randy Shoup17.2K views
Microservices @ SoundCloud by Bora Tunca
Microservices @ SoundCloudMicroservices @ SoundCloud
Microservices @ SoundCloud
Bora Tunca1.7K views
Flowcon2013 - Virtuous Cycles of Velocity: What I Learned About Going Fast at... by Randy Shoup
Flowcon2013 - Virtuous Cycles of Velocity: What I Learned About Going Fast at...Flowcon2013 - Virtuous Cycles of Velocity: What I Learned About Going Fast at...
Flowcon2013 - Virtuous Cycles of Velocity: What I Learned About Going Fast at...
Randy Shoup1.4K views
Availability Objectives of SoundClouds Microservices by Bora Tunca
Availability Objectives of SoundClouds MicroservicesAvailability Objectives of SoundClouds Microservices
Availability Objectives of SoundClouds Microservices
Bora Tunca838 views
SoundCloud's Toolbox for Microservices by Bora Tunca
SoundCloud's Toolbox for MicroservicesSoundCloud's Toolbox for Microservices
SoundCloud's Toolbox for Microservices
Bora Tunca1.5K views
Service Architectures At Scale - QCon London 2015 by Randy Shoup
Service Architectures At Scale - QCon London 2015Service Architectures At Scale - QCon London 2015
Service Architectures At Scale - QCon London 2015
Randy Shoup2.4K views
2011 Search Query Rewrites - Synonyms & Acronyms by Brian Johnson
2011 Search Query Rewrites - Synonyms & Acronyms2011 Search Query Rewrites - Synonyms & Acronyms
2011 Search Query Rewrites - Synonyms & Acronyms
Brian Johnson4.7K views
Concurrency at Scale: Evolution to Micro-Services by Randy Shoup
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
Randy Shoup9.4K views
Why Enterprises Are Embracing the Cloud by Randy Shoup
Why Enterprises Are Embracing the CloudWhy Enterprises Are Embracing the Cloud
Why Enterprises Are Embracing the Cloud
Randy Shoup1.7K views
Incubateur hec acquérir du trafic et fidéliser son audience - lancer un buz... by Guilhem Bertholet
Incubateur hec   acquérir du trafic et fidéliser son audience - lancer un buz...Incubateur hec   acquérir du trafic et fidéliser son audience - lancer un buz...
Incubateur hec acquérir du trafic et fidéliser son audience - lancer un buz...
Guilhem Bertholet4.4K views
API Development and Scala @ SoundCloud by Bora Tunca
API Development and Scala @ SoundCloudAPI Development and Scala @ SoundCloud
API Development and Scala @ SoundCloud
Bora Tunca2.7K views

Similar to The eBay Architecture: Striking a Balance between Site Stability, Feature Velocity, Performance, and Cost

E Bay Sd Forum2006 11 29 by
E Bay Sd Forum2006 11 29E Bay Sd Forum2006 11 29
E Bay Sd Forum2006 11 29guest7fe78
183 views37 slides
Technology Overview by
Technology OverviewTechnology Overview
Technology OverviewLiran Zelkha
599 views109 slides
Handling Data in Mega Scale Systems by
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsDirecti Group
3.7K views73 slides
Running a Megasite on Microsoft Technologies by
Running a Megasite on Microsoft TechnologiesRunning a Megasite on Microsoft Technologies
Running a Megasite on Microsoft Technologiesgoodfriday
635 views31 slides
Refactoring to Microservices by
Refactoring to MicroservicesRefactoring to Microservices
Refactoring to MicroservicesJacinto Limjap
348 views46 slides
Scaling Integration by
Scaling IntegrationScaling Integration
Scaling IntegrationKim Clark
292 views20 slides

Similar to The eBay Architecture: Striking a Balance between Site Stability, Feature Velocity, Performance, and Cost(20)

E Bay Sd Forum2006 11 29 by guest7fe78
E Bay Sd Forum2006 11 29E Bay Sd Forum2006 11 29
E Bay Sd Forum2006 11 29
guest7fe78183 views
Handling Data in Mega Scale Systems by Directi Group
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
Directi Group3.7K views
Running a Megasite on Microsoft Technologies by goodfriday
Running a Megasite on Microsoft TechnologiesRunning a Megasite on Microsoft Technologies
Running a Megasite on Microsoft Technologies
goodfriday635 views
Refactoring to Microservices by Jacinto Limjap
Refactoring to MicroservicesRefactoring to Microservices
Refactoring to Microservices
Jacinto Limjap348 views
Scaling Integration by Kim Clark
Scaling IntegrationScaling Integration
Scaling Integration
Kim Clark292 views
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A... by MongoDB
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...
Transforming a Large Mission-Critical E-Commerce Platform from a Relational A...
MongoDB2.1K views
DB2 9 for z/OS - Business Value by Surekha Parekh
DB2 9 for z/OS  - Business  ValueDB2 9 for z/OS  - Business  Value
DB2 9 for z/OS - Business Value
Surekha Parekh550 views
NZSPC 2013 - Ultimate SharePoint Infrastructure Best Practices Session by Michael Noel
NZSPC 2013 - Ultimate SharePoint Infrastructure Best Practices SessionNZSPC 2013 - Ultimate SharePoint Infrastructure Best Practices Session
NZSPC 2013 - Ultimate SharePoint Infrastructure Best Practices Session
Michael Noel671 views
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit by Amazon Web Services
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ... by Nati Shalom
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Nati Shalom2.9K views
Understanding The Azure Platform Jan by DavidGristwood
Understanding The Azure Platform   JanUnderstanding The Azure Platform   Jan
Understanding The Azure Platform Jan
DavidGristwood1.4K views
DB2 for z/O S Data Sharing by Surekha Parekh
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data Sharing
Surekha Parekh1.8K views
How to Radically Simplify Your Business Data Management by Clusterpoint
How to Radically Simplify Your Business Data ManagementHow to Radically Simplify Your Business Data Management
How to Radically Simplify Your Business Data Management
Clusterpoint409 views
Windows Azure: Lessons From The Field by Rob Gillen
Windows Azure: Lessons From The FieldWindows Azure: Lessons From The Field
Windows Azure: Lessons From The Field
Rob Gillen387 views
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App... by Amazon Web Services
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...

More from Randy Shoup

Anatomy of Three Incidents -- Commonalities and Lessons by
Anatomy of Three Incidents -- Commonalities and LessonsAnatomy of Three Incidents -- Commonalities and Lessons
Anatomy of Three Incidents -- Commonalities and LessonsRandy Shoup
209 views42 slides
One Terrible Day at Google, and How It Made Us Better by
One Terrible Day at Google, and How It Made Us BetterOne Terrible Day at Google, and How It Made Us Better
One Terrible Day at Google, and How It Made Us BetterRandy Shoup
181 views30 slides
Scaling Your Architecture for the Long Term by
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermRandy Shoup
693 views35 slides
Minimal Viable Architecture - Silicon Slopes 2020 by
Minimal Viable Architecture - Silicon Slopes 2020Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020Randy Shoup
965 views43 slides
An Agile Approach to Machine Learning by
An Agile Approach to Machine LearningAn Agile Approach to Machine Learning
An Agile Approach to Machine LearningRandy Shoup
605 views45 slides
Moving Fast at Scale by
Moving Fast at ScaleMoving Fast at Scale
Moving Fast at ScaleRandy Shoup
740 views44 slides

More from Randy Shoup(20)

Anatomy of Three Incidents -- Commonalities and Lessons by Randy Shoup
Anatomy of Three Incidents -- Commonalities and LessonsAnatomy of Three Incidents -- Commonalities and Lessons
Anatomy of Three Incidents -- Commonalities and Lessons
Randy Shoup209 views
One Terrible Day at Google, and How It Made Us Better by Randy Shoup
One Terrible Day at Google, and How It Made Us BetterOne Terrible Day at Google, and How It Made Us Better
One Terrible Day at Google, and How It Made Us Better
Randy Shoup181 views
Scaling Your Architecture for the Long Term by Randy Shoup
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long Term
Randy Shoup693 views
Minimal Viable Architecture - Silicon Slopes 2020 by Randy Shoup
Minimal Viable Architecture - Silicon Slopes 2020Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020
Randy Shoup965 views
An Agile Approach to Machine Learning by Randy Shoup
An Agile Approach to Machine LearningAn Agile Approach to Machine Learning
An Agile Approach to Machine Learning
Randy Shoup605 views
Moving Fast at Scale by Randy Shoup
Moving Fast at ScaleMoving Fast at Scale
Moving Fast at Scale
Randy Shoup740 views
Breaking Codes, Designing Jets, and Building Teams by Randy Shoup
Breaking Codes, Designing Jets, and Building TeamsBreaking Codes, Designing Jets, and Building Teams
Breaking Codes, Designing Jets, and Building Teams
Randy Shoup521 views
Scaling Your Architecture with Services and Events by Randy Shoup
Scaling Your Architecture with Services and EventsScaling Your Architecture with Services and Events
Scaling Your Architecture with Services and Events
Randy Shoup809 views
Learning from Learnings: Anatomy of Three Incidents by Randy Shoup
Learning from Learnings: Anatomy of Three IncidentsLearning from Learnings: Anatomy of Three Incidents
Learning from Learnings: Anatomy of Three Incidents
Randy Shoup745 views
Minimum Viable Architecture - Good Enough is Good Enough by Randy Shoup
Minimum Viable Architecture - Good Enough is Good EnoughMinimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good Enough
Randy Shoup2K views
Managing Data at Scale - Microservices and Events by Randy Shoup
Managing Data at Scale - Microservices and EventsManaging Data at Scale - Microservices and Events
Managing Data at Scale - Microservices and Events
Randy Shoup2.2K views
Service Architectures at Scale by Randy Shoup
Service Architectures at ScaleService Architectures at Scale
Service Architectures at Scale
Randy Shoup1.4K views
Monoliths, Migrations, and Microservices by Randy Shoup
Monoliths, Migrations, and MicroservicesMonoliths, Migrations, and Microservices
Monoliths, Migrations, and Microservices
Randy Shoup1.8K views
Evolving Architecture and Organization - Lessons from Google and eBay by Randy Shoup
Evolving Architecture and Organization - Lessons from Google and eBayEvolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBay
Randy Shoup1.4K views
Moving Fast At Scale by Randy Shoup
Moving Fast At ScaleMoving Fast At Scale
Moving Fast At Scale
Randy Shoup2.7K views
DevOps - It's About How We Work by Randy Shoup
DevOps - It's About How We WorkDevOps - It's About How We Work
DevOps - It's About How We Work
Randy Shoup1.4K views
Ten Lessons of the DevOps Transition by Randy Shoup
Ten Lessons of the DevOps TransitionTen Lessons of the DevOps Transition
Ten Lessons of the DevOps Transition
Randy Shoup1.4K views
Managing Data in Microservices by Randy Shoup
Managing Data in MicroservicesManaging Data in Microservices
Managing Data in Microservices
Randy Shoup18.4K views
Effective Microservices In a Data-centric World by Randy Shoup
Effective Microservices In a Data-centric WorldEffective Microservices In a Data-centric World
Effective Microservices In a Data-centric World
Randy Shoup1.8K views
A CTO's Guide to Scaling Organizations by Randy Shoup
A CTO's Guide to Scaling OrganizationsA CTO's Guide to Scaling Organizations
A CTO's Guide to Scaling Organizations
Randy Shoup6.9K views

Recently uploaded

20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
45 views73 slides
SUPPLIER SOURCING.pptx by
SUPPLIER SOURCING.pptxSUPPLIER SOURCING.pptx
SUPPLIER SOURCING.pptxangelicacueva6
20 views1 slide
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
58 views21 slides
GDSC CTU First Meeting Party by
GDSC CTU First Meeting PartyGDSC CTU First Meeting Party
GDSC CTU First Meeting PartyNational Yang Ming Chiao Tung University
11 views25 slides
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院IttrainingIttraining
69 views8 slides
Case Study Copenhagen Energy and Business Central.pdf by
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdfAitana
17 views3 slides

Recently uploaded(20)

【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana17 views
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe by Simone Puorto
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
Simone Puorto13 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays24 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2218 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman38 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays33 views

The eBay Architecture: Striking a Balance between Site Stability, Feature Velocity, Performance, and Cost

  • 1. The eBay Architecture Striking a balance between site stability, feature velocity, performance, and cost Presented By: Randy Shoup and Dan Pritchett Date: February 9, 2007 Amazon Friday Learning Series
  • 2.
  • 3. Site Statistics: in a typical day … June 1999 Q3 2006 Growth Outbound Emails 1 M 35 M 35x Total Page Views 54 M 1 B 19x Peak Network Utilization 268 Mbps 16 Gbps 59x API Calls 0 100 M N/A Availability ~97% 99.94% 50x 43 mins/day 50 sec/day
  • 4. eBay ’s Exponential Growth 212 Million Users 1999 2000 2001 2002 2003 1998 2004 2005 105 Million Listings 2006
  • 5.
  • 6. Systemic Requirements Maintainability Faster Product Delivery Enable rapid business innovation Enable seamless growth Deliver quality functionality at accelerating rates Architect for the future 10X Growth Availability Reliability Massive Scalability Security
  • 7.
  • 8. Ongoing Platform Evolution … V1 V2.0 V2.4 V3 V2.3 eBay architecture versions Registered Users 212M V4 V2.5
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 33.
  • 34.
  • 37.
  • 38.
  • 39.

Editor's Notes

  1. A few more statistics for you. In 1999, eBay was already a giant in the ecommerce space, but things were just really starting to pick up. <CLICK> Now, we are at a tremendous scale. <CLICK> The growth is just amazing. In only 5 years, we have seen 1600% growth in traffic. And because of all of the added functionality of the site, we have seen even higher growth rates in other areas: For instance, hosting pictures was a growing issue for our users. So we added eBay Picture Services. That ’ s one of the reasons that the Network Utilization has grown so quickly. Availability: You might be saying “ It only changed by roughly 3%, that ’ s not a 50x improvement ” You ’ re right, but let ’ s think about what that number really means. First, a loss of availability does not mean that the entire site is unreachable. It means that at least one of our customers might be impacted and unable to search, list, view or buy a product. 97% uptime = 43 minutes (interrupted service) per day. That ’ s a lot, and that ’ s what we were living with in 1999. Today… 99.94% availability = 50 seconds of interrupted service per day Remember that math the next time someone asks you why it ’ s so hard to improve availability. ;-)
  2. Exponential Growth. Business people just love graphs like that don ’ t they? But for us technologist, exponential growth means something very different. I ’ m trained as a nuclear engineer, so it means something even more interesting to me… But that ’ s what we ’ ve been building for over the last 10 years. The first 5 were pretty easy, we had a small group of collectors using the site to trade within a community of like-minded individuals. But after that, things started to become more challenging. We had people starting to quit their jobs and work full-time selling on eBay, we had businesses using us as a new sales channel, and we had our buyers that had found one of the most diverse sets of products every offered in one place. We needed a little process to make all of the changes that this growing community was asking us to produce.
  3. This sort of guaranteed delivery makes it possible for the business to reliably plan marketing campaigns and monitor the success of their initiatives. The velocity of code change, while maintaining reliability is unlike anything I had every seen before joining eBay.
  4. Registered Users: Almost 40,000/day Listings Approximately 100M/quarter or over 1MM/day GMS Approximately $10B/year; $30MMsold/day
  5. V1 was like any system you or I would build at home
  6. V2 moved to industry standard technology
  7. Then we added redundancy at the application tier and a real search engine
  8. We added redundancy at the database tier and more capacity
  9. We logically split to the databases and began to move the physical locations as well
  10. And we could now migrate the databases to separate, less expensive servers, without affecting the running system negatively.
  11. INTRODUCTION 3 -- Objectives List the specific skills or knowledge attendees should gain from this presentation. Write in terms of what the attendee will be able to do with the information when they leave the session – as opposed to all the features of the product. This is an important distinction. Effective Presentation TIPS The purpose of your presentation should be to provide information that will assist attendees in their work back on the job. This requires that you have some level of understanding of the type of work they do and the information they would need to carry out the job effectively and efficiently. So you should think in terms of what they will be doing back on the job. **see below ** The following is a list of topic categories Support Services, Professional Services, and Sales groups have indicated are critical in performing their jobs: SUPPORT SERVICES – Solution Center Engineers, Field and Support Engineers How to identify appropriate uses for the product The product's relative position within the product family How to recognize & identify the component(s) and sub-component(s) of the product How to install the product How to configure the product How to identify & correct common problems How to identify & correct problems arising from integration with other Sun (or non-Sun) products (continued) But everything wasn ’ t perfect. We were now hitting scaling limits of different types. - code maintenance - code complexity - search
  12. More than any specific technology, we needed to re-write the application for the realities of today.
  13. Maybe these all become individual slides?
  14. Most people don ’ t think of search when they think of eBay, but it ’ s one of the most challenging Information Retrieval projects in the world. We have 6M new items entering and exiting the site every day. And each item is updated on average 5 times during it ’ s lifetime. No off-the-shelf product today can handle the job.
  15. The architecture of Search is pretty interesting, and not just because I designed it. The system is built to function regardless of failures within the feeding stream, and every part of the system can be scaled horizontally.