Facebook open-sources parts of FriendFeed's real-time infrastructure

Facebook is making use of FriendFeed just a month after it acquired the pioneering social sharing start-up.

It’s making parts of the real-time infrastructure behind FriendFeed open source. Called Tornado, the framework is written in Python and is designed to handle thousands of connections at the same time, which the company says makes it ideal for real-time web services.

Facebook, long seen as a walled garden with locked-in profiles, has been slowly opening up. It made parts of its developer platform open, and Facebook Connect, which allows outside web services to interact with a person’s Facebook profile information, has been a boon to the site’s traffic.

“We believe in releasing generically useful infrastructure components as open source as a way to increase innovation across the Web,” said Facebook’s open programs manager David Recordon. (Recordon is a recent hire — he started last Monday after leaving blogging company Six Apart.)

FriendFeed was created by a star set of early Googlers, including Gmail creator Paul Buchheit and Bret Taylor, who rolled out Google Maps. Tornado’s release also gives a little insight into where the startup’s 12 employees have landed after the acquisition. Taylor is now Facebook’s Director of Products.

Here’s Taylor on Tornado’s strengths:

  • All the basic site building blocks – Tornado comes with built-in support for a lot of the most difficult and tedious aspects of web development, including templates, signed cookies, user authentication,localization, aggressive static file caching, cross-site request forgery protection, and third-party authentication like Facebook Connect. You only need to use the features you want, and it’s easy to mix and match Tornado with other frameworks.
  • Real-time services – Tornado supports large numbers of concurrent connections. It is easy to write real-time services via long polling or HTTP streaming with Tornado. Every active user of FriendFeed maintains an open connection to FriendFeed’s servers.
  • High performance – Tornado is pretty fast relative to most Python web frameworks. We ran some simple load tests against some other popular Python frameworks, and Tornado’s baseline throughput was over four times higher than the other frameworks:

You following chart shows how many requests Tornado can handle per second compared to other frameworks:

tornado-benchmarking


Are you making or losing money with marketing automation? VB is working with marketing expert Ian Cleary to investigate marketing automation ROI. Help us out by answering a few questions, and we'll help you out with the data.
blog comments powered by Disqus