In his first Facebook blog post today, David Recordon has announced the open sourcing of Tornado, FriendFeed’s real-time web services technology. As described by Recordon, Tornado is a “non-blocking Web server framework written in Python”. In addition to open sourcing many of their other technologies, Facebook is continuing to support the open source movement by providing more libraries for developers.
For those looking to build large scale real-time engines, Tornado will serve as an excellent module to rapidly digest large amounts of data. The technology enables FriendFeed (and now any other real-time service) to process significantly more data. Recordon published the following chart which describes some of the company’s benchmarking statistics:
Tornado Is A Real-Time Web Development Framework
If you’ve heard of django then you know what a web development framework is. A development framework is essentially a reusable design for software systems. For web applications, things like page templates, user logins, form submissions, and more are typically part of a web framework. Rather than reprogramming a lot of the basic components, developers can focus on the core code which makes everything run effectively.
What’s interesting about Tornado is that third party authentication is natively supported. This means that users can use their logins from “Google/Gmail, Facebook, Twitter, Yahoo, and FriendFeed” in order to gain access. Considering how recently FriendFeed was acquired by Facebook, you would have to expect that FriendFeed was in the process of open sourcing Tornado.
Now Facebook gets to include Tornado as one of their many open source technologies including Hive, Thrift, and Scribe. There are some interesting modules that many Python developers will find to be useful including s3server which is a basic service for testing out services that will run on Amazon S3. You can check out Bret Taylor’s blog post for more information about Tornado.