Come emendamento alla risposta di cui sopra (e un po 'di lezione di storia), "3 livelli" e "n-livello" sono gli stessi dove n=3
. Nel passato, il codice dell'applicazione ei dati erano tutti nello stesso assembly (e le "macchine informatiche" erano grandi come stanze). Ciò è cambiato rapidamente e sono stati inventati i "file di dati", creando un'architettura a due livelli (ancora a un solo livello). Sono successe altre cose e alla fine è arrivato il RDBMS, che era ospitato sul proprio computer, e l'era dell'elaborazione "client-server" è nata.
Una volta digerito il concetto di separazione tra la "logica del programma" (che includeva la logica di presentazione, business e applicazione nel gergo di oggi) dalla "logica del database" (persistenza), la logica aziendale e applicativa è stata spostata in un "middle-tier", e improvvisamente abbiamo avuto un "three-tier computing". Si diffuse all'inizio degli anni Novanta e coincise con l'esplosione di Internet e del World Wide Web.
Da tre livelli, si è trattato di un breve salto logico per diffondere le cose su molti livelli e separare questi livelli in molti ambienti di esecuzione, a volte per motivi di sicurezza, altre volte per la manutenzione, spesso per prestazioni. Scavando dall'idea di dover descrivere le cose in numeri numerici in rapida crescita, è nata la frase "n-tier", che descrive realmente qualsiasi architettura applicativa che si diffonde in più ambienti di esecuzione.
Si noti che oggi, con macchine virtuali, processori multi-core e calcolo parallelo, è difficile dire quale codice è in esecuzione su quale processore discreto, o come sia separato da un altro "layer" su un altro "tier", ma noi piace mettere le cose in contenitori, indipendentemente dal fatto che il contenitore abbia dei limiti reali.