We've been building a fairly large system for the past 2 years. Hopefully going into public beta soon. It deals with a lot of the same concepts as you're talking about. We've got a website, a twisted daemon and a celery daemon.
The big tip I can give you is to consider how much you'd like this project to grow. If everything is going to stay small, then running everything in one or two apps is probably fine. If you expect this to scale, I would really suggest you step back and focus on a Service Oriented Architecture. I'd try to decouple things into various applications when possible, and then isolate different 'features' within each application into different parts. You want to be ready to quickly rip-out or replace different systems if needed ( for example: login, permissions, caching, database, etc). You also need to know where the different bottlenecks are, so you can better allocate daemons/processors across servers. I'd also make sure you have unit and integrated tests that will cross-check each of the other systems ( make sure pyramid and tornado are both providing/responding to the APIs each other expects ). Finally, I'd aggressively use StatsD to measure everything you can ( success/fails/etc ) and report deployments into StatsD so you can attribute any failure rates to a specific deployment. There are a handful of articles on how Etsy has been doing that. It's super simple to set up with python. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/pylons-discuss. For more options, visit https://groups.google.com/d/optout.
