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 pylons-discuss+unsubscr...@googlegroups.com.
To post to this group, send email to pylons-discuss@googlegroups.com.
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/d/optout.

Reply via email to