Browsed by
Category: Italian

Eventi straordinari e siti istituzionali: un rapporto (ancora) tormentato.

Eventi straordinari e siti istituzionali: un rapporto (ancora) tormentato.

Anni fa ho scritto questo articolo (in un momento di frustrazione causata dalla puntuale indisponibilità dei siti istituzionali nei momenti di loro maggiore utilità), nella speranza quantomeno di aprire una linea di dialogo. Ero stato fortunato e questa si era aperta, ma il tutto era stato impacchettato e rispedito al mittente senza troppi complimenti.

Il problema in breve: sono molti i siti informativi, soprattutto in ambito Pubblica Amministrazione, “inutili” e poco visitati per il 99.9% del tempo, che però diventano critici in momenti di particolare interesse. Immaginate ad esempio il censimento della popolazione: ha cadenza decennale e dura due mesi. Durante questa finestra di tempo ogni cittadino userà l’apposito servizio online, ovviamente aspettandosi che tutto funzioni a dovere.

Altro esempio è il portale del Ministero dell’Istruzione: basso carico per gran parte dell’anno, ma quando vengono annunciate le commissioni di maturità, deve essere funzionante, pronto e scattante. Pensate poi al sito dove vengono pubblicati i risultati delle elezioni: utilizzato ogni quattro o cinque anni, diventa il più visitato d’Italia durante le poche ore di scrutinio.

Internet oggi è la fonte primaria di informazione per molte persone: è un dato di fatto che non si può ignorare, ed è necessario dare adeguata importanza alle piattaforme che contribuiscono a questa informazione.

Ne parlavo nel 2011, perchè è stato l’anno in cui i tre servizi sopracitati hanno mancato il loro obiettivo primario: quando servivano, non funzionavano. Se ne era parlato, soprattutto tra gli addetti ai lavori: ci eravamo arrabbiati, ma qualcuno aveva commentato che le soluzioni al problema (che spaziano da questioni molto tecniche come lo sharding dei database e l’elasticità delle infrastrutture a questioni più di buon senso, come una corretta previsione dei carichi) erano molto distanti dal mondo dei “comuni mortali”, e ancor di più dal settore pubblico.

Un punto di vista secondo me contestabile, ma quasi sicuramente con un fondo di verità: al tempo il concetto di “cloud” esisteva da pochi anni, e alcuni vendor dubitavano ancora delle sue potenzialità.

Sembra di parlare della preistoria.

(per non dimenticare: il load balancing manuale delle Elezioni 2011)

Adesso siamo nel 2017: sono passati sei anni dal mio articolo e come alcuni continuano a ripetere, “cloud is the new normal”. Il cloud è la nuova normalità, tutti lo usano, lo scetticismo, se mai c’è stato, è sparito: il tempo ha ormai provato che è una nuova e rivoluzionaria tecnologia e non solo un trend temporaneo o una pazzia di un singolo vendor.

In questi anni, nella nostra PA, sarà cambiato qualcosa?

Alcuni segnali fanno ben sperare: Eligendo ad esempio, il portale delle Elezioni, è esposto tramite una CDN (ma non supporta HTTPS). Altri fanno invece perdere la speranza appena guadagnata: questo mese si è tenuto il Referendum per l’Autonomia della Lombardia – serve che vi dica in che stato era il sito ufficiale durante gli scrutini? Timeout.

Le soluzioni a questo tipo di problemi sono ormai ben conosciute e consolidate: caching estremo, utilizzo di CDN, sfruttamento di infrastrutture scalabili, etc. I costi sono molto bassi e granulari: con una architettura ben studiata, si possono servire tutte le richieste senza sprecare un euro. Fa in un certo senso pensare il fatto che in certi ambienti siano ancora presenti e gravi problemi che l’industria ha risolto già da tempo, come quello dei picchi di carico.

Quali sono quindi i fattori limitanti, quindi?

Non stento a credere ci sia una scarsa comprensione del tema e della sua importanza ai “piani alti” di ogni ente: solo di recente siamo riusciti a mettere insieme una community di sviluppatori e un “team digitale” (composto da professionisti di veramente alto rango) volto a svecchiare il “sistema Italia”.

L’iniziativa sta già portando i suoi primi frutti, ma si tratta di un team per ora piccolo molto focalizzato sullo sviluppo e non sulle operations/mantenimento: il passo per il cambiamento della mentalità generale è ancora lungo. Non è difficile immaginare come una scarsa comprensione del tema porti molto velocemente alla mancanza di interesse e di risorse dedicate – con conseguente frustrazione di quelli che sono i “piani inferiori”.

