Ebay Architecture Study

Only available on StudyMode
  • Topic: World Wide Web, Software architecture, Middleware
  • Pages : 12 (4022 words )
  • Download(s) : 32
  • Published : August 27, 2012
Open Document
Text Preview
eBay - eCommerce Platform A case study in Scalability

by

Mohammad Usman Ahmed
mohammad.ahmed@mail.mcgill.ca

Table of Contents: 1. 2. 3. 4. 5. 6. 7. 8. The Application and its overall architecture Component Model and its interactions Technological aspects of the eBay Architecture Strengths and relative weaknesses of the Architecture Component Model and variations Key Quality Attributes favoured by the eBay Architecture Evolution of the Application and its Architecture Conclusion

The Application and its overall architecture
EBay is a highly successful eCommerce platform. The larger category of eBay includes 19 different platforms (e.g. skype, payPal, rent) but we'll be focusing on the search and trade platform. The other sister platforms became part of eBay due to recent acquisitions and in some cases result in architectural mismatch which would be an interesting topic for a separate case study, therefore this case study focuses on the original platform's architecture and its evolution in recent years. EBay is an eCommerce system where a user can browse to the website eBay .com and search for anything they want to buy, in auction or right away from the buyer, or to post some item for sale which other users can search for as prospective buyers. The users then arrange for payments online (using eBay's payPal system which is a separate system designed solely for that purpose and recently integrated onto the eBay platform) and receive the item by mail. Like most internet-enabled business systems, eBay is constructed using distributed object technology. It requires scalability, high performance, high availability, and security. It needs to be able to handle large volumes of requests generated by the internet community and must be able to respond to these requests in a timely fashion. In addition to the end-user application, eBay has now released its new APIs for developers to create buying applications, access eBay web services platform with javascript and flash, enable eBay bidding from anywhere, and create lightweight alerts about platform activity. This allows the developer community to customize eBay applications to their own needs and to release new useful features. The most recent stats regarding eBay state that: • It managers 248,000,000 registered users • It manages over 1 Billion photos • eBay has nearly 10,000 live applications • eBay currently has 30 Software Architects in its employ • eBay averages well over 1 billion page views per day • The eBay platform handles 4.4 billion API calls per month • 100,000+ lines of code are added every two weeks • There are 30,000 software builds per week • There are more than 44 billion SQL executions per day These stats give an idea of the large scale of the eBay platform and the growth that has taken place in just a few years since the launch of this web application. The stats also indicate the key quality attribute requirements for this system to be its high availability, manageability, availability, and most of all its scalability. This case study will summarize its core architecture with special focus on its evolution to accomodate the scalability requirement which was not foreseen in its entirety at the time of its initial launch and had to be accomodated later on by a re-designing of the architecture.

Fig1. An overview of the services provided by eBay

The architecture for a system of this size goes through many iterations. An architectural solution of this level is not only based on the software architecture but also on the system architecture, since the components that populate the system are not just web servers and web clients but it also has databases, security servers, application servers, proxy servers, and transaction servers. The system under discussion has a 3-tier architecture with a web-enabled device (a browser), application and transaction servers, and databases at the data services layer. The following diagram illustrates the relations...
tracking img