Software Architecture
What I'm looking for
From an architecture standpoint, the web framework chosen is
probably the least important decision you'll make. Large social
networks typically utilize a distributed service oriented
architecture at the middle tier and then a variety of NoSQL and
caching solutions in the backend. This is where most of the
heavy lifting is done with the business and data access
logic.
The web tier should be a thin, fast framework, focused on
presentation layer that supports making RPC or REST calls to
your middle tier, deserializing the responses, and then some
logging and session management utility classes. Any of the
frameworks you mentioned will work, but web2py is probably most
easily adapted to your situation.