Nessun server ha BISOGNO di andare giù per la manutenzione. Puoi evitare di farlo per qualsiasi cosa, su qualsiasi scala, modifica del DB, aggiornamenti del server, ecc.
Il problema è che un sistema di 0-downtime, in una certa scala, è molto costoso da creare e mantenere. Hai bisogno di ridondanza ovunque, bilanciamento del carico ovunque, replica dei dati, sincronizzazione. Questi sono problemi difficili.
Fondamentalmente è necessario arrivare al livello di poter rilasciare Netflix Chaos Monkey in prod per assicurarsi che funzioni anche se parte del tuo sistema è impegnata con l'aggiornamento, o semplicemente non sincronizzata. Questo è certamente fattibile. È anche molto costoso, richiede molto tempo e molti esperti per risolvere il problema.
Mettere un sito in modalità di manutenzione può essere una via di mezzo che si sceglie, perché non si vuole investire così tanto solo per evitare di buttar giù il sito per un po 'di tempo una volta ogni tanto.
Economia.
Ovviamente, se scegli la strada del tempo di 0down, il tuo sito guadagnerà più della semplice disponibilità, guadagnerà anche l'affidabilità, dal momento che queste best practice servono a entrambi gli scopi.