I asked this question on Stack Overflow and got some good responses. A couple of SO members mentioned I should ask it here also to see what the SysAdmin perspective on this is. So here goes:
I live in Australia (though this is probably true for most people in a non-US timezone) and am constantly greeted with "... is down for maintenance" right in the middle of my work day. In fact, in the last week we've had Google Wave, SO and Campfire all take turns going down. (Sad, Sad Panda :()
Being in Australia, the middle of the day on Monday, one of the busiest times of the week is normally when service operators based in the US (as it's Sunday night there) decide to do maintenance. I realise that services like SO and Google Wave are free so fair's fair but especially when Campfire went down I thought, "Surely we pay the same as any other client for this application and can therefore expect the same level of service?"
While I've worked developing web applications for a number of years, I've almost always worked on projects involving internal systems for a highly localised user base. So I've never had the "When's the best time to take the system down" issue.
But I wonder, is there a way to perform graceful maintenance of a web application? (let's assume it's something already in production state for simplicity) I'm sure there are SF members out there who have and do tackle this issue often... How do you do it? Is it possible not to adversely affect overseas users of your service?
FYI the SO question can be found here: https://stackoverflow.com/questions/2322599/graceful-maintenance-of-web-applications