Articoli per settembre 2016

La nuvola e le operazioni per secondo

Ho iniziato a lavorare nella mia posizione corrente esattamente due anni fa, il primo Settembre. Da allora la ditta è ingrassata, l'ufficio è passato da un paio di appartamenti riconvertiti ad un lussuoso (e rumoroso) open plan, e l'elenco delle mie responsabilità si è allungato.

Così per celebrare, oggi sono rimasto sul fronte fino alle 9 di sera. Seduto accanto a Devops, abbiamo combattuto contro la nuvola ed infine scelto una ritirata strategica. Ed acceso un antico Sun SPARC da qualche parte nella città, da remoto, via LOM accessibile solo da una porta seriale RJ-45, ma quella è un'altra storia.

Tutto è cominciato con l'aggiunta di un semplice disco in produzione. I nostri clienti accumulano dati e mese dopo mese i dati caricati sono sempre più di quelli archiviati. È venuto così il momento di aggiungere spazio sui server. Nulla di più facile ora che viviamo nel futuro della nuvola!

Nei giorni scorsi abbiamo cliccato qua e la nel pannello di amministrazione della nuvola, aggiunto costosissime volumi SSD per tutte le regioni che copriamo, cominciato a passare i dati sulle nuove partizioni. Arriva oggi il momento di scambiare i dischi in uso, fare un ultima sincronizzazione dei dati, ed andare a casa appena dopo le cinque. Questo almeno in teoria.

Asia e Pacifico non hanno nessuno problema, le Americhe fanno il passaggio senza dolori, e mentre l'ufficio inizia a svuotarsi all'orario di chiusura ci accingiamo quasi annoiati a fare il passaggio per i server in Europa. Ferma processi, copia copia, smonta, monta, sposta link. Ci vuole più di una mezz'ora perché tutti gli ingranaggi si arrestino, i pezzi del rompicampo vengano scambiati, oliati, e rimessi in movimento. Tutte le lucine verdi si riaccendono come previsto, e la normale replica dei dati si riavvia. Ma non finisce nei soliti 4 minuti.

E non finisce in 10 minuti. Ci scambiamo sguardi pieni di sospetto, troviamo nervose scuse per la lentezza.

Attorno ai 15 minuti, nulla è cambiato. Terminali pieni di log scrollano su almeno sei schermi. I dati stanno muovendo, tutto sembra normale. Solo... al rallentatore?

La replica si completa dopo 21 minuti. Altri due processi in coda hanno rifiutato di avviarsi. Imprecazioni di tre lingue commentano grafici con picchi insensati. Riguardiamo tutta la configurazione, tutti i passi fatti, il carico di rete, i load balancer. Gli unici numeri fuori posto sono quelli di un nuovo, costosissimo SSD. Un disco a stato solido moderno potrebbe fornire un milione di operazioni per secondo; uno di 8 anni fa dovrebbe fornire 5000 operazioni per secondo. Il nostro non vuole darci più di 500 operazioni per secondo.

La nostra applicazione ha bisogno di minimo 2000 iops. Un carico sensato che non è mai stato un problema. Scendi sotto questa soglia e vari pezzi rallentano, dati non sono dove devono essere nel momento giusto, componenti non rispondono in tempo. A 500 iops stiamo guardando la moviola.

Corriamo ai ripari, spegniamo pezzi, disattiviamo cose inutili, cerchiamo di ridurre gli accessi a disco in modo che le componenti importanti riescano a muoversi alla velocità giusta. Non c'è speranza, il disco ha una latenza di 20ms, quattro volte un disco a piatti.

Sono quasi le otto quando decidiamo per la ritirata strategica: riportiamo i dati sul disco originario (pieno al 92%), riallineamo tutti gli ingranaggi, rioliamo tutto e di più. Il mondo torna a muoversi a velocità normale. Accanto all'orgogliosa icona dell'SSD, nel pannello di amministrazione, la bolletta sale. Lenta, lentissima come il volume stesso, ma inesorabile.

La nuvola ci ha dato un disco finto, la nuvola se lo riprenderà. Per poi darlo a qualcun'altro, magia dell'allocazione dinamica.

The Improbability Principle

David Hand, 2014

Capita ogni tanto che qualcuno mi suggersica di leggere un libro nel modo più diretto possibile: dandomelo in mano. È successo di recente nello stesso ufficio dove gli SSD vanno a manovella, con questo libro a proposito di eventi improbabili e del loro presentarsi più spesso del previsto.

