Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user. We can running the web server on Heroku cloud application platform that support Ruby, Node.js, Clojure, Java, Python and Scala.
MySQL is the widely used open-source relational database management system owned by Oracle Corporation. It is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (Apache, MySQL, Perl/PHP/Python). Applications which use MySQL databases include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal and other software. MySQL is also used in many high-profile, large-scale websites, including Wikipedia, Google, Facebook, Twitte, Flickr and YouTube.
In this post we will use App Engine services from Google that provides a free playground for us to develop Python web applications. Google App Engine (often referred to as GAE or simply App Engine) is a platform as a service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers. App Engine offers automatic scaling for web applications—as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand.
What is virtualenv? It is a tool to create isolated Python environments. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either). This tool can be installed on Microsoft Windows operating system.