A real-time Python framework developed by the social aggregator

Sep 11, 2009 12:54 GMT  ·  By

Since Facebook acquired FriendFeed last month, everyone has been wondering what's going to happen to the service and the technology behind it. Many were speculating that Facebook will incorporate some components at some point, or at least some feature. But no one really expected Facebook to open-source an important part of the technology, which is exactly what it did, by releasing Tornado, a real-time framework for Python, built to handle a massive amount of data in a short period of time.

“Tornado is a relatively simple, non-blocking Web server framework written in Python, designed to handle thousands of simultaneous connections, making it ideal for real-time Web services. Tornado is a core piece of infrastructure that powers FriendFeed's real-time functionality, which we plan to actively maintain. While Tornado is similar to existing Web-frameworks in Python (Django, Google's webapp, web.py), it focuses on speed and handling large amounts of simultaneous traffic,” David Recordon made the announcement on the Facebook blog.

Originally developed by FriendFeed, the framework is used to power the real-time features of the site. With its focus on speed and throughput, it makes a perfect base to build a real-time service on top of, something that similar frameworks, though perfectly suited for other, more generic, purposes can't quite match up to. The framework offers a fully functional web server and a number of useful modules like templates, support for cookies and user authentication, security, localization, and others, to make it easy to deploy an interesting service without fussing too much with the more tedious tasks.

Also interesting is the small tidbit of information that could indicate that Facebook is committed to keeping FriendFeed going, with Recordon saying, “Tornado is a core piece of infrastructure that powers FriendFeed’s real-time functionality, which we plan to actively maintain.” Of course, maintaining the technology doesn't necessarily mean that FriendFeed has to be running as well.