Informatici, oggi

Informatici

Premessa: questo sarà un articolo critico, provocatorio, uno sfogo. Si generalizzerà, si accuserà, bisogna leggere sempre il tutto cum grano salis. Ovviamente non TUTTE le figure elencate sono come da descrizione, ma qualcuno potrebbe sentirsi offeso da ciò che sta per leggere. Nel caso, passi pure all'articolo precedente (o successivo).

Diciamolo chiaramente: essere informatici (veri, non semplici consumatori di tutorial) non è mai stato facile. Nel nostro settore c'è sempre stata una schiera di incompetenti ignoranti (nel senso che ignorano di essere incompetenti e si sentono dei guru) che pensano sia più importante parlare che agire, che credono che per tutto ci sia un tutorial e, in mancanza, la cosa è impossibile. Negli ultimi tempi, però, le cose si stanno ulteriormente complicando a causa di giovani leve, cresciute a pane e Social Network, che hanno ormai hanno disimparato a capire la differenza tra l'Ansa, il Corriere e la "Gazzetta della Sera" (con tutto il rispetto), se il loro amico ha condiviso lo sbarco degli alieni sulla terra. Una volta c'era il è vero perché lo dice la gente, versione moderna di vox populi vox dei, oggi c'è il "lo ha condiviso il mio amico".

...l'ho letto in un sito...

Una delle cose che mi hanno sempre mandato in bestia è la frase "l'ho letto in un sito", o in un forum, o in un post su facebook, o su un blog. La prima cosa da fare, quando si legge qualcosa su un qualunque sito Internet, è valutarne l'attendibilità. Cosa che, puntualmente, viene ignorata. Un po' come quando il medico dice al paziente che non ha nulla di grave e che è un mal di testa da stress e si sente rispondere che non è vero, che su Internet ha trovato che è sicuramente un tumore e che morirà a breve.

Stesso problema nel settore informatico: serve a poco spiegare che decenni di esperienza, studi universitari, curriculum ricchi, ruoli importanti all'estero insegnano che quella può essere la soluzione migliore: se un ragazzino su un blog ha scritto che c'è una soluzione bella, sarà senz'altro la manna dal cielo. L'ho trovato su Internet!. Neanche fosse un'enciclopedia.

L'esperienza più simpatica, nello specifico, l'ho avuta qualche anno fa. Spiegavo una mia scelta tecnica (a causa di centrale, portante e dati empirici sul luogo, suggerivo l'utilizzo di uno specifico modem ADSL) e il cliente mi ha contrastato, caldeggiando per un'altra soluzione. L'aveva letta in un blog, e quello del blog è "uno preparato" quindi sicuramente bisognava dar retta all'articolo del blog. Peccato stesse citando il mio blog (questo), un mio articolo di qualche anno prima e una situazione completamente diversa. Quando mi ha mostrato l'articolo e gli ho fatto notare l'autore, è comunque rimasto nel dubbio.

Non importa che tu abbia fatto mesi di prove e abbia tarato tutto, ci sarà sempre, fuori, qualche blog o qualche tutorial che saprà fare le cose meglio di te.

...potresti seguire questo corso...

Stupid teacher

Insegno dal 2003. Ho tenuto corsi di ogni genere (supplente a scuola, universitari, corsi di formazione anche di durata annuale, corsi in giornata, formazione specifica a gente più "adulta" e più titolata di me, selezionato e ahimé licenziato persone, ecc.) e continuo a farlo. Credo che i corsi siano importanti, oggettivamente però non c'è NULLA che non si possa imparare in autonomia, avendo il giusto tempo, specialmente se non sono corsi universitari.

Ripeto, non sto dicendo che i corsi non siano importanti, sono anzi fondamentali: le persone che vengono a seguire i miei corsi sono, di solito, persone preparate e intelligenti, che vengono per ottimizzare i tempi: quello che possono apprendere in 7 ore di corso richiederebbe, in autonomia, almeno una settimana continuativa di lavoro di ricerca e studio. Impossibile, specialmente in certe realtà lavorative più impegnative.

Ogni tanto qualcuno, bonariamente (o qualcun altro meno bonariamente) mi invia qualche programma di corso (spesso base e banale) dicendo "potrebbe interessarti!" oppure "potrebbe essere interessante per migliorare i nostri sistemi!". L'ultimo, un corso sulla virtualizzazione. In un caso, ovvero un'azienda con cui collaboro attivamente da anni e con cui ho un ottimo rapporto di fiducia, apprezzo perché so che è in ottima fede, davvero. Nel resto dei casi, è spesso offensivo.

Faccio corsi su Virtualizzazione, soluzioni avanzate, HA, ridondanze, disaster recovery, ecc. da almeno 10 anni e me ne occupo, inizialmente come hobby, dal 1998. La mia tesi di laurea è stata legata ad essa, e alcuni componenti nei principali virtualizzatori in commercio contengono del mio codice. Credo di esserci dentro, abbastanza da non aver bisogno che qualche commerciale mi intorti una non tanto occulta pubblicità al proprio prodotto come verità assoluta sulla gestione sistemistica. Studio nei miei canali, faccio i miei test, imparo dai miei errori e cerco di fornire le soluzioni migliori non in base a ciò che qualcuno mi ha detto di fare, ma alla mia esperienza. Sono superbo? Non credo: sbaglio anche io, ma preferisco andare a lezione di guida dal mitico Zanardi che da uno che fa 5000 km l'anno.

...lui è certificato, dunque è bravo (ed è giusto che chieda molti soldi)...

Questo è un altro di quei discorsi che mi alterano, anche se spesso devo necessariamente mascherare e mediare. Le certificazioni sono dei titoli rilasciati da aziende che hanno tutto l'interesse a formare persone (preparate, non nego) nei loro prodotti che, poi, dovranno vendere o assistere. Al corso di certificazione di VMWare (per fare un esempio) non parleranno dei pregi di Hyper-V (ancor meno di KVM, Xen o VirtualBox). Lo studio, quello vero, dovrebbe essere apolitico, apartitico, fuori da ogni ideologia. In teoria. Andare a studiare presso un'azienda che produce e/o vende un prodotto non può fornire un'istruzione completa, ma solo un'ottima base all'utilizzo di quel prodotto, caldeggiando ovviamente per le scelte tecniche da esso adottate. Se si sta dunque installando un web server basato su CentOS, non vedo come un tecnico certificato VMWare o Microsoft possa portare del valore aggiunto. Se si deve invece lavorare su uno di quei prodotti, il discorso è ovviamente diverso. Sono però stufo, e da anni, di vedere (a volte) la mia laurea e la mia esperienza messe in secondo piano, ovviamente fino al momento in cui ci si mette al lavoro (poi i risultati parlano...), rispetto ad una persona che vanta solo una certificazione. Per alcuni, essa è più importante di tutto il resto. E quando si parla di pagamenti, è giustificato se loro chiedono di più.

Detto questo, conosco dei bravissimi e preparatissimi tecnici con "solo" certificazioni private, ma se sono davvero bravissimi e preparatissimi sono anche abbastanza intelligenti da mettersi in gioco e alla pari. Se sono sul piedistallo, correte via.

Aggiungo un piccolo dettaglio: all'epoca in cui prendevo più aerei che caffè (dunque un lustro addietro) sono stato selezionatore e valutatore per una nota azienda software (e questo all'estero, non in Italia) e proprio per il discorso certificazioni. In quel caso (non generalizzo, parlo del mio singolo caso) la scelta su chi dovesse essere selezionato e premiato era legata alla potenziale iscrizione di questa persona ad una certificazione successiva o ad una sua immediata affiliazione totale. In pratica si selezionavano persone preparate un minimo, ma non troppo, in modo da indurle ad arrivare ai livelli successivi e/o a fissare un cordone ombelicale con l'azienda madre. Meno spaziavano mentalmente, più punti dovevamo dare. Mi sono, da quel giorno, rifiutato di fare selezioni successive.

