Prendiamo il problema su piccola scala. Un minuscolo ufficio con un server che esegue posta, ActiveDirectory, condivisione file e il sito Web dell'azienda.
Gli hacker lo colpiscono e devi riavviare perché IIS è incasinato. Oppure Exchange ha bisogno di un aggiornamento e di un riavvio. O Active Directory è stato danneggiato.
Ognuno di questi problemi isolati "un servizio è inattivo" interessa l'intero server, quindi qualsiasi condivisione su quel server avrà un impatto su di essi in virtù del riavvio o di qualsiasi altra cosa.
Una volta che un vero ragazzo IT si presenta e vede quel server, raccomanderà di suddividerli in server separati (e avere un server controller di dominio di backup).
È il vecchio adagio di "non mettere tutte le uova nello stesso paniere"
Ora quella filosofia è applicata ai server web. Se ho un solo server Web e pubblico la mia app Web (il nuovo MyFaceLink.com) e diventa molto popolare, ho nuovi problemi. Non riesco a smontare il sito per fare manutenzione mentre gli utenti ci sono. E se si blocca o ottengo troppi utenti, mi viene il brutto colpo. Anche il singolo server più grande del mondo verrà sopraffatto da 1 miliardo di FB in arrivo.
Quindi, il bilanciamento del carico entra in gioco, per lo stesso motivo "uova nel carrello". Distribuire il sito su 3 server e, in caso contrario, i restanti 2 gestiscono la capacità. Se devo fare delle patch, ne faccio una alla volta e nessuno se ne accorge.
In parole povere, non si tratta del prezzo del mega-server o se può davvero gestire il carico (anche se può essere). Si tratta di un singolo punto di errore. Una volta che l'attività è abbastanza occupata e si verifica 24 ore su 24, 7 giorni su 7 anziché per 5 utenti che lavorano 8-5, i tempi di fermo non sono accettabili. Le interruzioni programmate sono più difficili da pianificare. Quindi, dividi il carico.