The online auction house eBay continuously executes $2,000 worth of transactions a second and, to do so, requires a highly reliable transaction processing environment. EBay recently revealed that a key element of its transaction software is the WSO2 open source enterprise service bus (ESB).
EBay is known to be a large user of open source code, including Red Hat Enterprise Linux, the Apache Web Server, and Apache Tomcat lightweight application server, so the revelation it's using an open source ESB is not a total surprise. At the same time, WSO2's ESB is one of the youngest products in its class and one of the least well known. EBay declined a request to be interviewed and explain its reasons for adopting WSO2 ESB. But a few details emerged in a WSO2 case study that quotes eBay's senior manager of systems engineering, Abhinav Kumar, posted to the WSO2 website July 27.
One key detail is that WSO2's ESB was implemented for eBay e-commerce transactions prior to the holiday season of 2009 and ended up satisfactorily handling a million calls a day. It was more widely deployed in 2010 and now consistently handles over a billion calls a day. The messages it must deal with come in from many different quarters: from shoppers on its website, including shopping cart checkout transactions; from sellers establishing items for auctions; from mobile users on a variety of devices; and from applications on other websites that are linked to eBay services.
It's not immediately clear why eBay choose the open source ESB from a little-known firm with its engineering team in Colombo, Sri Lanka. For that matter, an April 25 Forrester Research report ranks several ESBs higher than WSO2's, raising the question of what eBay saw in the open source code that prompted its decision. Some clues are in the case study, even if it's a less than full explanation.
At the same time, the eBay decision shows how a large Internet-era firm views the growing importance of the enterprise service bus, a heretofore largely invisible but crucial piece of software deep in the bowels of enterprise software. The systems that the ESB serves--the databases, SAP applications, message store and forwarding systems, such as IBM's former MQ Series and Microsoft MQ, and email systems--are much better known than the ESB itself.
But it's come to perform a crucial role. The ESB not only knows how to connect a variety of incoming messages to their destinations, it knows how to build, on the fly, a route to those systems. It knows when an incoming message must be transformed into a format that the destination system can discern. In short, the ESB is vital connective tissue in the future data center and in the cloud. Or as Forrester says in its second-quarter Forrester Wave report, an ESB is "a lot of integration in a small package."
WSO2's case study indicates eBay evaluated the open source code over a six-month period against a number of commercial products, several of which were ranked higher in features and market penetration.
Kumar makes no specific comments in the case study on which products were tested, but likely competitors would include: Software AG's WebMethods ESB, which scored 4.89 on a scale of five in the Forrester survey; Progress Software's Sonic MQ, 4.78; Oracle ESB, 4.74; and Tibco's Active Matrix ESB, 4.71. WSO2 weighed in at 4.47 in the Forrester report. Other open source ESBs that were covered include: FuseSource, spun out of Progress as an independent project, 4.60; MuleSoft, a financial services oriented ESB, 4.35; and Red Hat JBoss ESB, 3.21.
The Forrester report evaluated ESBs against a set of 79 features; it also judged how effectively each had penetrated the marketplace and generated revenue. Open source products typically generate smaller revenues than their commercial counterparts. Furthermore, it's not known exactly how many companies are using an open source ESB in production, since at least one version of them is usually available for free download. But Forrester said WSO2 "reported significantly fewer deployments compared with commercial vendors."
In its six-month bakeoff, however, eBay, concluded WSO2 ESB "outperformed all other software options in both speed and reliability," according to the case study.
The case study offered few details on what's behind WSO2's performance, but one possibility is a "lightweight" design that avoided loading up on some features included in other ESBs that must meet the needs of customers with extensive legacy systems.
The name WSO2 can be roughly translated as "oxygen for Web services." The firm was founded in 2005 at a time when it could take advantage of a simplifying trend in Web services, when chatty and verbose SOAP exchanges were giving way to more streamlined representational state transfer, or REST-based, services.
The eBay case study reports that WSO2 required "a minimum amount of servers" to carry its message and transaction load, without saying how many servers that is. It refers to "several pools of WSO2 servers" running multi-core, Intel CPUs. EBay, however, specifically called attention to the lightweight nature of WSO2 by focusing on its use of server RAM, a key resource.
"The memory usage of WSO2 ESB instances remains stable, irrespective of the traffic load fluctuations at eBay," the case study said. Furthermore, an accompanying graph shows the server memory in use supporting WSO2 instances throughout 2010 averaged about 1.25-1.33 GBs a day (per server), except for Nov. 29, or Cyber Monday, when the highest levels of online purchasing tend to occur. On Nov. 29, WSO2 memory use spiked at 1.62 GBs, according to the eBay graph. EBay spokesmen concluded WSO2 was responsible for "very efficient" memory usage.
Not every company can necessarily rely on a lightweight option for its ESB. But it appears to have been the right answer for eBay as an Internet company, with its whole business invoking Web standards and Web services.
Another factor may have played in WSO2's favor. Its products have been designed to be OSGi compliant, which means they are composed of discrete modules with clear rules publicly specified for how they will talk to each other. EBay said in the case study that it only adopts software that will be adaptable to changing conditions and a long-term fit for its overall infrastructure. OSGi compliance helps with that goal. Several commercial ESBs are also OSGi compliant or becoming so, but WSO2 was early in declaring it a goal to have all OSGi products.
WSO2 is a commercial product with core code based on the Apache Software Foundation's Synapse ESB. There's less talk of open source code as a movement, but the eBay decision shows how far it's moved inside the corporation. When lightweight also means efficient, high performance, open source is still very much in vogue. The growth of private and public clouds--and the need to integrate many types of messages and systems inside them--makes WSO2 ESB a name you'll hear more of down the road.http://www.informationweek.com/news/infrastructure/traffic_management/231002969