...io sono solo uno smanettone, MA...

Someone's wrong on the Internet!

Ed ora parliamo del vero cancro dell'informatica moderna, un fenomeno che crescerà negli anni e diventerà una seria preoccupazione per il nostro settore. Pensionati, infatti, ormai i vecchi e strapagati "informatici" che avevano imparato a fare click in un'epoca in cui i comuni mortali neanche capivano a cosa servisse un mouse, sono in arrivo le nuove leve. La frase è più o meno la solita: "a scuola avevo pessimi voti, per cui ho deciso di buttarmi sull'informatica". Come se l'informatica (quella vera, non quella dei blog) fosse una di quelle cose che si fanno come ripiego, senza impegno e senza testa. Un refugium peccatorum di chi non ha testa (o voglia) di studiare. Possono essere sbruffoni o apparentemente modesti, il risultato però sarà sempre lo stesso: una tendenza a semplificare eccessivamente le cose o a complicarle inverosimilmente. Semplificare, ovvero ricondurre all'articolo/blog/tutorial letto per arrivare alla soluzione, oppure complicarle per raggiungere un risultato più semplice ma senza i giusti mezzi.

Nel complesso, queste figure vanno in "crash" al primo problema. Bravissimi a mettere in piedi ciò che, facendo copia&incolla, sono riusciti a trovare ma alla prima difficoltà...puff! Nei guai. Ho avuto occasione di lavorare con alcune persone così, in passato, e ogni tanto in alcune realtà capita ancora. Un paio d'anni fa con uno di essi ho avuto un problema non da poco: ha convinto il titolare dell'azienda con cui collaboravo (suo datore di lavoro) a farsi dare le password di root (a me estorte sotto minaccia, in quanto se sono io responsabile di una macchina sono io root e basta) perché aveva delle idee meravigliose per ottimizzare le prestazioni della macchina, che io "in quanto di vecchia scuola" non volevo applicare perché, appunto, moderne. In dieci minuti è stato capace di mandare in crash tutto il sistema: ha spostato la directory dei database senza curarsi di avvisare il DBMS dell'operazione (inoltre creando una cache su ram), ha rediretto a /dev/null alcuni log perché "è spazio sprecato", ha disabilitato il backup "tanto abbiamo il RAID", poi ha fatto fuori "alcuni moduli del kernel inutili, per snellire il sistema". Poi un bel reboot.

Il resto lo lascio all'immaginazione di chi legge.

...loro lo vendono, dunque sono quelli che lo conoscono meglio...

Termino con una parte più leggera: la convinzione che chi vende un prodotto lo conosca appieno, anche a livello tecnico. Fino ad ora devo ancora conoscere un commerciale che conosca DAVVERO un prodotto, a meno che la figura non corrisponda con quella del tecnico. D'altronde ne capisce di più della vostra auto il meccanico o il venditore?

Storie dalla Sala Macchine: le 5 principali inesattezze che ho sentito nel 2015

/images/sala_macchine_antica.thumbnail.jpg

Chiunque lavori a contatto con gli altri ha qualcosa da raccontare. Se si hanno due colleghi, ci saranno cose su quei due colleghi. Se si lavora a contatto con i clienti, di storie ce ne sono svariate, ogni giorno. Dopo anni, passano e scivolano via appena sentite, ma alcune restano nella mente perché particolarmente divertenti o indicative.

Ho già parlato qualche volta di situazioni in sala macchine, e delle esperienze accumulate. Non molto, a dir la verità, e vorrei recuperare.

