Shelton Shugar, SVP Cloud Computing at Yahoo!, has announced the donation of its Traffic Server (TS), an HTTP cache server, to Apache during his keynote at Cloud Computing Conference.
Bought along with Inktomi back in 2003, the Traffic Server is used in production at Yahoo! primarily as a HTTP/1.1 caching proxy server serving some 30 billion web objects and over 400 TB of data per day. TS serves 35,000 RPS from a single 8 cores machine. After being an Apache Incubator Proposal for several months, TS has become an Incubator project aiming for graduating as Apache project as it happened with Hadoop, another project inspired by Google’s MapReduce to which Yahoo! contributed heavily.
Beside being a cache server, TS offers session and configuration management, load balancing, authentication and routing. It has an external API and it can be extended via plug-ins. TS will appeal to cloud vendors, according to Shugar:
The folks who will be interested in this are people building clouds and using these services. They'll understand the value of Traffic Server and what they'll be able to with it. There really isn't much out there that compares with this from a scalability standpoint.
Commenting on its importance, Cindy Borovick, Research VP at Datacenter Networks, added:
It is all about creating Yahoo Cloud as a platform that is attractive to developers. By having an open source traffic server, Yahoo is saying that the network infrastructure is important and its platform has network intelligence that will create a better end customer experience and as a result drive up customer confidence, intimacy and revenue. It's not a deal-breaker, but it is a true value-add.
Yahoo!’s initial goal with an open sourced TS is to add 64-bit support, to port it to other Unix flavors since TS currently runs only on Linux, to add new features like CARP, HTCP, ESI, native IPv6, and to further improve its performance.
The initial team of developers working on TS are Yahoo! employees but other developers have already expressed their intent to work on this project. The source code does not have external dependencies except for standard libraries like BDB, OpenSSL, TCL, STL, glibc and expat. The code comes with an Administrator’s Guide and an SDK Programming Guide.