Dev servers and seamless updates
Posted: Tue Jan 29, 2008 5:29 am
Sorry if this is the wrong forum but since we don't have a "servers forum" I post here.
So at my work I have an in-house server and a server in London and also a server in Switzerland but thats used for other stuff. I do all of my testing work on my in-house server and then once I get a solid patch to a bug ready here, I just use a quick little rsync command to throw the stuff up on the London site. Everything works very well except for when it comes time to do massive overhauls.
The first full-blown code change was about the end of August last year. I basically just replaced the entire site with a "sorry, we are doing database work, be back soon" and went to work. There was a lot to be done like recompiling mysql, php, apache to update everything to the required versions. Then there was a change in the entire database which took a while and then a copy of all these new files into their proper places and configuring my few configuration files and then doing quick tests to make sure everything was working properly. Needless to say the site was down for quite some time.
Now is the time for the next step. Friday is the move for a complete overhaul in code but thats basically the only change. The database only gets a few changes to a couple tables and all versions of software stay the same. Although this time I don't see the site being down more than a half hour (lock the db up and do a complete backup of all files/tables) my boss still does not want this. He wants a complete seamless move, like nothing ever happened and everything goes on.
Now my question is how does one go about doing this? My admin skills are not very 1337 so I don't know any fancy tricks or anything. How can I move all the code over and it just be like POOF all is done? I know other sites do this, somehow, and I am asking you guys how it is done.
So at my work I have an in-house server and a server in London and also a server in Switzerland but thats used for other stuff. I do all of my testing work on my in-house server and then once I get a solid patch to a bug ready here, I just use a quick little rsync command to throw the stuff up on the London site. Everything works very well except for when it comes time to do massive overhauls.
The first full-blown code change was about the end of August last year. I basically just replaced the entire site with a "sorry, we are doing database work, be back soon" and went to work. There was a lot to be done like recompiling mysql, php, apache to update everything to the required versions. Then there was a change in the entire database which took a while and then a copy of all these new files into their proper places and configuring my few configuration files and then doing quick tests to make sure everything was working properly. Needless to say the site was down for quite some time.
Now is the time for the next step. Friday is the move for a complete overhaul in code but thats basically the only change. The database only gets a few changes to a couple tables and all versions of software stay the same. Although this time I don't see the site being down more than a half hour (lock the db up and do a complete backup of all files/tables) my boss still does not want this. He wants a complete seamless move, like nothing ever happened and everything goes on.
Now my question is how does one go about doing this? My admin skills are not very 1337 so I don't know any fancy tricks or anything. How can I move all the code over and it just be like POOF all is done? I know other sites do this, somehow, and I am asking you guys how it is done.