Un secondo fattore spesso portato (o meglio, trascinato) in gioco è la scarsità di infrastrutture: se questo poteva essere vero una volta, oggi, con l’affermazione delle tecnologie cloud e del concetto di “on demand”, questo smette di essere un punto bloccante. Le infrastrutture ci sono, basta sfruttarle.

Ultimo, ma non per importanza, il discorso “competenze”: non stento a credere come molti fanno notare che sia difficile reclutare personale adatto e che chi si occupa oggi di sistemi nella PA abbia ben altre responsabilità e quindi ben altre basi. Ritengo però non si possa ignorare il fatto che al giorno d’oggi il concetto di “as a service” (servizi managed se volete chiamarli con un nome forse più familiare) rimuova buona parte di questo problema, e che l’immensa offerta di training e relativa facilità di sperimentazione renda estremamente facile la coltivazione delle skills mancanti.

Può servire tempo, ma da qualche parte bisognerà pur partire. Molti IT manager e sistemisti sono lì fuori pronti, a fare il passo: hanno solo bisogno di essere ispirati.

Ispiriamoli, no?

La Generation Y e l’Analfabetismo Funzionale

La Generation Y e l’Analfabetismo Funzionale

Ho 24 anni compiuti da poco e ho la fortuna di vivere e lavorare in un contesto aperto, globale, di quelli in cui non si smette mai di crescere: lavoro ogni giorno a fianco di inglesi, israeliani, americani, argentini, malesiani e molti ancora, e ho relazioni personali con ragazzi/e di una gamma ancora piu’ vasta di nazionalita’.

millennial

Si tratta di persone che hanno girato il mondo, che vivono in ambienti altamente competitivi, persone che per seguire i propri sogni e obiettivi si sono trasferite anche a decine di ore di volo dai posti dove sono cresciute e dove hanno famiglie, amici e legami. Persone che si sono spinte sempre oltre i propri limiti, dal collega argentino seduto di fronte a me, alla mia (ex?) ragazza siberiana, che, cascasse il mondo, ogni 3 mesi torna a casa dalla mamma almeno per un weekend.

Persone che attraverso percorsi differenti sono arrivate a sedere di fianco a me o a far parte della mia vita, persone come me che sanno di essere solo ad uno step intermedio, perche’ non bisogna mai smettere di crescere e di alzare la barra. Persone che hanno sempre fatto scelte forti sapendo benissimo che avrebbero dovuto pagarne prezzo e conseguenze molto prima di vederne, in lontananza, i risultati.

Faccio parte di quell’ala della Generation Y che non smette mai di correre, che pretende di far girare il mondo a suo piacimento ma che ha anche imparato a viverci, quell’ala della Generation Y che prova, instancabile, a dare un senso a tutto il resto.

Siamo quell’ala che mai si ferma, che fa della crescita e del miglioramento continuo lo scopo della sua esistenza, la GenY che sposta sempre la linea del traguardo qualche metro piu’ in avanti rispetto a dove deve arrivare, la Generation Y che cerca dei miti e degli esempi di vita non per poterli seguire e venerare ma solo per poterli superare.

Siamo i Millennials mai contenti, siamo quelli che anche quando raggiungono una meta non sentono di essere arrivati, perche’ ancora prima di raggiungerla iniziamo a pensare a quella successiva. Siamo quelli che non puoi chiudere in una stanza, un paese o in uno stato, perche’ le barriere ci fanno stare male, e perche’ vogliamo sempre andare oltre quello che abbiamo.

Il viaggio e la distanza sono fondamentali. Sono circondato da persone che non hanno mai dato importanza al proprio “orticello”, che se ne sono andate e che magari poi sono anche tornate, ma che comunque hanno avuto la forza, o forse il coraggio, di staccarsi da quello che avevano e in cui, tutto sommato, stavano bene.

Ognuno di questi a modo proprio si e’ scontrato con il mondo: chi lavora in un mercato globale dove per sopravvivere non basta essere tra i migliori del quartiere, bisogna essere tra i migliori del mondo, chi ha superato test di ingresso e graduatorie allucinanti contro ragazzi provenienti da ogni parte del pianeta per entrare in una universita’, chi semplicemente ha preso e se ne e’ andato, cercando una vita nuova.

