In senso tradizionale, N-tier significa separare l'applicazione in "tier" e inserire ogni "tier" su server diversi. Ciò è stato fatto per almeno 3 ragioni:Cosa significa architettura N-tier al giorno d'oggi?
Manutenzione:
a) codice di manutenzione: Più facile da fare correzioni di bug e funzionalità aggiunte.
b) Manutenzione hardware: l'interruzione di un server non interrompe il servizio da un altro livello.
Prestazioni: spesso un server non era abbastanza veloce da gestire le richieste Web, i calcoli della logica aziendale e l'accesso al database/file contemporaneamente.
scalabilità: Specificamente scalabilità orizzontale
a) Fault Tolerance: Possibilità di avere più di 1 server fisico per livello quando cioè 1 server è giù, l'applicazione può ancora funzionare come un tutto.
b) Bilanciamento del carico: disporre di più istanze di un livello consente di gestire una grande quantità di richieste.
Oggigiorno, l'hardware e le reti sono abbastanza veloci da servire migliaia di richieste al secondo su un singolo server. Inoltre, la parola d'ordine per l'IT in questo momento è "consolidamento". Quindi, anche se l'applicazione è suddivisa in livelli, probabilmente finiranno per ospitare su macchine virtuali su un singolo server.
Penso che oggigiorno, quando si parla di architettura N-tier, si parli di separazione delle preoccupazioni all'interno dell'applicazione. È più una separazione logica che una fisica. Penso che finché raggiungiamo una buona separazione delle preoccupazioni e un accoppiamento lento, le applicazioni non devono essere N-tier. Sembra solo che molti programmatori ritengano che l'architettura N-tier sia uno standard d'oro che ogni applicazione web deve rispettare.
Quindi, che cos'è l'architettura N-tier al giorno d'oggi?
Accetto. La separazione in componenti discreti per motivi di scalabilità non è ancora morta, ma un hardware più veloce e il consolidamento di reti e server spingono decisamente verso il basso il numero di applicazioni che devono farlo. –
Probabilmente non è morto, ma per esempio nel caso dei siti web ci sono modi più efficaci per gestire più visualizzazioni di pagina. – Durden81