Thursday, October 20, 2011

Presentation on Cloud Deployment & Mongodb @ Charlotte Python Group

A few weeks back I have a presentation on using Fabric to deploy Python WSGI application in the cloud.  The slides are:https://docs.google.com/present/view?id=dg3v9j47_210cxt77g7h
The code from the demo is here: https://github.com/lateefj/RTC-example
In the presentation I displayed how taking down one node in the cluster would not interrupt the other two nodes. Using fabric this was not only feasible but relatively easy once you understand the architecture. I also review the tools that I used like supervisor to restart WSGI (Flask), fabric for deployment and servers setup and finally mongodb for data storage.

I also quickly introduced mongodb: https://docs.google.com/present/view?id=dg3v9j47_212g2kvq2tv
The main point I was trying to make was that in early development RDBMS strict schema just get in the way of fast development. It is a great tool for prototyping. I use it anytime at the beginning of a project because I don't know the final data model. Also my past experience is that every mature application that has an RDBMS is that the schema is totally crazy to work with. So why not start with a very flexible schema and give it some room to evolve as the application matures.