C’e’ una barra tra questo tipo di persona e tutto il resto: riflettendoci, nella mia vita questa barra credo di averla superata all’inizio del liceo. Ho frequentato un istituto che ci era stato presentato come l’inferno, dove bisognava correre e studiare o si rischiava di rimanere fuori dai giochi, e forse questa e’ stata la chiave: chi si e’ ritrovato li’ con me aveva gia’ fatto una scelta, si era gia’ spinto oltre. Aveva rischiato.

Vi assicuro che ne stiamo raccogliendo risultati, dal primo all’ultimo. Chi li raccoglie gia’, chi sta per iniziare a farlo, chi deve forse ancora convincersi e aprire gli occhi per vederli.

Sotto questa barra non ci sono mai piu’ voluto tornare, nemmeno come turista, perche’ c’e’ anche la parte che e’ rimasta sotto. Quelli che hanno fatto scelte a breve termine, quelli per cui essere liberi tutti i pomeriggi era piu’ importante di ogni altra cosa. Quelli che non si staccano dal loro contesto locale, perche’ e’ li’ che spadroneggiano e sanno benissimo di non essere in grado di spostarsi, perche’ per raggiungere la stessa posizione in qualunque altro posto dovrebbero confrontarsi con il mondo intero.

Sono anche quelli che alle elementari hanno imparato a leggere dopo tutti gli altri, e che in terza media ancora non sapevano leggere una pagina senza incastrarsi o balbettare. Quelli che, insomma, si sono accontentati e che continuano a farlo, guardando con disprezzo chi e’ andato oltre, nella convinzione che se loro non ci possono arrivare, allora non puo’ farlo nessuno e deve sicuramente esserci un trucco da qualche parte.

Il problema, e’ sociale e non personale: perche’ chi rimane sotto non sviluppa capacita’ di giudizio, di analisi, e spesso manca anche delle capacita’ basilari di comprensione necessarie a vivere in questo periodo storico. Vive da schiavo facilmente controllabile in un periodo dove le idee sbagliate uccidono (gli altri), periodo dove ci sono persone, e macchine, che stanno imparando ad usare le folle di ignoranti a loro favore. Non riuscire a giudicare quello che succede nella vita quotidiana diventa in breve tempo un grave rischio: i mezzi che oggi sono disponibili a chiunque permettono di esprimere opinioni troppo alla leggera, e rendono molto semplice la raccolta di adepti e di schiavi degli schiavi. Creando nuovi branchi.

Si chiama Analfabetismo Funzionale. I sociologi lo hanno correlato a crimine, uso di droghe, basso reddito e in generale basso livello di soddisfazione. L’analfabetismo funzionale crea masse, masse facili da controllare e da usare a piacere. Dobbiamo di nuovo imparare a difenderci dai branchi.

Fortunatamente, c’e’ una gran parte della generazione che ne sta portando alto il nome nel mondo.

Non guardate sotto la barra, guardate sopra.

No, non mi occupo di cosmetici.

No, non mi occupo di cosmetici.

Sembra ci sia un tale Giorgio Bonfiglio che sta contattando persone online offrendo un lavoro a domicilio consistente nel confezionare cosmetici. Chiede una cauzione di 35€ da pagare tramite ricarica Postepay per l’invio del primo pacco di materiale, e ovviamente ricevuta questa cauzione non spedisce il pacco.

Ho fatto varie ricerche, e sembra se ne parli solo su questo sito, nei commenti. Il mio simpatico omonimo non sembra nuovo a queste attività: leggo che è già stato arrestato una decina di anni fa per aver sparso in giro una certa quantità di assegni falsi.

Il problema non è tanto il caso di ominimia, quanto il fatto che io, per chi cerca su Google quello che è anche IL MIO nome, occupo quasi tutta la prima pagina di risultati. Trovare i miei recapiti poi è facilissimo. Ho ricevuto una telefonata, e sono centinaia le persone che sono entrate su questo blog con keyword legate a questi avvenimenti: non me ne ero reso conto, ci sono arrivato solo a posteriori.

Sia chiaro a tutti: quello non sono io. Mi occupo di engineering di infrastrutture, non sono un odontotecnico. Nel 2003 non avevo 48 anni, e soprattutto non ho la passione dei cosmetici.

Mettetevelo in testa.

Design for failure

Design for failure

“Scusa ma non siamo capaci di offrirti la stabilità di cui hai bisogno, potresti pensarci tu?”

