Facebook has announced the open-sourcing of Tornado, a core piece of infrastructure that powers real-time Web services. The technology comes from Facebooks FriendFeed team.Facebook has announced the open-sourcing of Tornado, a core piece of infrastructure that powers real-time Web services.
"Today, we are open-sourcing the non-blocking Web server and the
tools that power FriendFeed under the name Tornado Web Server," said Bret Taylor, Facebook's director of products and co-founder and former CEO of FriendFeed,
which Facebook now owns. Taylor made the comments in a Sept. 10 blog
post. "We are really excited to open source this project as a part of
Facebook's open-source initiative, and we hope it will be useful to
others building real-time Web services."
Meanwhile, David Recordon, open programs manager at Facebook, explains
that "Real-time updates have become an important aspect of the social
Web that make it easier to share with friends. In March, we introduced
a real-time News Feed to make the stream as relevant and engaging as
possible for users. Similarly, FriendFeed, which we recently acquired,
built their entire site to support real-time updates. It hasn't been
easy to build and scale these features, so today we're open-sourcing a
core piece of infrastructure called Tornado, which was originally
developed by the FriendFeed team."
The Python-based Tornado Web server was designed to handle thousands
of simultaneous connections. This makes it ideal for real-time Web
services, he said. Indeed, "Tornado is a core piece of infrastructure
that powers FriendFeed's real-time functionality, which we plan to
actively maintain," Recordon said. "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."
That is what makes Tornado distinct from other frameworks -- that it
comes with all the essential building blocks for supporting real-time
Web services, Facebook officials said. Added Taylor:
"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 is easy to mix and match Tornado with other
frameworks."
Moreover, "It is no longer just the traditional Linux, Apache, MySQL
and PHP stack that make a site like Facebook or FriendFeed possible,
but new infrastructure tools like Tornado, Cassandra, Hive (built on
top of Hadoop), memcache, Scribe, Thrift, and others are essential,"
Recordon said. "We believe in releasing generically useful
infrastructure components as open source as a way to increase
innovation across the Web."