Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

QCon San Francisco 2011: Agility in eBay


Published on

  • Login to see the comments

QCon San Francisco 2011: Agility in eBay

  1. 1. Agility in eBay QCon San Francisco November 17, 2011Deepak NadigDistinguished Application Architect
  2. 2. The eBay contexteBay manages …–  Over 97 million active users–  Over 2 Billion photos –  eBay users worldwide trade more than $2000 worth of goods every second A sporting goodis sold every 5 minutes An SUV sells every 2 seconds –  eBay averages well over 4 billion page views per day –  At any given time, there are over 250 million items for sale on the site in more than 50,000 categories –  eBay stores over 5 Petabytes of data – over 500 times the size of the Library of Congress! –  eBay analytics processes over 80 Petabytes of data on any day –  The eBay platform handles 40 billion API calls per month Over ½ Million pounds of Kimchi are sold every year! In a dynamic environment –  300+ features per quarter –  We roll 100,000+ lines of code every two weeks In 40 countries, in 20 languages. >100 Billion SQL executions/day! 2
  3. 3. Defining Agility The capability of rapidly and cost efficiently adapting to changes – Wikipedia The ability of an organization to sense environmental change and to respond efficiently and effectively to it – Gartner3
  4. 4. creating a cycle. The original influences were the stakeholders and the developingorganization (who, together, fashioned the quality-attribute requirements), the technicalenvironment, and the architect’s experience. Architecture Business Cycle (ABC)In our adaptation of the ABC, the “influences” have been replaced by a set of forces thatcollectively shape the requirements and, over time, the architect’s experience. Theextended ABC is depicted in Figure 1.Figure 1: Extending the Architecture Business Cycle to Include All Design Forces Architecture = (Business, Application, Data, Technology)Notice that this extended ABC shows the requirements as being categorized into threeoverlapping sets: quality-attribute requirements (e.g., the system should initialize itself 4in 60 seconds), business requirements (e.g., version 1.0 must be available to ourresellers by August 1), and functional requirements (e.g., the system must providemonthly sales summaries, broken down by region). These requirements, along with the
  5. 5. S-curve ABC Performance Limits reached ABC ABC High growth Kickoff ABC5 Time
  6. 6. eBay Architecture - Road to here ·∙ Java ·∙ V4 Components ·∙ Services ·∙ Internal Cloud ·∙ Platform ·∙ Java ·∙ XSL ·∙ Layered ·∙ Horizontal Scale Architecture Maturity Innovation Potential ·∙ Some APIs ·∙ Perl/C++ Agility / TTM ·∙ Inline HTML ·∙ Monolithic ·∙ Vertical Scale ·∙ Walled Garden 2009+ 2001 2005 1995 19996
  7. 7. Business Drivers Mobile Local Digital Social7
  8. 8. Business Imperative How can I innovate faster than …8
  9. 9. Architecture Vision Customer Experience Core  Experience   Custom  Experiences   Channels   Application Platform StabilityAgility Login  Iden*ty   Catalog   Search   List   Pricing   Offer   ADs  Messages   Cart   Coupons  Payment  Shipping  CS   Technology Platform eBox   DAL   Dev  Tools   Raptor   Messaging   SOA   Cloud   Operations Infrastructure Layer Power   Data  Center   Hardware   Network   Database   Tools   Opera*ons   9
  10. 10. Partitioning into domains DomainService Billing Catalog Tracking Experimentation P13n PaymentApplicationPlatform Ideal decomposition Intersection of any two domains = 0 10 Sum of all domains = eBay
  11. 11. Quality Attribute Tradeoffs•  Quality attributes = Flexibility, Performance, Availability, …•  Ranking by tier•  Ranking by domains … premature optimization is the root of all evil … - Donald Knuth11
  12. 12. Increasing agility in eBay1.  Partition into tiers, domains and services2.  Identify and eliminate any coupling between them3.  Decentralize accountability4.  Enable these domains to operate and iterate quickly5.  Make it easy to use and compose services12
  13. 13. Increasing agility in eBay•  Process•  People/organization•  Technology13
  14. 14. Process•  Centralized  Decentralized•  Waterfall  Scrum•  Self-service & automation•  Data driven through analytics and experimentation14
  15. 15. People/Organization•  Decentralized accountability•  Matrix  Dedicated teams•  Reduced dependencies•  Change management Remember Conway’s law15
  16. 16. Technology•  Application Platform•  Configurable web applications•  More open technologies•  Analytics, Experimentation platforms•  Continuous Integration•  Cloud, Automation•  Deployment latency16
  17. 17. e.g. Security as agility increases Decentralize risk management Security standards built into the platform Developer education Self-service risk evaluation tools Security consulting for high-risk scenarios17
  18. 18. Want to increase agility?1.  Be clear on the drivers2.  Define agility constraints3.  Partition, Decentralize, Automate4.  Start small. Be customer-driven5.  Manage change (especially with talent)6.  Remember the Architecture Business Cycle18
  19. 19. QUESTIONS?19