(Anonimo Cloud-Eretico sul Design for Failure)

C’erano una volta… gli sviluppatori, e le applicazioni. Gli sviluppatori si concentravano sul codice, dando per scontata la stabilità e la scalabilità dell’infrastruttura sottostante: usavano query SQL indescrivibili, ed era compito del sistemista farle girare velocemente, scrivevano codice senza gestione delle eccezioni perchè era compito del sistemista far si che quel determinato database server fosse sempre disponibile e non restituisse mai errori. Scrivevano software impossibile da distribuire su più macchine perchè tanto il sysadmin, in qualche modo, avrebbe fatto.

La colpa di ogni rallentamento o malfunzionamento di chi era? Del sistemista. Questo ha portato chi si occupa di infrastrutture a progettare soluzioni sempre più avanzate per far sopravvivere l’applicativo alle più inimmaginabili catastrofi, senza che questo subisse mai malfunzionamenti. Qualunque disgrazia fosse accaduta alle macchine che la servivano, l’applicazione sarebbe dovuta rimanere in piedi e funzionante.

Va detto che ci siamo (quasi) riusciti. Grazie alla virtualizzazione siamo arrivati a creare quello che è a tutti gli effetti hardware indistruttubile: la macchina fisica è diventata virtuale e quella virtuale sappiamo muoverla tra diversi nodi senza spegnerla, al solo costo di qualche millisecondo di freeze.

Abbiamo così creato piattaforme che astraevano quasi completamente la complessità sottostante, usando processori virtuali che restavano disponibili anche se quelli fisici prendevano fuoco e dischi virtuali che continuavano a servire dati anche se l’intero rack di storage veniva rubato dagli alieni.

Questa soluzione non era però ottimale: la replica sincrona, per esempio, era possibile solo in ristretti contesti geografici. Il costo di queste soluzioni era spesso proibitivo, e la loro complessità alta e non necessaria. Queste strutture, per quanto immortali potessero essere, erano sempre sotto la stessa autorità amministrativa. Tutto per non dare agli sviluppatori un compito in più: gestire la disponibilità dell’applicazione.

Screen Shot 2014-01-28 at 20.58.15

(Anonimo Cloud-Eretico che non ha compreso il ‘Design for Failure’)

Poi è arrivata una nuova generazione di developers: sviluppatori che volevano più controllo, volevano poter decidere come l’applicazione avrebbe reagito a malfunzionamenti dell’infrastruttura, e soprattutto si rifiutavano di pagare al fornitore complessi meccanismi di failover perchè… non ne avevano bisogno. Sapevano fare di meglio e sapevano farlo in modo più economico ma soprattutto più effettivo, più semplice.

Questi sviluppatori non chiedevano più a chi vendeva infrastrutture hardware immortale, chiedevano semplicemente del ferro: di qualunque tipo, prestazioni, forma, colore e dimensione, ed in ogni luogo. Si sarebbero occupati loro di inoltrare meno richieste ai processori meno potenti, di tenere in RAM i dati se i dischi della macchina erano troppo lenti. Si sarebbero curati loro di evitare di interrogare un database server che non rispondeva più ai comandi.

Volevano occuparsi, soprattutto, delle azioni di disaster recovery nel caso in cui un intero datacenter fosse andato a fuoco. Perchè nessuno meglio dello sviluppatore può sapere come deve reagire una applicazione a determinati eventi e di cosa questa ha bisogno.

Hanno poi iniziato a chiamarlo ‘Design for Failure’. La disponibilità non è più compito di chi gestisce l’infrastruttura: è l’applicazione ad esser progettata per far fronte a ogni evento o disgrazia, e la struttura sottostante fa solo il sollevamento pesi.

Nel modello ‘Design for Failure’ ognuno fa il suo lavoro: lo sviluppatore conosce l’applicazione e si occupa di farla funzionare, il gestore dell’infrastruttura si occupa delle prestazioni ma non si infila più in infiniti tunnel senza uscita per garantirne la disponibilità. Tutti risparmiano, perchè è tutto più semplice, con meno sovrapposizioni. Tutti vincono: perde solo chi non ha voglia di innovare.

Ecco perchè questo modello non è un fallimento, come tanti lo descrivono: è il futuro.

Le cose che non sono.

Le cose che non sono.