Cominciamo con la Top 5 delle cose sentite nel passato 2015, in un post iniziato da alcuni mesi e solo ora terminato per mancanza di tempo:

  1. Collega sistemista che dice che il mail server è stato bucato perché gestito da un sistema OpenSource, per cui tutti possono entrare e mettere le mani. In realtà avevano bucato un suo script in PHP, che non faceva controlli sulle variabili. Ah, PHP!
  1. La colpa è sempre dello strumento OpenSource. Nella fattispecie, uno switch di rete (di infima marca, ma spacciato dal commerciale dell'azienda che lo ha venduto come "sconosciuta perché troppo di qualità per le masse") ogni tanto si riavvia. Spegne tutto, aspetta 30 secondi, si inizializza. La rete paralizza. La colpa? Di Proxmox, in quanto evidentemente comanda lo switch affinché si riavvii per mascherare i suoi problemi. Eh????
  1. Altro collega sistemista visto tre volte. La prima volta sembrava anche abbastanza intelligente, la seconda mostrava scarsa conoscenza della materia, ma il top lo ha raggiunto alla terza occasione: iOS è più sicuro di Android perché sigillato da Apple mentre Android è OpenSource per cui i governi (???) possono aprire qualunque smartphone e leggere qualsiasi contenuto. Discorso che accetterei da gente non addetta ai lavori ma da un (sedicente, direi) sistemista NO.
  1. "Noi lavoriamo con Debian 6, installa quella". "Ma come, è in End Of Life!" "Sì, ma è più testata, dunque più sicura!". "Ma come, non ha aggiornamenti di sicurezza! Tra poco sarà un colabrodo!". "No, se dopo tutti questi anni non hanno trovato bachi di sicurezza vuol direi che è sicura. Non faranno più aggiornamenti perché essendo sicura essi non sono necessari". Mi astengo da ogni commento.
  1. "Avevo un keylogger nel computer, evidentemente a qualcuno interessava leggere ciò che scrivevo, le mie password o quelle dei miei clienti, ma l'ho fregati: ho installato Linux!". "Bene, cosa hai installato?". "Ubuntu in una macchina virtuale Hyper-V". "Dunque hai reinstallato anche Windows pulito?". "No, ma uso solo Linux nella macchina virtuale, non possono nulla!".

Io NON voglio dire la mia

Tuttologo

I Social Network, oggi, pullulano di gente che non aspetta altro che lo spunto adatto per accendersi e cominciare a dire la propria. Qualunque sia l'argomento, qualunque sia la materia, loro sanno tutto. Politica, religione, medicina, informatica, automobilismo, complotti vari di ogni genere. Ciò che conta è far sapere al mondo come la pensano. Ne ho già parlato in passato e i tempi non erano ancora sospetti. Si parlava ancora in terza persona, ci si rivolgeva timidamente al mondo e in punta di piedi, si iniziava a parlare della propria quotidianità.

Ad un certo punto, i tuttologi hanno iniziato a capire che lo strumento Social Network avrebbe garantito una maggior visibilità. I proprietari dei siti in questione ne sono stati ben felici e hanno iniziato a creare gli strumenti adatti, come i gruppi. A quel punto, la timidezza dei primi istanti se ne è andata e il Social Network è diventato una vetrina personale. Grande Fratello, X-Factor e format del genere sono dunque diventati il modello da imitare e si vuole a tutti i costi essere qualcuno, avere visibilità a costo di banalizzarsi e rendersi ridicoli.

Cosa importa, infatti, non saper suonare la chitarra, il pianoforte, il flauto o cantare? Bisogna comunque mettere il proprio video, anche di pessimo livello, ma contribuire a creare questo nuovo mondo fatto di virtualità apparente e non necessariamente sorretto da altrettanta sostanza.

Il massimo, poi, lo si raggiunge quando si parla di cose importanti. Fatti di cronaca, eventi atmosferici o tellurici ("oddio, ho sentito il terremoto! anche se l'epicentro è stato a 200 km da qui, ho avuto un semi-giramento di testa proprio in quell'istante! Aiuto, moriremo tutti!") e così via.

In questo periodo mi sto divertendo nel leggere i commenti sull'uscita della nuova Alfa Romeo Giulia nei gruppi delle principali riviste automobilistiche. Premesso che nessuno (che non sia un addetto ai lavori) l'ha ancora provata, eppure tutti hanno già pontificato sulle sue qualità, i suoi difetti, le caratteristiche principali. Magari parliamo di qualcuno che ha la patente da un anno (o da trenta, ma ha sempre e solo posseduto e guidato la Panda 750), eppure è pronto a giurare che schiaccerà tutte le tedesche, comprese quelle di classe superiore, oppure che sarà distrutta dalla concorrenza perché, lo sanno tutti, le Alfa non possono competere (???) con le bellissime alternative sul mercato.

Una volta si diceva, in occasione dei mondiali, che in Italia ci sono 60 milioni di CT competenti e un solo incompetente: il CT della Nazionale. Ecco, il concetto è un po' lo stesso: l'avere Internet a disposizione crea, nelle masse, una apparente onniscienza. Acquistare un'auto con 500 cavalli non ti rende automaticamente un pilota, così come acquistare una pistola non ti rende immediatamente un tiratore scelto. Ma questo la massa non lo sa, e continua a pontificare su tutto e tutti.

I proprietari dei Social Network se la ridono. Grazie a questo effetto, collezionano dati personali a più non posso, addirittura non solo col consenso ma con la collaborazione dei singoli individui. Finita è l'epoca delle subdole righe piccole studiate e meticolosamente redatte allo scopo di "rubare" alcune informazioni sommarie. Oggi TUTTI i fatti "nostri" sono disponibili immediatamente e con la nostra massima collaborazione. Siamo noi a volerli pubblicare.

C'è però un distinguo: quando pubblichiamo uno status o una foto, siamo certi di creare quella perfezione che vogliamo mostrare agli altri. A meno che non si sia preda di un irrefrenabile necessità di commiserazione, mostreremo al mondo la parte più positiva della situazione. Se siamo rimasti 12 ore chiusi in ufficio a fare un lavoro che odiamo, pensando di aver buttato via la nostra vita, fotograferemo qualche (bel) dettaglio successivo, dando a intendere che la propria vita sia meravigliosa, costellata da positività. Quando invece rispondiamo ad un commento o ad uno status che ci tocca da vicino (e, ripeto, anche se siamo praticamente ignoranti in materia), non ci facciamo alcuno scrupolo a mettere in mostra il lato peggiore di noi, non nascondendo nulla pur di dare credito alla nostra opinione. Diventiamo animali aggressivi, offensivi. Tutto il nostro bon ton svanisce in un lampo, rendendoci più cafoni di uno scaricatore di porto. Imporre la nostra idea diventa una missione, poco importa se effettivamente non ne sappiamo nulla in merito: la pensiamo così noi, per cui tutto il mondo deve essere convinto, a costo di iniziare una guerra termonucleare globale.

Vado controcorrente:

Io NON voglio dire la mia.

Non ho la pretesa che al mondo interessi quale sia la mia auto preferita, il mio orientamento politico, la mia religione. Posso fare alcune considerazioni (come questa, ma su un blog e senza alcuna pretesa di replica da parte di nessuno), posso parlare della mia esperienza quotidiana nel settore informatico, delle mie considerazioni personali su molti argomenti, ma non sono un evangelista su nessun argomento.

Cerco di tenere la mente aperta su tutto, potrei cambiare opinione SE le informazioni in mio possesso dovessero giustificarlo, non voglio essere un fanboy (tantomeno se in tasca non me ne viene nulla) e resto convinto che domani ci sarà in circolazione un prodotto migliore di quello che osannerò oggi. Per cui posso dire che OGGI non userei questo ma userei l'altro, eppure domani potrebbero cambiare le cose.

Detto questo, dunque, perché dovrei cercare di convincere il mondo che le mie scelte sono migliori di quelle degli altri?

La società odierna sta mettendo al bando un lusso: quello di godere delle proprie positività con le persone che veramente sono felici delle nostre gioie. Siamo talmente proiettati nel dover mostrare agli altri, nel doverci mostrare (perfetti) agli altri, nel dover convincere tutti che abbiamo sempre ragione noi da aver perso di vista il piacere di avere un bel giardino per la soddisfazione di guardarlo (e non per farci invidiare dai vicini), di avere una bell'auto perché essa ci soddisfa nel suo utilizzo, nell'acquistare lo smartphone che ci soddisfa maggiormente come funzionalità, prestazioni e (perché no) prezzo a scapito di quello che la moda e il brand decidono sia più cool per noi. Non andiamo più in vacanza dove vorremmo davvero, ma ci auto-convinciamo di dover andare dove vanno tutti, spendendo magari un patrimonio, perché altrimenti cosa pubblicheremmo nei Social? Sempre più legati alla forma, sempre meno alla sostanza.

E perciò io NON VOGLIO DIRE LA MIA, anche se a volte sono tentato, anche se a volte vorrei prendere la parola perché so di sapere. Ma, allo stesso tempo, so anche di non sapere, di non essere depositario della Verità Assoluta. Anche perché a tentare di lavare la testa ai somari si sprecano acqua e sapone.

Caro nipotino mio...

Caro nipotino mio,

non vorrei che questa lettera natalizia suonasse troppo deamicisiana, ed esibisse consigli circa l’amore per i nostri simili, per la patria, per il mondo, e cose del genere. Non vi daresti ascolto e, al momento di metterla in pratica (tu adulto e io trapassato) il sistema di valori sarà così cambiato che probabilmente le mie raccomandazioni risulterebbero datate.

Quindi vorrei soffermarmi su una sola raccomandazione, che sarai in grado di mettere in pratica anche ora, mentre navighi sul tuo iPad, né commetterò l’errore di sconsigliartelo, non tanto perché sembrerei un nonno barbogio ma perché lo faccio anch’io. Al massimo posso raccomandarti, se per caso capiti sulle centinaia di siti porno che mostrano il rapporto tra due esseri umani, o tra un essere umano e un animale, in mille modi, cerca di non credere che il sesso sia quello, tra l’altro abbastanza monotono, perché si tratta di una messa in scena per costringerti a non uscire di casa e guardare le vere ragazze. Parto dal principio che tu sia eterosessuale, altrimenti adatta le mie raccomandazioni al tuo caso: ma guarda le ragazze, a scuola o dove vai a giocare, perché sono meglio quelle vere che quelle televisive e un giorno ti daranno soddisfazioni maggiori di quelle on line. Credi a chi ha più esperienza di te (e se avessi guardato solo il sesso al computer tuo padre non sarebbe mai nato, e tu chissà dove saresti, anzi non saresti per nulla).

Ma non è di questo che volevo parlarti, bensì di una malattia che ha colpito la tua generazione e persino quella dei ragazzi più grandi di te, che magari vanno già all’università: la perdita della memoria.

È vero che se ti viene il desiderio di sapere chi fosse Carlo Magno o dove stia Kuala Lumpur non hai che da premere qualche tasto e Internet te lo dice subito. Fallo quando serve, ma dopo che lo hai fatto cerca di ricordare quanto ti è stato detto per non essere obbligato a cercarlo una seconda volta se per caso te ne venisse il bisogno impellente, magari per una ricerca a scuola. Il rischio è che, siccome pensi che il tuo computer te lo possa dire a ogni istante, tu perda il gusto di mettertelo in testa. Sarebbe un poco come se, avendo imparato che per andare da via Tale a via Talaltra, ci sono l’autobus o il metro che ti permettono di spostarti senza fatica (il che è comodissimo e fallo pure ogni volta che hai fretta) tu pensi che così non hai più bisogno di camminare. Ma se non cammini abbastanza diventi poi “diversamente abile”, come si dice oggi per indicare chi è costretto a muoversi in carrozzella. Va bene, lo so che fai dello sport e quindi sai muovere il tuo corpo, ma torniamo al tuo cervello.

La memoria è un muscolo come quelli delle gambe, se non lo eserciti si avvizzisce e tu diventi (dal punto di vista mentale) diversamente abile e cioè (parliamoci chiaro) un idiota. E inoltre, siccome per tutti c’è il rischio che quando si diventa vecchi ci venga l’Alzheimer, uno dei modi di evitare questo spiacevole incidente è di esercitare sempre la memoria.

Quindi ecco la mia dieta. Ogni mattina impara qualche verso, una breve poesia, o come hanno fatto fare a noi, “La Cavallina Storna” o “Il sabato del villaggio”. E magari fai a gara con gli amici per sapere chi ricorda meglio. Se non piace la poesia fallo con le formazioni dei calciatori, ma attento che non devi solo sapere chi sono i giocatori della Roma di oggi, ma anche quelli di altre squadre, e magari di squadre del passato (figurati che io ricordo la formazione del Torino quando il loro aereo si era schiantato a Superga con tutti i giocatori a bordo: Bacigalupo, Ballarin, Maroso eccetera). Fai gare di memoria, magari sui libri che hai letto (chi era a bordo della Hispaniola alla ricerca dell’isola del tesoro? Lord Trelawney, il capitano Smollet, il dottor Livesey, Long John Silver, Jim…) Vedi se i tuoi amici ricorderanno chi erano i domestici dei tre moschettieri e di D’Artagnan (Grimaud, Bazin, Mousqueton e Planchet)… E se non vorrai leggere “I tre moschettieri” (e non sai che cosa avrai perso) fallo, che so, con una delle storie che hai letto.

Sembra un gioco (ed è un gioco) ma vedrai come la tua testa si popolerà di personaggi, storie, ricordi di ogni tipo. Ti sarai chiesto perché i computer si chiamavano un tempo cervelli elettronici: è perché sono stati concepiti sul modello del tuo (del nostro) cervello, ma il nostro cervello ha più connessioni di un computer, è una specie di computer che ti porti dietro e che cresce e s’irrobustisce con l’esercizio, mentre il computer che hai sul tavolo più lo usi e più perde velocità e dopo qualche anno lo devi cambiare. Invece il tuo cervello può oggi durare sino a novant’anni e a novant’anni (se lo avrai tenuto in esercizio) ricorderà più cose di quelle che ricordi adesso. E gratis.

C’è poi la memoria storica, quella che non riguarda i fatti della tua vita o le cose che hai letto, ma quello che è accaduto prima che tu nascessi.

Oggi se vai al cinema devi entrare a un’ora fissa, quando il film incomincia, e appena incomincia qualcuno ti prende per così dire per mano e ti dice cosa succede. Ai miei tempi si poteva entrare al cinema a ogni momento, voglio dire anche a metà dello spettacolo, si arrivava mentre stavano succedendo alcune cose e si cercava di capire che cosa era accaduto prima (poi, quando il film ricominciava dall’inizio, si vedeva se si era capito tutto bene - a parte il fatto che se il film ci era piaciuto si poteva restare e rivedere anche quello che si era già visto). Ecco, la vita è come un film dei tempi miei. Noi entriamo nella vita quando molte cose sono già successe, da centinaia di migliaia di anni, ed è importante apprendere quello che è accaduto prima che noi nascessimo; serve per capire meglio perché oggi succedono molte cose nuove.

Ora la scuola (oltre alle tue letture personali) dovrebbe insegnarti a memorizzare quello che è accaduto prima della tua nascita, ma si vede che non lo fa bene, perché varie inchieste ci dicono che i ragazzi di oggi, anche quelli grandi che vanno già all’università, se sono nati per caso nel 1990 non sanno (e forse non vogliono sapere) che cosa era accaduto nel 1980 (e non parliamo di quello che è accaduto cinquant’anni fa). Ci dicono le statistiche che se chiedi ad alcuni chi era Aldo Moro rispondono che era il capo delle Brigate Rosse - e invece è stato ucciso dalle Brigate Rosse.

Non parliamo delle Brigate Rosse, rimangono qualcosa di misterioso per molti, eppure erano il presente poco più di trent’anni fa. Io sono nato nel 1932, dieci anni dopo l’ascesa al potere del fascismo ma sapevo persino chi era il primo ministro ai tempi dalla Marcia su Roma (che cos’è?). Forse la scuola fascista me lo aveva insegnato per spiegarmi come era stupido e cattivo quel ministro (“l’imbelle Facta”) che i fascisti avevano sostituito. Va bene, ma almeno lo sapevo. E poi, scuola a parte, un ragazzo d’oggi non sa chi erano le attrici del cinema di venti anni fa mentre io sapevo chi era Francesca Bertini, che recitava nei film muti venti anni prima della mia nascita. Forse perché sfogliavo vecchie riviste ammassate nello sgabuzzino di casa nostra, ma appunto ti invito a sfogliare anche vecchie riviste perché è un modo di imparare che cosa accadeva prima che tu nascessi.

Ma perché è così importante sapere che cosa è accaduto prima? Perché molte volte quello che è accaduto prima ti spiega perché certe cose accadono oggi e in ogni caso, come per le formazioni dei calciatori, è un modo di arricchire la nostra memoria.

Bada bene che questo non lo puoi fare solo su libri e riviste, lo si fa benissimo anche su Internet. Che è da usare non solo per chattare con i tuoi amici ma anche per chattare (per così dire) con la storia del mondo. Chi erano gli ittiti? E i camisardi? E come si chiamavano le tre caravelle di Colombo? Quando sono scomparsi i dinosauri? L’arca di Noè poteva avere un timone? Come si chiamava l’antenato del bue? Esistevano più tigri cent’anni fa di oggi? Cos’era l’impero del Mali? E chi invece parlava dell’Impero del Male? Chi è stato il secondo papa della storia? Quando è apparso Topolino?

Potrei continuare all’infinito, e sarebbero tutte belle avventure di ricerca. E tutto da ricordare. Verrà il giorno in cui sarai anziano e ti sentirai come se avessi vissuto mille vite, perché sarà come se tu fossi stato presente alla battaglia di Waterloo, avessi assistito all’assassinio di Giulio Cesare e fossi a poca distanza dal luogo in cui Bertoldo il Nero, mescolando sostanze in un mortaio per trovare il modo di fabbricare l’oro, ha scoperto per sbaglio la polvere da sparo, ed è saltato in aria (e ben gli stava). Altri tuoi amici, che non avranno coltivato la loro memoria, avranno vissuto invece una sola vita, la loro, che dovrebbe essere stata assai malinconica e povera di grandi emozioni.

Coltiva la memoria, dunque, e da domani impara a memoria “La Vispa Teresa”.

Umberto Eco

Buon viaggio, Professore. E cerchi di non arrabbiarsi troppo.

Alla ricerca del Backup Perfetto

/images/backup.thumbnail.png

Backup: perché farlo

Da che mondo è mondo, tutto può essere perso. Sia per ragioni accidentali che per ragioni ben ponderate, qualsiasi cosa può essere fatta sparire o può sparire per errore. Quante volte ci sarà capitato di perdere un oggetto e non trovarlo mai più?

Da quando esiste l'informatica, poi, questo concetto si è espanso a dismisura. Mentre è difficile perdere un oggetto, è molto più facile cancellare un file o una informazione dal computer, oppure voler ripristinare una versione precedente.

Molte persone pensano che sia sufficiente garantire che il supporto di memorizzazione sia ridondato, e si è a posto. SBAGLIATO!: un raid senza dubbio aiuta a non perdere tutto in caso di guasto di un disco, ma cosa accade quando il dato viene accidentalmente cancellato, quando viene compromesso per colpa di un virus o di una qualsiasi entità esterna, oppure quando l'elaboratore (raid o meno) viene rubato, o prende fuoco, o una situazione di questo tipo?

Ho collezionato esperienze di ogni genere. Tanto per elencarne alcune:

  • sale server finite sott'acqua per colpa di alluvioni
  • server distrutti dal terremoto, ovvero da crolli murari che hanno investito le sale macchine
  • ransomware vari, che ultimamente colpiscono molto più che in passato
  • danno volontariamente causato da qualcuno che ne ha tutto l'interesse (es: aziende informatiche che, poco correttamente, causano danni per crearsi lavoro. Sì, ho visto anche questo, e non una sola volta, purtroppo. E sto gestendo una situazione del genere proprio in questi giorni.)
  • errori da parte dell'amministratore (può succedere a chiunque)

Se poi parliamo di server esposti su Internet (es: e-commerce, server di posta elettronica, ecc.), la situazione diventa ancor più delicata in quanto oltre che la correttezza dei dati, c'è bisogno di garantire anche la continuità operativa del servizio.

La soluzione migliore, dunque, è avere sempre dei backup a disposizione. Ma quali caratteristiche dovrebbero avere questi backup?

Backup: come farlo

Di strumenti di backup ne esistono moltissimi, ognuno focalizzato su uno specifico elemento. Da suite completissime come Bacula e Amanda, a piccoli strumenti focalizzati solo a delle specifiche necessità.

Nel complesso, non è facile orientarsi nel mondo degli strumenti, open source o a pagamento, per cui la prima cosa da fare è porsi una serie di domande:

"Quanto sono disposto a rischiare? Cosa voglio preservare? Quanto fermo posso permettermi di avere in caso di perdita dei dati? Quanto e quale spazio ho a disposizione?"

La prima domanda è la più delicata, e a volte è sia causa che conseguenza delle scelte tecniche fatte. Alcune persone ritengono che sia sufficiente avere una copia di sicurezza all'interno della stessa macchina che si vuole "backuppare". La scelta può essere semplice & pratica, ma cosa accade in caso di guasto della macchina stessa? Il classico disco USB collegato e su cui vengono copiati i file ogni giorno è a rischio di guasto tanto quanto il resto dell'hardware. E no, non ditemi che il gruppo di continuità assicura l'assenza di sbalzi forti. Ho visto gruppi da migliaia di euro bruciarsi e bruciare tutto ciò che c'è dietro. Con buona pace dell'amministratore che si sentiva al sicuro. Andate pure a chiedere i danni all'assicurazione. Probabilmente i soldi arriveranno, di certo non i vostri preziosi dati.

Il primo passo, quindi, è avere un piano di gestione. Decidere a priori se la bilancia deve pendere di più verso la sicurezza o verso l'economicità.

Il backup più sicuro, infatti, è quello più distante possibile dalla macchina che si vuole mettere in sicurezza.

Questo però crea due problemi: più dati vogliamo tenere in sicurezza, maggiore sarà la necessità di spazio e di banda. Se vogliamo infatti memorizzare su un dispositivo separato, esso dovrà essere collegato (ragionevolmente via rete) al nostro hardware principale e dovrà poter ospitare tutti i dati che dobbiamo preservare. Se tutto ciò potesse avvenire in LAN, non dovremmo avere grossi problemi. Se invece volessimo tenere i nostri backup fuori dalla nostra rete, dovremo fare i conti anche con la connettività. Dunque potremmo decidere di memorizzare meno dati, per garantire una maggior velocità operativa, sia in fase di backup che, a maggior ragione, di eventuale ripristino.

Più sicuro, infatti, non vuol dire più pratico. Se avessi una connessione a 7 MBit/sec e 30 GB di dati nel backup, quanto tempo impiegherei per recuperare tutto in caso di perdita? Posso dunque permettermi un fermo così importante? Se si parla delle foto delle vacanze del 2000, probabilmente sì (a meno di un forte attacco di nostalgia), ma se parliamo di dati importanti che fermano la produttività di un'azienda, siamo sicuri di poter essere così pazienti? E se si parla di una cartella sanitaria?

Proprio per questa ragione, bisogna studiare al meglio la politica di backup più adatta alle proprie esigenze, ricordando che non esiste una soluzione che sia migliore in assoluto.

Backup dell'intero disco o dei singoli file?

Una delle prime domande che dobbiamo porci è proprio questa. Entrambe le soluzioni hanno dei vantaggi e degli svantaggi, elencherò i principali:

Intero disco (o storage)

Vantaggi

  • Facile ripristino completo in caso di perdita dati. Basterà fare un restore dell'intero backup sul disco originale, e tutto tornerà esattamente come prima
  • Spesso la soluzione integrata nei sistemi di virtualizzazione (es: Proxmox), semplice da gestire sia da riga di comando che da interfaccia
  • Sempre nell'ambito della virtualizzazione, ci sono prodotti (es: Veeam Backup) che permettono anche il recupero dei singoli file, consentendo una doppia possibilità.

Svantaggi

  • Su macchine fisiche, sarà praticamente sempre necessario spegnere la macchina per effettuare un backup di questo tipo, interrompendone l'operatività per tutto il tempo di elaborazione.
  • Lo spazio occupato può essere importante, in quanto verranno copiate anche alcune cose di cui potrebbe non importarci nulla.
  • L'operazione può essere lenta, in quanto il disco dovrà essere scansionato bit per bit. In caso contrario e/o con prodotti che utilizzano delle tecniche di analisi del file system per ottimizzare i tempi, la procedura potrebbe fallire in caso di impostazioni del file system in maniera non standard. (es: mi è capitato un cliente con un disco formattato direttamente, senza partizioni dentro. Tutto funziona, ma il Veeam non è in grado di effettuare un backup affidabile (tantomeno un recupero) proprio per questa scelta di configurazione).

In molti casi, questa può comunque essere la soluzione migliore. Oppure essere una base di partenza per avere un quadro completo, a cui poi far seguire dei backup più leggeri. Uno degli strumenti che utilizzo, in questi casi, è l'ottimo Clonezilla.

Singoli file

Qui la situazione si complica. A livello teorico, sembrerebbe la soluzione più semplice e comoda, ma non è sempre così.

Vantaggi

  • Realizzabile anche con utility di base del sistema (tar, cp, rsync, ecc.).
  • Maggior granularità: I singoli file possono essere backuppati, confrontati ai backup precedenti.
  • Possibilità di backup solo dei delta, copiando solo le parti modificate dei file riducendo sia lo spazio di stoccaggio che la quantità di dati da trasferire.
  • Portabilità: i file possono essere singolarmente spostati da un supporto all'altro.
  • Semplicità di ripristino parziale: si può scegliere cosa ripristinare e dove.
  • Possibilità di compressione/deduplicazione a livello di file o di blocco.
  • Possibilità di backup e ripristino senza la necessità di spegnere la macchina.

Svantaggi

  • Le soluzioni più semplici rischiano di richiedere moltissimo spazio di archiviazione.
  • Per un backup completo efficiente, sarebbe opportuno effettuare una snapshot (VSS, in terminologia Microsoft) del file system prima di iniziare la copia.
  • Potrebbero nascondersi delle insidie e restare celate fino al momento in cui si avrà bisogno del backup.

Backup: come lo faccio

Nel complesso, utilizzo entrambe le soluzioni, ovvero backup di macchine complete e di singoli file, a seconda delle necessità e delle situazioni. Le mie scelte, nel corso degli anni, sono state abbastanza costanti. Nello specifico, credo che avere dei backup a massima granularità sia la scelta migliore, anche perché in molti casi mi è capitato di dover recuperare qualche file o una serie di e-mail erroneamente cancellate da qualche cliente distratto.

Nello specifico, credo che un buon backup debba avere alcune caratteristiche di base:

  • possibilità istantanea di recupero, e velocità di elaborazione sufficientemente alta.
  • deve essere esterno.
  • sicurezza - no, non piazzerei mai un backup su Dropbox o Google Drive, ecc.
  • una gestione efficiente dello spazio.
  • compressione e deduplicazione, meglio se effettuati off-line.
  • il sistema deve essere il meno invasivo possibile. Non deve richiedere l'installazione di troppe componenti.

Ci sono varie correnti di pensiero, quelle che dicono che la macchina da backuppare dovrebbe avere accesso diretto al server di backup e quella che dice che è il server di backup a dover contattare i sistemi da mettere in sicurezza. Entrambe le soluzioni hanno i loro vantaggi e svantaggi, ma nel mio caso preferisco che sia il server a contattare i client, e per due motivi ben precisi: 1) a mio avviso è più facile tenere "nascosto" e sicuro un server che lasciare tante porte d'accesso ad esso da tutti i client e 2) in questo modo riesco a programmare i backup secondo una logica ben precisa (es: finito il primo, passa al secondo). Altrimenti diventa più difficile e c'è il rischio che si accavallino troppi backup, saturando le risorse della macchina.

