di 

Infrastruttura digitale

Mef, quali strategie per monitorare le performance delle infrastrutture software

Per realizzare un monitoraggio completo occorre avvalersi, dal punto di vista tecnologico, di strumenti adeguati e, dal punto di vista organizzativo, di personale in grado di usarli a pieno. Ecco l'esperienza del Mef

Foto di James Lee rilasciata in cc - https://flic.kr/p/aznZk3

I modelli organizzativi e di fornitura dei servizi software assumono aspetti e assetti sempre più variegati. I soggetti che concorrono alla erogazione di un unico servizio possono essere molteplici e diversamente correlati tra loro. La fornitura di soluzioni software, sia nell’ambito privato sia nell’ambito pubblico, non segue più un approccio monolitico, ma modulare e dinamico, e in questo panorama la Governance dei Sistemi Informativi assume un ruolo di crescente rilevanza strategica e operativa.

Gli strumenti di controllo, ad ampio spettro, costituiscono l’operatività chiave a beneficio della Governance. I soggetti che rivestono un ruolo di Governance nei servizi hanno il dovere di dotare le proprie organizzazioni di strumenti adeguati al controllo, sia esso sui fornitori, sui collaboratori, sulle spese, o sulle prestazioni del servizio erogato.

Tali strumenti devono anche essere adeguatamente supportati dal contesto contrattuale che regolamenta la Governance e i risultati attesi dal controllo. È buona regola definire dei KPI (Key Performance Indicators, indicatori prestazionali) e le relative soglie che permettano di distinguere un andamento soddisfacente da uno insoddisfacente, e di conseguente le relative penali contrattuali.

Nella Governance di un Sistema Informativo e in particolare dei servizi che questo eroga all’utenza, il monitoraggio dell’andamento di tali servizi dovrebbe mirare al rilevamento di almeno due tipi di misurazioni: la disponibilità e la performance. La disponibilità rileva la possibilità o meno di accedere al servizio da parte dell’utente. Nel caso di servizi informatici la disponibilità può tradursi ad esempio nella raggiungibilità o irraggiungibilità del sito web, dell’impossibilità di login, o di raggiungere alcune sotto-funzionalità che sono parte integrante dell’offerta all’utente. La performance invece può essere rilevata in termini di tempi di risposta delle funzionalità o dei servizi.

Questi due fattori, sebbene apparentemente similari, sono complementari nella quantificazione della qualità del servizio offerto. Un servizio può essere allo stesso tempo disponibile ma estremamente lento nelle risposte all’utente, così come può essere temporaneamente indisponibile (es. sospeso esponendo una “pagina di cortesia”), ma estremamente rapido nella risposta (dover mostrare una pagina statica di cortesia è meno impegnativo rispetto a mostrare la pagina del servizio).

Per realizzare un monitoraggio completo occorre avvalersi, dal punto di vista tecnologico, di strumenti adeguati e, dal punto di vista organizzativo, di personale in grado di usarli a pieno. I due principali approcci al monitoraggio realizzato dagli strumenti sono passivo e proattivo. Il monitoraggio passivo consiste nella rilevazione delle operazioni realmente svolte sulle applicazioni o sui sistemi; può ad esempio rilevare il traffico reale sugli apparecchi di rete. Questo tipo di monitoraggio richiede un maggiore intervento sui sistemi o sugli applicativi, per installare le cosiddette sonde (software o hardware) che trasmettano i dati di monitoraggio grezzi al server centrale per le elaborazioni. Il monitoraggio proattivo invece prevede che alcuni software automatici (anche in questo caso chiamate sonde), simulando l’esperienza di un singolo utente, utilizzino in maniera ripetitiva le specifiche funzionalità da monitorare e registrino l’esito di ciascuna operazione, inviandolo anche in questo caso ad un server centrale. Nel monitoraggio proattivo quindi la macchina si sostituisce all’utente umano che controlla se “il servizio è su” (è disponibile e funziona), in quanto il software riproduce proprio l’azione dell’utente, memorizzando i dati salienti dell’operazione (es. schermate di errore).

Vale la pena sottolineare la differenza tra i due approcci di monitoraggio: nel caso del monitoraggio proattivo si hanno dei risultati di immediata lettura e un intervento nullo sul software originario e sui relativi sistemi; tuttavia le rilevazioni sono “singole” e non sono frutto dell’analisi del traffico reale, per cui ad un disservizio rilevato sul sistema di monitoraggio proattivo non per forza corrisponde un disservizio generalizzato all’utenza. Viene sicuramente in aiuto la possibilità di installare un maggior numero di sonde (visto il basso impatto sui sistemi), magari geograficamente sparse, in modo da avere più rilevazioni che transitano da punti di accesso differenti. Nel caso del monitoraggio passivo invece, come detto, l’impatto sui sistemi in fase di setup è maggiore (le sonde vanno installate sui sistemi o devono essere componenti applicativi del servizio monitorato); allo stesso tempo i dati proposti per le analisi sono molto ricchi ed articolati, e presuppongono una maggiore capacità di lettura. Inoltre il monitoraggio passivo potrebbe avere meno tempestività nella rilevazione di un malfunzionamento, ma maggiore probabilità di rilevazione corretta e un inferiore tasso di falsi positivi. I due approcci non sono affatto esclusivi, piuttosto è corretto vederli come complementari ai fini di un monitoraggio a trecentosessanta gradi.

Gli strumenti di monitoraggio sono fondamentalmente dei software parametrizzati, in cui è possibile assegnare gradi di criticità differenti a specifiche categorie di eventi, così da catalogare differentemente i problemi (al fine di assegnare la corretta gravità agli errori rilevati) e soglie oltre le quali è necessario generare delle notifiche automatiche verso i responsabili del processo di monitoraggio per metterli a conoscenza della criticità rilevata. L’automatismo del processo tuttavia non può e forse non deve spingersi troppo oltre, in quanto basandosi su semplici meccanismi di soglia può essere determinante l’intervento umano per l’interpretazione degli strumenti e di dati che non sono semplicemente leggibili da un software, a meno di un opportuno machine learning che non è però spesso offerto dagli strumenti. L’intervento umano è specialmente importante nell’analisi del monitoraggio passivo, in quanto la conoscenza delle architetture software e hardware, così come delle configurazioni applicative e di sistema, può essere determinante nell’individuare problematiche laddove lo strumento non può determinarle, così come nello scartare falsi positivi.

Gli owner operativi del processo di monitoraggio giocano quindi un importante ruolo nell’informazione di tutti gli stakeholder individuati come destinatari interessati delle comunicazioni di malfunzionamento all’interno della struttura organizzativa. Una maggiore informazione alimenta un processo virtuoso di miglioramento e soprattutto una Governance più consapevole delle risorse IT.

Nel corrente anno la Direzione dei Sistemi Informativi e dell’Innovazione del Ministero dell’Economia e delle Finanze si è dotata di due software per il monitoraggio (proattivo e passivo), e ha organizzato al proprio interno i flussi e i processi necessari per gestire l’informazione tra il gruppo operativo di monitoraggio, i gruppi di gestione applicativa e gli stakeholder interni (Dirigenti e Uffici). I driver che guidano l’interesse verso il monitoraggio sono: rendere l’intera organizzazione pronta ad una tempestiva attività di analisi e di problem determination e, vista la mole di utenze gestite (si considerino i circa 2 milioni del portale NoiPA), minimizzare i disservizi all’utenza nell’ottica finale di migliorare la Customer Satisfaction.