Ho sempre risposto a tutte le email ricevute, ma recentemente la cosa è un po’ degenerata: ricevo richieste e proposte davvero fuori dal mondo, e questo mi fa perdere un mucchio di tempo (che non ho). Voglio continuare a rispondere a tutti come ho sempre fatto, e questo post, spero, mi salverà dalle 3/4 mail inutili che sono costretto a gestire ogni giorno: spero chiarisca definitivamente cosa sono e cosa faccio, ma soprattutto cosa non sono e cosa non faccio.

Andiamo con ordine.

Primo: Non sono un giornalista e questo non è un sito di news. Non scrivo recensioni sul mio blog ormai da anni e ho cancellato tutti i vecchi articoli. Non chiedetemi se sono disposto a scrivere del vostro servizio su questo sito, dietro compenso o meno. La risposta è e sarà sempre un “no”. Lo stesso dicasi per gli articoli a pagamento in genere. Questo è un blog personale: tecnico, autorevole quanto volete ma pur sempre personale e deve rispecchiare le mie idee e opinioni, senza nessuna sollecitazione esterna.

Secondo: Non sono neanche un PR, quindi per favore non contattatemi chiedendo di testare o usare il vostro servizio affinchè poi possa parlarne in giro o proporlo a qualcuno (mi sono anche sentito chiedere “se ospito il tuo blog sul mio nuovo hosting strafigo, quanti clienti/anno riesci a portarmi?”): non sono interessato a questo tipo di offerte.

Terzo: Quello che invece sono, è un consulente, con un forte background sui sistemi UNIX, sulle infrastrutture di hosting e sul cloud computing in genere (dettagli). Se avete lanciato un nuovo servizio che rientra nelle mie aree di competenza e volete il mio parere, sarò felice di darvelo (dietro compenso o meno, in base a quanto io sia personalmente interessato alla cosa). Tutti i servizi che valuto e che imparo ad usare entrano nel mio bagaglio personale e quindi è possibile io in futuro li utilizzi o li proponga a qualcuno, ma ricordate sempre che, come da secondo punto, mi state pagando per svolgere una analisi, non per farvi pubblicità.

Quarto: Non sono un webdesigner, non so dove lo abbiate letto, quindi fate in modo di non chiedermi più di fare siti web: non ne sono capace. Avete presente la pagina di default di Apache? Ecco, io sono a quei livelli. Quello che posso fare è mettervi in contatto con persone con cui collaboro e di cui mi fido, che al contrario di me i siti li sanno fare. Non fate quindi gli offesi se vi dico che non sarò io ad effettuare il lavoro.

Quinto: Non faccio hosting: no, non ce l’ho uno spazio per ospitare il vostro sito. Come per il quarto punto, posso mettervi in contatto con persone / società con cui collaboro e che fanno hosting, ma non me ne occuperò direttamente. Faccio il sistemista, quindi si, se vi serve qualcuno che progetti e gestisca una struttura dedicata per ospitare il vostro sito, potete contattarmi.

Sesto: Non offro consulenze gratuite travestite da consigli: non basta che nella mail che mi scrivete sostituiate la parola “consulenza” con la parola “consiglio” perchè un complesso lavoro retribuito diventi un atto di beneficienza. Amo gli scambi di sapere con i miei “parigrado”, e ritengo il dialogo e la condivisione fondamentali in questo ambiente. Ma se mi state contattando perchè io vi aiuti in una scelta o perchè io dall’alto vi risolva un problema, non c’è nessuna condivisione, il trasferimento di informazioni è unilaterale e che lo chiamiate “consiglio” o “consulenza”, si tratta di un lavoro che deve essere retribuito. Non fatevi ingannare dal tempo che impiego per dare una risposta: se mi viene chiesto quale software io ritenga più opportuno per creare una struttura di private cloud, la risposta consiste in circa 12 lettere. Pur essendo vero che si scrivono in 4 secondi, per arrivare a quella risposta che si basa sull’esperienza ho dovuto spendere una enormità di soldi, tempo e risorse in genere, che in qualche modo devono rientrare.

Settimo: Non sono un senzatetto. Sono sempre interessato a offerte di lavoro o anche a richieste di collaborazione non retribuite in vari tipi di progetti, ma per favore evitate di farmi perdere tempo con proposte ridicole come “Ciao, per 50€ mi installeresti un server di posta?”: per certe cifre, semplicemente non ne vale la pena e preferisco usare quel tempo per riposarmi.

Scusate la freddezza.

Era necessaria.

Giorgio

%d bloggers like this: