出家如初,成佛有余

ebay 电子商务平台研究(1)-ebay 产品研发流程

Posted in Uncategorized by chuanliang on 2007/10/21

需要好好学习研究一下ebay的电子商务平台及paypal支付平台的开发方法论、系统架构模式,为搭建高可用性(high availability))、高可靠性(high reliability)、高扩展性(high scaliability))、高安全性(high security)、高性能(high performance)的电子支付及电子商务平台积累经验。

研究重点集中在两个方面:

  • ebay的产品研发管理
  • 软件架构

1、ebay业务情况

http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf

  • 212 million registered users, 1 billion photos
  • eBay users worldwide trade more than $1590 worth of goods every second
  • eBay averages over 1 billion page views per day
  • At any given time, there are approximately 105 million listings on the site
  • eBay stores over 2 Petabytes of data – over 200 times the size of the Library of Congress!
  • The eBay platform handles 3 billion API calls per month
  • 26 Billion SQL executions/day!
  • On an average day, it runs through 26 billion SQL queries and keeps tabs on 100 million items available for purchase.
  • In 33 countries, in seven languages, 24×7
  • 300+ features per quarter,Roll 100,000+ lines of code every two weeks
  • 99.94% availability, measured as “all parts of site functional to everybody” vs. at least one part of a site not functional to some users somewhere

     

    2、ebay电子商务平台演进历史

    image

     

    版本 时间 核心系统技术框架
    (Language,Web Server,DB,OS)
    备注
    V1.0 1995-1997/9 Perl,Apache,GDBM,FreeBSD

    • Built over a weekend in Pierre Omidyar’s living room in 1995
    • System hardware was made up of parts that could be bought at Fry’s
    • Every item was a separate file, generated by a Perl script
    • No search functionality, only category browsing

    V2.0 1997/9-1999/2 C++,IIS,Oracle(Solaris),NT,

    • 3-tiered conceptual architecture (separation of bus/pres and db access tiers)
    • 2-tiered physical implementation (no application server)
    • C++ Library (eBayISAPI.dll) running on IIS on Windows
    • Microsoft index server used for search
    • Items migrated from GDBM to an Oracle database on Solaris

    V2.1 1999/2-1999/11 C++,IIS,Oracle(Solaris),NT

    • Servers grouped into pools (small soldiers)
    • Resonate used for front end load balancing and failover
    • Search functionality moved to the Thunderstone indexing system
    • Back-end Oracle database server scaled vertically to a larger machine (Sun E10000)

    V2.3 1999/6-1999/11 C++,IIS,Oracle(Solaris),NT

    • Second Database added for failover
    • CGI pools, Listings, Pages, and Search continued to scale horizontally
    • By November 1999, the database servers approached their limits of physical growth.

    V2.4 1999/11-2001/4 C++,IIS,Oracle(Solaris),NT

    • Database “split” technology.
    • Logically partition database into separate instances.
    • Horizontal scalability through 2000, but not beyond

    V2.5 2001/4–2002/12 C++,IIS,Oracle(Solaris),NT

    • Horizontal scalability through database splits
    • Items split by category
    • SPOF elimination

    V3.0 2002/12-present Java,Sun Java System Web Server,Oracle(Solaris),Solaris

    • Replace C++/ISAPI with Java.Re-wrote the entire application in J2EE application server framework
    • Leveraged the MSXML framework for the presentation layer
    • Implemented a development kernel as a foundation for programmers

     

    3、ebay产品研发方法论

    3.1、产品管理流程

    http://pages.ebay.com/community/chatter/2005november/insideebay.html

    http://pages.ebay.com/community/chatter/2005december/insideebay.html

    http://pages.ebay.com/community/chatter/2003Apr/InsideeBay.html

    http://pages.ebay.com/community/chatter/2005February/homevisits.html

    http://creativityandinnovation.blogspot.com/2007/05/innovation-and-leadership-lessons-from.html

    从软件产品管理流程的一级流程而言,ebay的产品管理流程与大部分软件公司的研发管理流程倒没有太多的差别,都大致遵循标准软件工程或CMMI之类的模型定义的流程,也即:项目策划(需求收集、业务需求规格说明书、市场分析、盈利分析等)->项目立项(产品需求规格说明书、立项评审会议、项目计划等)->需求分析设计->开发->测试->上线及市场推广。在核心流程定义清楚的情况下,软件开发流程至关重要的是执行力以及流程的持续完善,对此ebay的产品管理流程倒有很多值得借鉴的地方。

    InsideDec05

    ebay产品管理流程

     

    产品的管理流程的核心要素是对于需求的管理(需求的收集、组织、跟踪、审查、确认、变更和验证),ebay使用了“需求漏斗”的概念来描述需求在产品管理流程各个阶段中状态的迁移变化过程。通过对需求层层筛选过滤,保证

    InsideeBay1Nov05

    • ebay需求收集渠道

    Strategic Analysis:

    Community:除了通常的邮件、电话、社区论坛等沟通方式外,eBay’s “Voices” program类似于用户座谈会这样的重要的沟通形式

    Visits program:主要是侧重用户体验部分。

     

     

    3.2、软件开发方法论

    Our site is our product. We change it incrementally through implementing new features.
    • Very predictable development process – trains leave on-time at regular intervals (weekly).
    • Parallel development process with significant output — 100,000 LOC per release.
    • Always on – over 99.94% available.

    以此看来,ebay在开发方法上应该是采用了敏捷软件开发过程或RUP,采用迭代和增量开发方式。

    3.3、用户体验设计

    http://designcult.typepad.com/designcult/files/Design_Patterns_IA_Summit_public.pdf

    http://www.lukew.com/ff/entry.asp?318

    http://www.lukew.com/resources/articles/DesignPatterns_LW.pdf

    3.4、开发者社区

    电子商务网站平台的开放性可以让更多的人参与到价值链的完善中来,这也是Facebook比Myspace能够吸引更多人气的原因所在。而开放性必须依赖于开发者去实现,因此和谐的开发者社区对于构建一个完整的电子商务的生态圈是至关重要的。

    http://www.cioinsight.com/article2/0,1540,2074253,00.asp

    http://blog.programmableweb.com/2007/01/04/how-ebay-scales-their-devnet/ 

  • 发表评论

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / 更改 )

    Twitter picture

    You are commenting using your Twitter account. Log Out / 更改 )

    Facebook photo

    You are commenting using your Facebook account. Log Out / 更改 )

    Google+ photo

    You are commenting using your Google+ account. Log Out / 更改 )

    Connecting to %s

    %d 博主赞过: