The eBay architecture document discusses how eBay scales its platform to handle massive traffic while maintaining high availability and rapid feature development. Some key points are:
1) eBay uses horizontal scaling techniques like database sharding and separating functions across application servers to scale individual components.
2) The architecture emphasizes statelessness, caching, and minimizing database transactions to improve scalability and availability.
3) eBay evolved its architecture over several major versions to address scaling issues and allow for exponential growth in users and traffic over time.
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
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
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. ;-)
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.
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.
Registered Users: Almost 40,000/day Listings Approximately 100M/quarter or over 1MM/day GMS Approximately $10B/year; $30MMsold/day
V1 was like any system you or I would build at home
V2 moved to industry standard technology
Then we added redundancy at the application tier and a real search engine
We added redundancy at the database tier and more capacity
We logically split to the databases and began to move the physical locations as well
And we could now migrate the databases to separate, less expensive servers, without affecting the running system negatively.
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
More than any specific technology, we needed to re-write the application for the realities of today.
Maybe these all become individual slides?
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.
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.