rsync puro

Storicamente ho utilizzato (e lo utilizzo ancora, su alcuni server) uno script fatto da me basato su rsync e su hard link. In pratica, ogni backup parte dal precedente. Se il file non è cambiato, viene semplicemente creato un hard link e non viene occupato spazio ulteriore. Se è stato modificato, viene copiata solo la differenza (grazie a rsync), ma un nuovo file (con lo stesso nome) viene generato sul file system. E così via, giorno per giorno, per tutti i server.

Vantaggi

  • ho sempre una copia completa e immediatamente utilizzabile dei file, per cui il backup è "pronto all'uso". Ripristinabile in qualunque momento, recuperabile su qualsiasi supporto
  • lo spazio utilizzato non è la somma dei backup, ma la somma del primo e del totale dei file modificati. Attenzione: NON delle differenze dei file.
  • semplicissimo da realizzare
  • non richiede altro che rsync e un accesso alla macchina (normalmente, ssh)

Svantaggi

  • se non viene predisposto un sistema di snapshot, i file vengono copiati al volo. Nel caso di un database molto utilizzato, esso sarà inutile in quanto il ripristino genererà dei file non funzionanti
  • inefficiente a livello di spazio: a meno di usare dei file system con deduplicazione integrata (es: ZFS), ogni minima modifica ad ogni file richiederà uno spazio di archiviazione pari alla dimensione del file. Es: se aggiungo una riga ad un database di 10 GB, il backup successivo occuperà 10 GB in più del precedente, in quanto dovrà essere salvata una copia intera del file del database stesso
  • a meno di utilizzo di un file system compresso, tutti i file saranno non compressi

