Ad agosto ho migrato nove nomi di dominio verso un nuovo registrar: il sito di NES Studio e gli otto domini delle mie testate. Un'operazione banale, che ha però prodotto un guasto di una settimana su alcuni domini e, soprattutto, una lezione più ampia.
Il guasto
Durante il trasferimento, diversi domini hanno mostrato una pagina di parcheggio al posto del loro sito. Scoperto per caso, meno di 24 ore dopo. Su un altro dominio, una chiave di sicurezza DNS diventata incoerente ha reso il dominio irraggiungibile: l'unica azione correttiva era nelle mani del registrar uscente. Nessuna delle due soluzioni previste si è verificata; il guasto si è risolto quando il trasferimento ha portato con sé la chiave.
L'errore evitato
Per non scoprire più per caso questo genere di guasti, ho scritto uno strumento che dichiara lo stato desiderato di ogni zona DNS e lo confronta ogni giorno con la realtà. Prima versione: lo strumento leggeva il DNS in essere e lo assumeva come stato desiderato.
Il 5 agosto era corretto, perché tutto funzionava. Il 6 alcuni domini erano passati al nuovo registrar: il loro DNS in essere era la pagina di parcheggio. Lo strumento avrebbe ricopiato il guasto, lo avrebbe dichiarato come obiettivo, e il rilevatore di derive avrebbe poi confermato ogni giorno che tutto era conforme.
Uno strumento che ricava il proprio obiettivo dall'esistente è affidabile solo finché l'esistente è sano.
Due principi che ne derivano
Lo stato desiderato si scrive, non si ricava. Ciò che deve essere vero viene dichiarato da una persona, versionato, ed è la realtà a essere confrontata con esso, non il contrario.
Si confronta la cosa, non la sua forma. Due chiavi di firma delle e-mail avevano esattamente la stessa lunghezza e un'impronta completamente diversa. Una chiave si confronta per impronta, un indirizzo come indirizzo. La maggior parte dei falsi allarmi nasce da un confronto superficiale, e uno strumento che grida «al lupo» smette di essere ascoltato.
Oltre il DNS
Lo stesso errore minaccia tutti i progetti di IA che «imparano dall'esistente»: un agente che ricava la buona pratica dai Suoi dati attuali imparerà anche le Sue anomalie. Prima di automatizzare, scriva ciò che deve essere vero.