Custom CMS application model... host on 1 server?
Posted: Fri May 20, 2011 12:13 am
Hello!
I'm a relatively new designer/developer, and I've just started doing some freelance work. I've integrated my own custom CMS in each of the sites I've done, and I've started branding it a little more for the last few projects, and making it a little more object oriented so it's easier to implement on new projects. It's already clear to me that I need an application that is more scalable. As I make improvements, it's becoming more and more difficult and confusing on how to implement them on each site. Before I go jumping into anything too crazy, I was hoping I could get some advice on a new "application model".
I figure I have two options... Set up some sort of "versioning" system, or host my application on one server with all of my clients accessing the same mysql db. I guess I'm just looking for pros and cons of both. Obviously, the app would be much easier to update if I only had to work on the single installation. But security, and speed are my concerns here. Of course the server would have to be pretty powerful, but would these websites take a hit on speed having to access an external server for the db that holds their data? This db would also be much larger. I read all the time about newbies like myself trying to get a faster db, and the pros always seem to chime in and say that a mysql db can handle a huge amount of records. I have also considered having the single application, but have it connect to the db on the client's server based on their user info. That way, each site would have it's own db that performs well, and my application would still be pretty simple to manage.
As far as versioning goes, I have little experience with this. I really don't want to have my clients updating anything themselves, so this could turn into a lot of work having to update each site, especially considering that I'm going to be ridiculously successful
. And I really don't want to charge them for updates, as that could lead to people not using the most recent version... I see this app as an extension of myself, and I want everyone using the best version!
As you can see, I'm in a little over my head here (hopefully just enough to push me to create something awesome), and I need to commit to a model. Any info that anyone can offer is greatly appreciated! If anyone knows of any articles or tutorials on the subject, that would be awesome too!! Thanks a bunch!!
I'm a relatively new designer/developer, and I've just started doing some freelance work. I've integrated my own custom CMS in each of the sites I've done, and I've started branding it a little more for the last few projects, and making it a little more object oriented so it's easier to implement on new projects. It's already clear to me that I need an application that is more scalable. As I make improvements, it's becoming more and more difficult and confusing on how to implement them on each site. Before I go jumping into anything too crazy, I was hoping I could get some advice on a new "application model".
I figure I have two options... Set up some sort of "versioning" system, or host my application on one server with all of my clients accessing the same mysql db. I guess I'm just looking for pros and cons of both. Obviously, the app would be much easier to update if I only had to work on the single installation. But security, and speed are my concerns here. Of course the server would have to be pretty powerful, but would these websites take a hit on speed having to access an external server for the db that holds their data? This db would also be much larger. I read all the time about newbies like myself trying to get a faster db, and the pros always seem to chime in and say that a mysql db can handle a huge amount of records. I have also considered having the single application, but have it connect to the db on the client's server based on their user info. That way, each site would have it's own db that performs well, and my application would still be pretty simple to manage.
As far as versioning goes, I have little experience with this. I really don't want to have my clients updating anything themselves, so this could turn into a lot of work having to update each site, especially considering that I'm going to be ridiculously successful
As you can see, I'm in a little over my head here (hopefully just enough to push me to create something awesome), and I need to commit to a model. Any info that anyone can offer is greatly appreciated! If anyone knows of any articles or tutorials on the subject, that would be awesome too!! Thanks a bunch!!