Questa è dunque un'ottima tecnica se si vuole tenere il backup di poche macchine o di macchine non enormi, e se non si vuole avere uno storico troppo ampio.

La mia attuale scelta preferita: BURP

Arrivato dunque al punto di avere centinaia di server (e i miei PC) da archiviare ogni giorno, alcuni anche più volte al giorno, ho dovuto necessariamente trovare un'alternativa più completa e "professionale".

Ho usato per circa un anno l'ottimo storeBackup, che ho integrato con alcuni miei script per centralizzarne il backup, ma l'ho scartato perché richiede che i backup partano appunto dal client stesso, non dal server. Molto efficiente, comunque, ed è una soluzione che consiglio senza riserve.

Ho poi effettuato alcuni test con altri prodotti (Obnam, Attic, ecc.) ma per varie ragioni sono stati scartati (nello specifico, o per la stessa ragione per cui ho abbandonato storeBackup oppure per ragioni di prestazioni). Ho iniziato ad usare BackupPC, soluzione che tutt'ora prediligo quando voglio dare ad un cliente un sistema di backup chiavi in mano, comodo da usare via web e da dimenticare, perché in caso di problemi sarà lui a contattarci e dircelo. BackupPC è una eccellente soluzione, lo utilizzo da più di 10 anni, ma ha il problema che richiede un backup "full" e una serie di incrementali, per cui ogni tanto ci vuole comuqnue un bel backup completo. Il risultato: in rete, può essere pesante o sovraccaricare. Ho dunque deciso di non utilizzarlo più per server interi o da remoto.