Chi ha letto un paio di libri della serie Discworld avrà incontrato uno dei motivi ricorrenti: se la storia lo richiede, l'impossibile avviene al momento giusto.

“Scientists have calculated that the chance of anything so patently absurd actually existing are millions to one. But magicians have calculated that million-to-one chances crop up nine times out of ten.” da “Mort”, di Terry Pratchett

E se sul Mondo Disco questo è dovuto alla narrative causality, in realtà bastano pezzi di statistica, matematica e psicologia, per mostrare come coincidenze ed eventi improbabili siano perfettamente normali. Siano essi strani risultati con i dadi, i numeri della lotteria, o fulmini che cadono nel posto sbagliato.

Dal un lato (quello numerico) gli esseri umani sono assai imbranati quando cercano di calcolare le probabilità di un evento: non si accorgono della moltitudine di combinazioni valide, allargano o restringono il concetto di "evento" senza ricalcolarne la frequenza, cambiano idea dopo aver compilato statistiche.

Dall'altro, ci sono così tante persone su questo pianeta, e così tanti momenti giorno dopo giorno, anno dopo anno, che anche l'avvenimento più improbabile ha sufficienti occasioni di presentarsi. Vincere alla lotteria è un evento raro, ma che qualcuno al mondo vinca una delle tante lotterie estratte, capita quasi una volta alla settimana.

Il libro si dilunga un filo se avete già fondamenta di probabilità, ma resta sempre interessante, portando esempi ed episodi simpatici e collegamenti scientifici che all'inizio non ti aspetti. Vedremo se la prossima volta che lancerò un dado riuscirò a guardarlo diversamente, con l'attenzione ed il rispetto che si merita.

R'Lieh compie 13 anni

Alcuni potrebbero non sapere che negli anni ho scritto e postato "cose" (termine assai preciso in questa occasione) su altri siti. Fra i tanti, quello su cui sono stato più attivo è di certo R'Lieh. Una volta pubblicavo di frequente, ma negli ultimi anni la vena scrittoria si era esaurità sia qua che la.

Come tradizione, per il compleanno di R'Lieh ho scritto due righe a proposito di blog, reti sociali e web che cambia. Andatele a leggere, si sentiranno meno sole!

Tre volte all'alba

Alessandro Baricco, 2012

Sono in Italia per un paio di settimane, ferie da lungo meditate che si allineano a fagiolo con gli ultimi giorni sul lavoro. Mi fermo davanti ad uno scaffale di cui conosco la maggior parte dei libri, ma “Tre volte all'alba” mi salta all'occhio. È nuovo, oppure l'ho dimenticato? Di certo non l'ho letto, e non ne so niente.

È assai sottile e lo prendo in mano senza calcolare il rischio del mio gesto. Il passaggio stampato sulla terza copertina attira la mia attenzione.

Guardi fuori, è già l'alba. [...] È la luce giusta per tornare a casa. [...] Non c'è luce migliore per sentirsi puliti. da “Tre volte all'alba”, di Alessandro Baricco

Leggo rapidamente l'introduzione, sfoglio oltre, e la nota che precede l'inizio del libro cementa il mio interesse:

Queste pagine [...] raccontano [...] di due personaggi che si incontrano per tre volte, ma ogni volta è l'unica, e la prima, e l'ultima. Lo possono fare perché abitano in un Tempo anomalo che inutilmente si cercherebbe nell'esperienza quotidiana. da “Tre volte all'alba”, di Alessandro Baricco

Sia muoversi all'alba che le stranezze temporali sono fra i miei argomenti favoriti, quindi la curiosità scatta sopra la soglia di lettura immediata.

Leggo le tre brevi storie di cui il libro è composto in tre sere successive. Sono perfette per chiudere la giornata. Un incastro escheriano inizia a prendere forma nella seconda, e si chiude con una soddifacente simmetria nella terza. Proprio come descritto il Tempo è anomalo, senza pretesa di spiegazione. Ma nessuna è necessaria perché l'intreccio abbia solidità e struttura.

Un libro breve che mi ha lasciato tre storie, o forse una, su cui rimuginare ancora un poco. Di più non dimandate, ma se vi capita sotto mano, dedicategli il Tempo che si merita.