lunedì 1 novembre 2010

Alta Affidabilità

 Non c'è macchina che non possa rompersi. Non c'è rassicurazione basata sul passato che non possa essere smentita nell'immediato futuro. Un macchina che ha sempre funzionato per anni può a maggior ragione per usura ma più banalmente per stanchezza (non pensate che le macchine siano prive di sensibilità) fermarsi improvvisamente, ma soprattutto nel momento meno opportuno.

Nei primi anni novanta, al lavoro, si fece un grosso investimento per l'acquisto di una macchina che doveva permettere la condivisione dei dati a 250 utilizzatori. Chi ci convinse nell'acquisto ci elencò tutte le caratteristiche di alta affidabilità con cui era stata costruita. Tutto era ridondato : le alimentazioni, le schede, i processori. I erano dati duplicati e c'era la possibilità di ripararla senza spegnerla. La descrizione fu convincente tanto che l'adottammo e in poco tempo fu messa in produzione . Il suo nome era Metaframe.
Il Metaframe lavorò senza intoppi per tre o quattro anni, ma dopo quel periodo, altre macchine più moderne, potevano fare ciò che lui aveva garantito negli anni precedenti. Fu così che si pensò alla sua sostituzione. Si approntarono le nuove macchine per per poter essere pronti, durante un fine settimana, al travaso dei dati. Durante i giorni dedicati ai preparativi assieme a un collega mi fermai nei pressi del Metaframe e con un filo di malinconia parlai del cambiamento che doveva avvenire di li a pochi giorni. Il Metaframe sarebbe stato spento all'inizio della settimana seguente.

Terminato il sopralluogo e ritornati in ufficio, dopo pochi minuti tutti ci accorgemmo che i dati contenuti nel Metaframe non erano più visibili. Scendemmo di corsa in sala macchine scoprimmo che si era fermato. Iniziarono così tre giorni di inferno tutti destinati a rianimare quel sistema che, dopo aver appreso la sua prossima fine , aveva deciso di farcela pagare. Rimase acceso il tempo necessario al travaso dati nei nuovi server e poi spento definitivamente. Fu lasciato per qualche anno in un angolo, dimenticato.
Non fu l'unica macchina a comportarsi in questo modo, il Metaframe fu solo il caso più eclatante. Per questo motivo, cerco di non farmi più sentire dalle macchine e tratto simili notizie con molto riserbo.

Ma le macchine, pur avendo "un'anima", quando si rompono, anche senza intenzioni vendicative, richiedono tempi lunghi per la riparazione e nel caso di errori software il più delle volte la parte più difficile sta nello scovare il problema, non sempre così chiaro e diretto.

La necessità di garantire la continuità del servizio ha negli anni fatto nascere soluzioni tecnologiche a garanzia dell'alta affidabilità
Il concetto che guida, una di queste soluzioni è la duplicazione dei sistemi. Il termine tecnico si chiama "Cluster" (grappolo) che nella configurazione più semplice, ma anche la più diffusa si limita ad accoppiare due macchine uguali, ciascuna in grado di farsi carico del lavoro normalmente distribuito su entrambe.
La configurazione di un simile sistema non è semplice, ma una volta messo a regime rende la vita più serena sia ai tecnici che agli utilizzatori.
La ricetta è la seguente. Si prendono due macchine, grandi uguali. Si scelgono le applicazioni critiche che dovranno essere in esse ospitate, normalmente alcune gireranno sulla prima, altre nella seconda. In caso di guasto di una delle macchine, la superstite si farà carico di ciò che girava in quella guasta, garantendo il servizio senza alcuna interruzione.

La configurazione di due macchine in cluster poggia il suo funzionamento sulla capacità di entrambe di condividere il loro "Heart Beat". L'una deve sentire il battito cardiaco, la vita, dell'altra, e lo fa in maniera sistematica più volte al secondo per accertarsi che tutto stia funzionando per il meglio.
L'Heart Beat viaggia attraverso un doppio cavo che collega direttamente le due macchine, dove i dati sono trasmessi ad altissima velocità.
E' una modalità molto "umana", che ricorda come anche per le coppie, intendo sposi e fidanzati, sia molto importante condividere una sorta di Heart Beat per poter "funzionare la meglio".
L' Heart Beat degli uomini si può identificare con l'amore o quanto minimo in una "corrispondenza di amorosi sensi" che lega le vite di due persone.

Quando L'Heart Beat si interrompe qualcosa non funziona più come prima. Uno dei due computer non funziona come dovrebbe, anzi potrebbe essersi definitivamente fermato. E' una notizia funesta che va verificata. Potrebbe, però, essere dovuta a un problema di comunicazione e per verificare i problemi di questo tipo ci si avvale di un sistema aggiuntivo, più lento, normalmente poggiato su una zona disco condivisa. In mancanza di comunicazione veloce l'Heart Beat passa per un strada più lenta per chiarire le ultime incomprensioni.
Analogamente è come se una coppia incapace di sentirsi per telefono tenti di ritrovarsi scrivendosi delle lettere recapitate per posta. Con un pò di ritardo le incomprensioni se non insanabili possono essere chiarite senza conseguenze.

Ma non sempre le storie hanno un lieto fine e le cattive notizie, possono comunque sempre arrivare. In caso di guasto irreparabile o riparabile in tempi lunghi, il sistema funzionante, senza battere ciglio, si fa carico di ciò che prima era caricato nell'altro. Lo fa destinando risorse disponibili o ridistribuendo il carico anche a scapito dei tempi di risposta e della velocità in generale, pur di garantire il servizio richiesto.

Spesso anche gli uomini subiscono divisioni che appesantiscono il prosieguo della vita, che diventa di colpo più difficile. Non sempre si trova la comprensione di cui avremmo bisogno ma in ogni caso il "servizio va garantito", come se niente fosse, anche se tutto è diventato insopportabilmente più faticoso.

Nessun commento:

Posta un commento