The Twelve-Factor App


Among the things that Tom and Hamax have brought back from Berlin Buzzwords 2013 was also an interesting methodology for building software-as-a-service apps called The Twelve-Factor App. As name implies, this is a collection of twelve factors that should be present in the system architecture of any web application that wants to be scalable, extensible, and maintainable. I've checked compliance of Zemanta's system with this methodology and I was quite pleased to see that we adhere (with varying degree of faithfulness) to all twelve tenets of this methodology. I consider Zemanta as quite typical web service composed of a web front-end, a back-end that processes requests, an administrative dashboard for power users, an analytical dashboard for internal stakeholders, interwoven with lots of monitoring and log processing. Organizing such a complex system is not an easy feat and there's plenty of room for some serious mistakes that might cripple a nascent startup. Therefore I consider The Twelve-Factor App methodology a helpful guide to every technical co-founder starting or growing his system. What's still missing is a similar list that would provide guidelines not just for building individuals apps but the whole system.

Enhanced by Zemanta