

Ask YC: How to perform a Scheduled Maintenance? - laktek

I want to perform change to database schema change to an app, and want it to be performed without affecting the user data. So I thought it would be better to perform a scheduled maintenance by taking the site down. Any advices on areas I should be careful and gotchas I should consider when going for such process?
======
shutter
Give yourself enough time that you're confident you'll be able to finish the
maintenance within that timeframe. I was bitten more than once by scheduling a
maintenance window too small, and then becoming frantic as the maintenance
window passed and I still wasn't finished.

~~~
nostrademons
Don't overestimate by orders of magnitude though. There was one change where I
expected it would take 5 minutes, I said "Gimme an hour to be safe", and my
friend (who was in charge of the server) posted a maintenance window for 5
hours. It actually took about a minute, and then people were left thinking
"Has the downtime happened? Is it going to go down later?"

~~~
mcargian
Do you have a staging/test site, a mirror of your live site? Normally you
apply all the changes to the test site so that you know the upgrade works, and
how long it will take. Then you can schedule downtime as required.

~~~
nostrademons
On other projects, yeah, but not on this one. Or actually, this one had a
staging site (which I tested changes on first), but its data was about 8
months out of date and its configuration didn't exactly match the production
site. Volunteer project, limited resources.