Alla fine, sono approdato a BURP, un eccellente sistema integrato. Esso ha soddisfatto quasi tutte le mie aspettative, rispondendo a meraviglia ai requisiti che ho elencato precedentemente:

  • c'è un server, che coordina, e i client. Le chiavi di comunicazione vengono generate al primo contatto, grazie ad una password, e vengono mantenute. I client potranno contattare il server in qualunque momento, ma è il server che decide se e quando il backup può avvenire, e come.
  • il software è piccolo e leggero, e sono riuscito ad installarlo senza problemi su tutti i miei server e relativi sistemi operativi, anche embedded.
  • ha un sistema intelligente di trasferimento: utilizzando la stessa libreria di rsync, copia solo le differenze dei singoli file (e non i file interi). A differenza di rsync, però. è in grado di memorizzare solo i "delta", ovvero le differenze, tra varie generazioni. Tanto per riprendere l'esempio precedente, in caso di aggiunta di una riga ad un database di 10 GB, lo spazio occupato dal backup successivo sarà all'incirca quello della riga.
  • ottimizzazione del backup "off-line": alla connessione del client, esso invierà la lista file. Il server la confronterà con ciò che ha, e chiederà al client di trasferire solo le differenze o i file nuovi. Alla fine, terminata la connessione, il server ottimizzerà il tutto e genererà al suo interno tutte le strutture necessarie, i collegamenti, ecc. Il client, a quel punto, ha già finito il suo lavoro.
  • tutti i dati possono essere compressi e deduplicati. Nella versione 1.x attraverso una utility esterna da loro fornita (che attivo una volta alla settimana), dalla versione 2.x (in sviluppo, non ancora stabile) esso verrà effettuato alla fine dei backup, in automatico.
  • Una comoda interfaccia ncurses (e web, anche se la uso meno) per controllare il tutto.

Da quando ho installato BURP, i miei backup sono diventati rapidissimi, leggeri e con un'ottima granularità. Il sistema si gestisce da solo, aggiungere un client è semplicissimo e arrivano delle comode e-mail che mi aggiornano sulla situazione.

Il supporto Windows è poi eccellente, esegue da solo il VSS delle unità e auto-aggiorna l'app (Windows, appunto) se lo si vuole. Grazie a delle guide reperibili sul sito del progetto stesso, è possibile recuperare un'intera installazione Windows da un backup e permetterne il boot, cosa non sempre scontata quando si decide di fare una copia dei singoli file.

Per concludere, non esiste IL sistema di backup perfetto, ma BURP, almeno per ora e già da circa un anno, è senza dubbio la mia scelta preferita. L'importante è ricordare sempre una regola generale: meglio avere un backup in più che uno in meno.