InfoQ

Presentation

Recorded at:
Recorded at

Randy Shoup on eBay's Architectural Principles

Presented by Randy Shoup on Feb 05, 2008 05:00 PM

Community
Architecture
Topics
Performance & Scalability ,
Enterprise Architecture
Tags
QCon ,
Automation ,
QCon San Francisco 2007 ,
Patterns ,
eBay
The next QCon is in San Francisco Nov 18-20, Join us!
Summary
Randy Shoup covers the architectural principles eBay has used to grow and evolve its infrastructure to massive scale. It covers the forces ("-ilities") needed to contend with and design for scalability, availability, manageability, etc. He outlines eBay's architectural principles which meet - and trade off - those forces and describes reusable patterns for each strategy with eBay examples.

Bio
Randy Shoup is a Distinguished Architect in the eBay Marketplace Architecture group. Since 2004, he has been the primary architect for eBay's search infrastructure. Prior to eBay, he was Chief Architect at Tumbleweed Communications, and held a variety of roles at Oracle and Informatica. He has a BS in Mathematical and Computational Science, and an AB in Political Science, from Stanford University.

About the conference
QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community.QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.
Poor Audio by Ray Krueger Posted Feb 7, 2008 8:59 AM
Re: Poor Audio by Surender Kumar Posted Feb 8, 2008 6:18 AM
Re: Poor Audio by Surender Kumar Posted Feb 8, 2008 6:19 AM
Great presentation... have you checked out this design pattern project? by Damon Edwards Posted Feb 10, 2008 10:32 PM
Re: Great presentation... have you checked out this design pattern project? by Randy Shoup Posted Feb 13, 2008 1:51 PM
ppt by mario reyna Posted Feb 14, 2008 6:53 PM
Re: ppt by Randy Shoup Posted Feb 14, 2008 8:17 PM
Fantastic presentation by Olivier Gourment Posted Mar 11, 2008 3:04 PM
  1. Back to top

    Poor Audio

    Feb 7, 2008 8:59 AM by Ray Krueger

    Unfortunately the audio on this goes to hell about 15 minutes in. Don't listen with the volume too loud or you'll be punished with really loud static blasts. Ironicly the static blasts only seem to occur when he says important things :P

  2. Back to top

    Re: Poor Audio

    Feb 8, 2008 6:18 AM by Surender Kumar

    Now it doesn't start even.

  3. Back to top

    Re: Poor Audio

    Feb 8, 2008 6:19 AM by Surender Kumar

    sorry, it does but takes a while.

  4. Great presentation, Randy. Have you checked out the nascent Design Patterns Project over at the Open Management Consortium? http://www.open-management.com/community/open_standards/omc_design_patterns The early efforts are around design patterns for automation, but many of the themes you touched on are well within the project's scope (of being a neutral repository for operations design patterns). -Damon http://dev2ops.org

  5. Hi, Damon -- Glad you liked the presentation. Thanks a lot for the pointer to the Design Patterns Project -- I hadn't known about it before. Looks like it is off to an encouraging start. I'll be interested to see how it evolves. It certainly would be valuable to have a repository for such patterns. -- Randy

  6. Back to top

    ppt

    Feb 14, 2008 6:53 PM by mario reyna

    hello randy. where can i download the presentation? it seems like you apply very well a federated database system(or virtual database) thanks in advance

  7. Back to top

    Re: ppt

    Feb 14, 2008 8:17 PM by Randy Shoup

    Hi, Mario -- A pdf version is available from the QCon SF conference track "Architectures you've always wondered about" (http://qcon.infoq.com/sanfrancisco/tracks/show_track.jsp?trackOID=70). Here is a direct link: http://www.eos1.dk/qcon/sf2007/slides/public/RandyShoup_eBayArchPrinciples.pdf You can certainly think of eBay's database strategy as federated, and we definitely virtualize the federated aspect to make the programming model simpler for the developers. "Sharding" is a related term which seems to be entering more common use. Whatever you call it, it has been critical to our ability to scale. One thing I will add is that the fact that we implement the virtualization logic inside the application server (as opposed to some intermediate tier) has made it easier to optimize connections and request routing without an additional network hop. -- Randy

  8. Back to top

    Fantastic presentation

    Mar 11, 2008 3:04 PM by Olivier Gourment

    Thank you Randy for sharing this brilliant material with us (Note: I have only read the PDF). Obviously, a number of strategies only apply to the range of massive traffic that eBay has (otherwise they come at the price of a difficult maintenance). But, still, I believe the principles are fundamentally right, and should be applied to any potentially large web site.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.