I currently host a site through which users can create and maintain their own websites, with their own unique domain names. This works by simply having the user pick the domain of their choice, me purchasing it and pointing it to HostingRails' name servers, parking it on top of my original domain, and having ruby render the website that the domain is associated with when someone visits it.
Essentially, all of the websites I host are actually the same website, my app just renders a different user's information and customizations based on what the URL is.
The reason I do this is because I have a login system, where users go to customize their information and upload files relevant to their own sites. When I update the site, everyone's back-end or front-end is updated with the same features. I do not have to go into various directories and upload new files once for each user. This is great.
This works fine for the time being, but I have fears that this framework will not scale. For example, I do not know of any errors on my site of this type that exist, but--if one user were to find a miscellaneous error in the system and severely screw things up, bringing their site down, _every_ site will be brought down, because it's all the same system. If one user (somehow) happens to use 70 gigs of bandwidth before the month has ended, my site goes down, which means every site goes down, because it's all the same system.
I am looking for a way to create a system where I can make updates to a global front-end and back-end, but where users' domains and space would be confined enough as to not affect the _entire_ website. A system with the convenience of one set of application files, but the security of the separation of everything that could potentially F things up. I don't know if this is possible, I wouldn't even know where to begin looking. The more I write, the more laughable it sounds.
But, that's what I'm looking for. Please let me know if you have any ideas, or if you think it's impossible and why. Or, you can just reassure me and tell me why you think the system I have is just fine, were it to have sufficient bandwidth and hard drive space.
Thanks!