I'm a developer trying to determine the best way to approach a rails app. I need to provide some options for deployment and am trying to minimize both development costs and long term hosting costs.
Consider a site that allows multiple authors to collaborate on a single "work", whether that be a novel, technical manual or even source code. "Users" are allowed to "check out" chapters, make modifications and merge changes back in. Users rate each others modifications with higher ratings allowing access to more and more content.Let's call it "social version control"
While it's possible to write a single rails app that can discriminate between "works", it may be easier from a coding perspective for each work to be hosted as it's own rails app. A "master" app would create/control each works server instance, allow browsing works in search of authors, and be a reporting hub for the site owner. For now, assume the simplest of schemes where each work uses a port specific url:
Master - http://collabowork.it My Novel - http://collabowork.it:3001 Some Manual - http://collabowork.it:3002 Another work - http://collabowork.it:3003
My question is: how many instances of rails will I be able to run on a single box before it is overwhelmed? Is there a way to determine how many instances can run on a commodity server? Is there another option that would allow scaling out additional works inexpensively (perhaps on EC2 or something similar). Because this isn't being designed as a money making venture, what's the least expensive way to deploy this (short of additional coding effort). I would like to have some sort of cost analysis before I offer alternatives but I don't know how to begin sizing something like this.
Any ideas or thoughts are appreciated.