I have being running an events listing website (http://eventsinkilkenny.com) for the last 2 years now and I’ve learned quite a lot in that time. The site is built in python using the web2py framework (http://web2py.com) So far it has 2 hosts 1 is the front end server using ngnix as the webserver passing the requests onto uswgi host(s).
I can scale the website up to meet any traffic if needed( mostly it’s not required). uwsgi give me the flexibility to have a number of backend workers doing the hard labour with a fairly small front end web server to pass the requests on.
As a side project I’ve been working on trying to automate things as much as I can. I stumbled across a package management software call SaltStack (http://saltstack.org)
Its a package management and infrastructure management all in one.
Quote from saltstack:
SaltStack takes a new approach to infrastructure management by
developing software that is easy enough to get running in minutes,
scalable enough to manage tens of thousands of servers, and fast
enough to communicate with them in seconds.
It literally took me 1 hour from the time of reading the docs to actually making use of it.Compared to Puppet or chef which would take alot longer than 1 hour to be productive.
I’ve now got the the stage on EC2 I can spin up a instance, bootstrap saltstack, then after excepting the keys for the host, deploy the software all within about 20 minutes.Combine SaltStack with boto library and you have a match made in python heaven for quickly deploying production or development environments.
The website it self is very automated, notifications are sent out via AWS email service. Twitter posts are automated to notify followers that an events is on with my interaction.
I will be adding more feature as required, but first I want to over hall the design of events in kilkenny. stay tuned….