Ciao, e benvenuto nella seconda puntata della trentaquattresima stagione. Nella scorsa puntata abbiamo capito cosa fa il DNS: traduce i nomi nei numeri. Oggi vediamo perché è nato, e la sua storia ci rivela subito il vero problema difficile che ha dovuto risolvere, quello che rende il DNS geniale: non tanto tradurre nomi in numeri, che è facile, ma farlo per il mondo intero, per un'infinità di nomi che cambiano di continuo, senza un unico punto centrale che faccia tutto. È un problema di scala. Oggi capiamo come, prima del DNS, si faceva, perché quel modo è crollato, e cosa ha dovuto inventare il DNS.
Partiamo da come si faceva agli inizi, perché è sorprendentemente semplice. Quando la rete era piccola, agli inizi, e i computer collegati erano pochi, la traduzione tra nomi e numeri si faceva nel modo più ovvio: con un unico elenco condiviso. Esisteva una sola lista, un solo file, che conteneva tutti i nomi e i loro numeri corrispondenti, per tutta la rete. E questa lista veniva copiata su ogni computer, così che ognuno avesse l'elenco completo di tutti i nomi e potesse fare le traduzioni da solo. Un'unica lista centrale, con tutto dentro, distribuita a tutti. Quando i nomi erano pochi, questo funzionava benissimo: la lista era piccola, gestibile, facile da tenere aggiornata.
Ma ora voglio farti capire perché questo modo sia crollato, perché è il punto cruciale. La rete cominciò a crescere, e a crescere in fretta. E con la crescita, l'unica lista condivisa iniziò a mostrare tutti i suoi limiti. Primo: diventava enorme. Con sempre più nomi, la lista cresceva a dismisura, ingombrante da conservare e da distribuire a tutti. Secondo: diventava impossibile da tenere aggiornata. Con nomi che si aggiungevano e cambiavano di continuo, l'unica lista centrale non riusciva più a stare al passo: chi la manteneva era sommerso, e le copie sparse in giro erano sempre vecchie. Terzo: era un collo di bottiglia. Tutto passava da un unico punto centrale, che non ce la faceva a reggere il carico di un mondo che cresceva.
Voglio farti apprezzare la natura profonda di questo crollo, perché è una lezione generale. Il problema dell'unica lista centrale non era un dettaglio tecnico: era un limite di fondo, di scala. Un unico punto centrale che deve sapere e gestire tutto, per tutti, funziona quando le cose sono poche, ma crolla inevitabilmente quando le cose diventano tante. Diventa troppo grande, troppo lento ad aggiornarsi, un collo di bottiglia che soffoca la crescita. È un problema che si ripresenta ovunque, nel mondo dei sistemi: la centralizzazione totale non scala. Prima o poi, se vuoi crescere fino a dimensioni enormi, devi trovare un modo per non far dipendere tutto da un unico punto centrale.
Ed ecco perché è nato il DNS, che voglio farti apprezzare come la soluzione a questo problema di scala. Il DNS è stato inventato proprio per risolvere il crollo dell'unica lista centrale: per sostituire quell'unico elenco, diventato ingestibile, con un sistema capace di scalare fino al mondo intero. L'idea di fondo, che esploreremo nelle prossime puntate, è stata rivoluzionaria: invece di un'unica lista centrale che sa tutto, distribuire e decentrare il sistema, spargere la conoscenza dei nomi su tantissime macchine diverse, ognuna responsabile solo di una piccola parte, senza che nessuno debba conoscere e gestire tutto. Il DNS è nato per scalare tramite la decentralizzazione, superando il limite dell'unica lista.
Voglio darti fin d'ora la chiave della genialità del DNS, perché sarà il filo delle prossime puntate. La vera genialità del DNS non è tradurre nomi in numeri, cosa in sé semplice: è farlo per un mondo intero di nomi, in continuo cambiamento, senza un unico punto centrale che gestisca tutto. Come vedremo, ci riesce con due idee bellissime: distribuire la responsabilità dei nomi su tantissime macchine, organizzate in una gerarchia con delega, così che ognuno gestisca solo la sua parte; e ricordare le risposte, con la cache, per non sovraccaricare il sistema. Grazie a queste idee, il DNS scala fino a dimensioni immense, cosa che l'unica lista non poteva fare. La sua storia è la storia del superare la centralizzazione.
Voglio chiudere sottolineando quanto sia importante questa idea, perché va oltre il DNS. Il passaggio dall'unica lista centrale al sistema distribuito del DNS è un esempio perfetto di una grande lezione: per far scalare qualcosa fino a dimensioni enormi, spesso bisogna abbandonare il controllo centrale, e distribuire, decentrare, delegare. Non un unico punto che sa e fa tutto, ma tante parti, ciascuna responsabile di poco, che insieme fanno funzionare il tutto. È un'idea potente, che ritroveremo, e che il DNS incarna magnificamente: la decentralizzazione come via per la scala. Tienila a mente, perché è il cuore della bellezza del DNS.
Per oggi ci fermiamo qui. Agli inizi, quando la rete era piccola, la traduzione tra nomi e numeri si faceva con un'unica lista condivisa, copiata su ogni computer. Ma con la crescita della rete, questa lista è crollata: troppo grande, impossibile da aggiornare, un collo di bottiglia centrale. È il limite di fondo della centralizzazione totale: non scala. Il DNS è nato per superarlo, sostituendo l'unica lista con un sistema distribuito e decentrato, capace di scalare fino al mondo intero. La sua genialità non è tradurre, ma farlo per tutti senza un capo centrale. Nella prossima puntata vediamo la sua idea più bella: la gerarchia e la delega. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.