Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Often, web applications are updated. If the update is properly planned, the maintenance is announced and visitors know what to expect and why the downtime is happening.

However, I have problems understanding the length of some of these maintenance windows. I have maintained medium-sized web applications. Since updates were tested in advance in a staging environment, updating the application involved only pushing the new code to the server, performing data migrations and reloading/restarting the server configuration, topping at 15 minutes for maintenance updates, but generally only a few seconds.

Maintenance updates at large corporations tend to take a lot longer. I have seen organizations taking 3 hours to rollout minor updates; updates to governmental systems may take eight to nine hours, or if you're unlucky an entire weekend. It is unclear to me what their process might be. I understand they may have large clusters and databases to work with, but I can't imagine what may take those amounts of time. What are they doing in those hours? Is this their inefficiency and planning for disaster, or is there something I'm missing completely?

(I'm ignoring hardware maintenance or major version rollouts here.)

share|improve this question

closed as primarily opinion-based by Journeyman Geek, Ƭᴇcʜιᴇ007, Tog, Mokubai, Dave M Sep 8 '13 at 15:42

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

2  
So? They have larger and more mutually dependent systems, and they take the time to verify each step one more time in the live enviroment, and who knows what else is going on behind the scenes. Think of replacing servers, rewiring hardware, implementing couplings to other software. You just have no idea about what's going on behind the (their) scenes. –  Jan Doggen Sep 2 '13 at 15:04
1  
Your example of domain registrations is comparing apples and oranges. There we are talking about data updates having to propagate across organizations who all do it at their own automated intervals. –  Jan Doggen Sep 2 '13 at 15:06
    
In addition to what @JanDoggen said, the maintenance windows are pessimistically sized, meaning that the break might be announced (and sometimes also enforced by shutting down interfaces) for a longer time than the actual work will take just to make sure the announced window is long enough (in case something unforeseen happens). There might also be some other maintenance tasks occurring during the break even though they are not mentioned in communication to outsiders. And finally, some systems just are awful to upgrade, meaning plenty of manual work. –  zagrimsan Sep 3 '13 at 9:11
    
Even though you only know the web interface, it might be that there are numerous backends involved, too, in the process, and restarting them might require a specific order to ensure correct behaviour since not all enterprise system integrations are that error-tolerant as one would wish. It might take the 15 minutes you mentioned just to bring everything gracefully down and close all interfaces... –  zagrimsan Sep 3 '13 at 9:20
    
I take the liberty of combining all our comments into an answer ;-) Feel free to edit. –  Jan Doggen Sep 3 '13 at 9:54

1 Answer 1

up vote 0 down vote accepted

There are plenty of reasons, e.g.:

  • They have larger and more mutually dependent systems.
  • They take the time to verify each step one more time in the live enviroment.
  • There might also be some other maintenance tasks occurring during the break even though they are not mentioned in communication to outsiders. Think of replacing servers, rewiring hardware, implementing couplings to other software.
  • Some systems just are awful to upgrade, meaning plenty of manual work
  • It might be that there are numerous backends involved, too, in the process, and restarting them might require a specific order to ensure correct behaviour since not all enterprise system integrations are that error-tolerant as one would wish.

Etcetera...

Also, the maintenance windows are pessimistically sized, meaning that the break might be announced (and sometimes also enforced by shutting down interfaces) for a longer time than the actual work will take just to make sure the announced window is long enough (in case something unforeseen happens).

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.