Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm currently trying to build a scalable infrastructure for my Python webservers. Actually, I'm trying to find the most elegant way to build a scalable cluster to host all my Python WebServices.

For now, I'm using three servers like this:

1 x PuppetMaster to deploy my servers. 2 x Apache Reverse Proxy Front-end servers. 1 x Apache HTTPd Server which host the Python WSGI Applications and binded to using mod_wsgi. 4 x MongoDB Clustered server.

Everything is OK concerning the Reverse proxy and the DB Backend, I'm able to easily add a new Reverse Proxy and a new DB Node, but my problem is about the Python WebServer.

I thinked to just provision a new node with exactly the same configuration and a rsync replication between the two nodes, but It's not really usefull in term of deployement for my developpers etc.

So if you have a solution which is as efficient and elegant that the Tomcat Cluster I'll be really happy to ear it ;-)

share|improve this question
    
I would suggest using nginx rather than Apache for your front end reverse proxy. Using nginx in front of Apache/mod_wsgi brings various benefits including nginx being better at handling static files, plus nginx will isolate Apache/mod_wsgi from slow clients and allow Apache to perform better with less resources. Go watch lanyrd.com/2012/pycon/spcdg where talk a bit about this issue. –  Graham Dumpleton Nov 7 '12 at 11:30
    
Ok, many thanks for your interesting help ;-) I've download and start reading about this. But my question was more about how to clusterize a python backend engine? for know, the only solution I've found is to always popup a new server and then sync the data with rsync, is there any other way or native solution on Apache/FAPWS/etc to do it? –  Dr I Nov 7 '12 at 13:21
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.