Le soluzioni APM sono state protagoniste negli ultimi anni di una grande trasformazione, abilitata principalmente da due elementi, la cui combinazione ha un grande effetto moltiplicatore in termini di risposta alle esigenze delle aziende: la dirompente innovazione tecnologica derivata dall’introduzione di tecniche di intelligenza artificiale e l’evoluzione sempre più pervasiva dell’automazione dei processi.
A partire dagli anni ’90, l’evoluzione delle soluzioni di monitoraggio e misurazione delle performance può essere suddivisa in 4 grandi momenti che ricordiamo qui brevemente:
- System performance management (1993-1999): è una misurazione esclusivamente tecnica delle performance e si consolidano sul mercato le suite di ITSM (IT System Management) fondamentalmente basate su ITIL;
- 1° generazione di soluzioni APM (2000-2006): si inizia a ragionare con la logica degli SLA per monitorare e misurare le prestazioni delle applicazioni; si tratta ancora di metriche di tipo tecnico e per una fruizione web limitata al browser desktop.
- 2° generazione di soluzioni APM (2006-2014): con la diffusione di device smart in mobilità cambia la modalità di fruizione delle applicazioni che si affianca a una crescente complessità ed eterogeneità dell’infrastruttura tecnologica (virtualizzazione, cloud ecc.); inizia a diffondersi la collaborazione dei team DevOps. Grande movimento tra i player con M&A e nascita di nuovi vendor con soluzioni che, attraverso lo sviluppo di specifici componenti, cercano di dare una risposta adeguata, seppur frammentata, al contesto.
- Digital performance management (2015-oggi): le performance delle applicazioni sono influenzate da un’infinità di variabili e la fruizione di servizi o prodotti da parte dei clienti non si caratterizza per l’utilizzo preferenziale di un canale, ma si sposta dall’uno all’altro: via web, con app, in mobility e a tutto ciò si aggiunge l’universo dell’IoT. Non ha più senso distinguere tra mobile APM e APM generico; la misurazione delle performance deve avvenire end-to-end su tutto il percorso dell’applicazione da quando viene sviluppata a quando viene fruita.
“La terminologia APM – dice Daniela Rao, Senior Director Research & Consulting di IDC Italia (vedi articolo APM, le caratteristiche di un mercato in forte crescita) – viene utilizzata dai vendor per un’ampia gamma di software che comprende soluzioni di monitoraggio, test, reporting e analisi per consentire la visibilità sullo stato di salute delle applicazioni e sull’esperienza degli utenti finali. Quello che i vendor vogliono sottolineare è lo sforzo compiuto per distanziarsi da sistemi più tradizionali e strumenti di gestione della rete incentrati sul monitoraggio della salute e dello stato di specifici componenti hardware o software, ma che non forniscono una prospettiva end-to-end o un contesto aziendale. IDC definisce APM un mercato che rappresenta segmenti di diversi mercati funzionali: gestione delle prestazioni; gestione eventi IT e log; gestione della rete; automazione della qualità del software”.
Who's Who
Daniela Rao
Anche per questo approfondimento tecnologico, oltre a basarci su studi di diverso tipo, abbiamo intervistato alcuni vendor per delineare un quadro il più possibile completo delle caratteristiche delle soluzione APM di oggi.
Le metriche del “nuovo” APM: una combinazione di tradizione e innovazione
Who's Who
Bruno Teuber
“Negli ambienti statici tradizionali – spiega Bruno Teuber, Senior Vice President, EMEA Enterprise Sales di New Relic (vedi articolo APM: il valore di business sta nell’analisi olistica delle performance applicative) – i team applicativi possono fare affidamento su metriche di base come l’uptime e l’utilizzo della CPU per valutare lo stato di salute dell’applicazione. Ma quando questo ‘monolite’ si scompone in una complessa rete di servizi, l’infrastruttura diventa più dinamica e la logica dell’esperienza utente si sposta sul lato client, è fondamentale comprendere la salute dell’applicazione in modo olistico: dall’infrastruttura fino all’esperienza del cliente e i risultati di business generati dall’applicazione”. Oggi, una soluzione APM deve quindi fornire una visione coerente delle prestazioni di tutta la filiera:
- dall’infrastruttura (per esempio, l’utilizzo della CPU);
- all’applicazione in tutte le sue componenti (tempo di attività, tempo di risposta dell’app, tempo di risposta del database ecc.);
- all’esperienza del cliente (per esempio tassi di crescita degli utenti, tempo trascorso nel browser o su app mobile ecc.);
- ai risultati di business (per esempio tassi di conversione, entrate medie per utente ecc.).
Who's Who
David Rossi
A conferma di quanto illustrato da Teuber, David Rossi, Presales Manager South Emea di Micro Focus, ci ricorda quelle che Gartner e Forrester considerano caratteristiche ineludibili di una soluzione APM (vedi articolo APM: monitorare tutto, dall’infrastruttura all’ultimo miglio): “Gartner considera 5 dimensioni funzionali: enduser monitoring, modellazione della visualizzazione runtime dell’architettura applicativa, profilazione delle transazioni user-defined, monitoraggio dettagliato dei componenti di contesto applicativo e, naturalmente, tutto il mondo dell’analisi dell’informazione, perché senza questo tipo di analisi il dato non ha alcun valore. Seppure con una tassonomia un po’ diversa – prosegue Rossi – anche Forrester considera le stesse variabili: topologia dinamica delle applicazioni, application monitoring, monitoraggio dell’infrastruttura on premise e in cloud, aggiungendo il monitoraggio dei microservizi dei container, e l’analisi del dato”.
Quindi abbiamo una parte più tradizionale di metriche dove si raccolgono dati dell’infrastruttura, su come lavora l’applicazione all’interno dell’application server o del web server, “ma poi – sottolinea il manager Micro Focus – c’è una parte di metriche totalmente nuova che riguarda come l’utente percepisce l’applicazione, non soltanto in termini di tempi di risposta e disponibilità (che rimangono le metriche principali), ma anche riguardo la facilità d’uso, l’impatto dell’applicazione sul device dell’utente: se l’applicazione è troppo pesante e ‘impalla’ lo smartphone oppure quanta batteria consuma ecc. o, ancora, se è garantita la funzionalità per tutte le release dei sistemi operativi che i vendor continuano a supportare”. Rossi mette poi l’accento su un altro punto, non sempre preso in considerazione: “In un mondo mobile, l’azienda che fornisce un qualsiasi servizio fruibile via smartphone deve poter capire se ci sono problemi nell’ultimo miglio, questo significa monitorare la connessione (3G, 4G, LTE ecc.) con la quale l’operatore telefonico abilita la fruizione dell’applicazione”.
Who's Who
Vincenzo Bassi
“Un’altra metrica importantissima, visto che i metodi di fruizione delle applicazioni dei servizi si sono moltiplicati – ricorda Vincenzo Bassi, Team Leader APM per l’Italia di Oracle (vedi articolo Correlazioni e machine learning: parole chiave per una soluzione di APM) – è la configurazione dell’utente: se la soluzione APM rileva che per una determinata applicazione ho il 99% di disponibilità e quell’1% mancante deriva dall’utilizzo di un vecchissimo sistema operativo uscito dal mercato da tempo non mi devo allarmare, ma se quell’1% è composto da utenti che hanno l’ultima versione di Android, devo intervenire immediatamente perché quell’1% si trasformerà molto rapidamente nel 10%, 20% e oltre”.
Who's Who
Claudio Canevazzi
“Le metriche che vengono maggiormente richieste – precisa Claudio Canevazzi, Executive IT Specialist IBM Cloud Italy (vedi articolo Customer experience all’altezza delle aspettative grazie al “nuovo” APM) – sono quelle di monitoraggio della end user experience attraverso la simulazione dei comportamenti degli utenti nell’accesso a determinati servizi per verificare che questi siano disponibili per gli utenti finali (quelli che in letteratura vengono definiti sistemi di Synthetic Transaction Monitoring) lungo tutta la filiera dell’erogazione del servizio. Questi sistemi si affiancano a quelli di Real User Monitoring che controllano come questi servizi vengono effettivamente percepiti dagli utenti. La raccolta e l’analisi di queste informazioni è importantissima per poter valutare se i servizi erogati sono in linea con le aspettative, ma oggi è impossibile riuscire a farlo con strumenti tradizionali”. Ecco quindi che, come vedremo più avanti, le soluzioni APM si sono arricchite di tecnologie di machine learning, di tecnologie cognitive. Infine Canevazzi evidenzia un altro elemento emergente “che è sempre più affiancato alle soluzioni di APM: le soluzioni di log consolidation e log analysis, che consentono di raccogliere i log che arrivano dal middleware e dai componenti applicativi per rendere più rapida l’identificazione del problema e quindi risolverlo”.
Il motore del machine learning
“Il problema però non è più solo di metriche perché bisogna essere in grado di correlare tutte queste informazioni, quelle che derivano dalle metriche classiche e quelle nuove, e ciò non è possibile con piattaforme di monitoraggio separate. È necessaria un’unica piattaforma che sia in grado di analizzare e correlare tutti questi dati e grazie a tecnologie di machine learning, costruire pattern da mettere in relazione con questi dati per identificare gli scostamenti di comportamento”, afferma Mauro Sagratella, Digital Advisor di Microsoft Italia (vedi articolo Un’unica piattaforma di monitoraggio delle applicazioni per misurare le diverse customer experience), che prosegue: “I modelli applicativi sono completamente cambiati, spesso proprio per sfruttare al meglio l’eterogeneità infrastrutturale oggi disponibile. Per esempio, lo sviluppo di applicazioni cloud native, le cosiddette applicazioni serverless, e la fruizione di microservizi applicativi sta comportando cambiamenti enormi: prima sapevo su quali server giravano le applicazioni e quindi era possibile misurare con maggiore facilità le performance tecniche di un’applicazione perché i suoi percorsi all’interno dell’infrastruttura erano definiti; oggi la topologia delle applicazioni è dinamica e quindi bisogna identificare in modo dinamico i punti dell’infrastruttura attraversati dall’applicazione. E per misurare le performance in questo contesto di dinamicità, è necessario che le applicazioni di APM siano dotate di ‘intelligenza’, siano cioè in grado autoapprendere i comportamenti delle applicazioni per identificare con la massima rapidità le anomalie e anticiparle per impedire che si verifichino”.
Who's Who
Mauro Sagratella
“Un errore del passato, comprensibile per le condizioni di mercato [limitazioni di budget, mancanza di soluzioni adeguate ecc. ndr], è stato quello di non automatizzare il processo di individuazione del problema – interviene Bassi – lasciando che una valutazione già molto complessa venisse effettuata attraverso un processo manuale. Uno dei principali elementi di cambiamento è quindi proprio l’automazione degli strumenti di APM con l’integrazione di tecnologie che li rendano intelligenti, in modo che possano attuare in autonomia determinate attività svolgendo una funzione importantissima, che i vecchi strumenti APM non erano in grado di effettuare: la correlazione”. Come sintetizza Canevazzi, “con i dati raccolti viene costruito un modello matematico sulle serie storiche che, messo in relazione con i dati reali, consente di verificare se la realtà è in linea con le aspettative. L’obiettivo è quello di anticipare il più possibile eventuali disallineamenti”. “La soluzione – esemplifica Bassi – deve intelligentemente osservare tutto e tracciare delle baseline sugli andamenti perché il mio obiettivo non è sapere quando ci sono comportamenti che possono superare un determinato SLA, ma fare in modo che sia garantita la performance abituale dell’applicazione: se ho definito uno SLA di 3 secondi nell’interrogazione di un’applicazione, ma so che normalmente gli utenti effettuano questa operazione in 1 secondo, mi devo allarmare e intervenire quando si passa da 1 secondo a 1,5 secondi, non quando arrivo in prossimità dei 3 secondi; la soluzione deve considerare questa metrica [il comportamento abituale degli utenti ndr], studiarla e, quindi, intelligentemente avvisarmi al momento opportuno”.
Tutti i manager sottolineano l’importante tema del feedback verso i team di sviluppo: “Se l’obiettivo è quello di minimizzare il tempo che intercorre tra l’identificazione di un eventuale problema sul livello di servizio e la sua risoluzione, è evidente che quanto più si riescono a fornire feedback sulla reale esperienza utente rispetto a un determinato servizio ai team di sviluppo e test e tanto prima sarà possibile anticipare la risoluzione del problema. Questo genera un canale virtuoso di comunicazione e un miglioramento continuo, soprattutto in un mondo in cui si parla ormai di continuous development e continuous delivery”, dice per esempio Rossi.
Mappare l’applicazione in tutto il suo percorso end-to-end
Gartner afferma che il 90% del tempo dedicato alla risoluzione di un problema sta nell’individuarlo e solo il 10% è quello necessario per risolverlo. “Oggi – ricorda Bassi – tutto ciò non può che ampliarsi, perché il flusso si estende ai vendor cloud, con il mondo dei microservizi che rende il tutto ancora più complesso: tante piccole applicazioni, tante funzionalità dove basta che una non funzioni che le ripercussioni cadono a catena sulle altre. Un’applicazione APM deve quindi prima di tutto tracciare mappe, capire il livello topologico di un’applicazione e di tutte quelle ad essa correlate: quando viene fatto il click su un sito di e-commerce, per esempio, parte tutta una serie di transazioni che coinvolge diverse applicazioni ed è fondamentale avere una mappa precisa per capire cosa viene attivato a seguito di un certo comportamento ed esattamente in quale punto avviene; perché se stiamo tracciando l’applicazione A, che apparentemente funziona benissimo, ma non consideriamo una seppur minima interazione con l’applicazione B (che invece ha dei problemi) il risultato è che anche A avrà dei malfunzionamenti. Questo significa che, oltre ad avere capacità di auto discovery, una soluzione APM deve avere capacità di operare in ambienti eterogenei”.
Who's Who
Luca Mascelloni
“Ovviamente questo – rafforza Luca Mascelloni, Senior Director di CA Technologies Italia (vedi articolo APM, analisi differenti per diverse prospettive)– è legato alla capacità del sistema APM di disporre di metriche che vengono da tutti i layer infrastrutturali e di avere la capacità di seguire la transazione attraverso tutti questi layer. È solo con la diffusione dell’APM in tutti questi sistemi, l’analisi continua dei miliardi di transazioni che attraversano centinaia di sistemi e apparati diversi che si può avere la garanzia di avere un dato attendibile”.
Who's Who
Emanuele Cagnola
Ed Emanuele Cagnola, Italy Director di Dynatrace (vedi articolo APM: innovarsi ai ritmi della trasformazione digitale), mette l’accento su un altro tassello oggi determinante: “Con l’avvento dei microservizi, del cloud e dell’IoT è necessario avere informazioni di performance da qualsiasi dispositivo, non solo smartphone e tablet, ma anche frigoriferi, auto, PLC che governano una catena di produzione. Parlare di complessità in questo contesto è quasi un eufemismo perché la dinamicità che questi nuovi stack infrastrutturali introducono è enorme. Solo una soluzione in grado di adattarsi automaticamente in tutti i contesti e nata per sfruttare a pieno le capability di ciascun ambiente è in grado di garantire una misurazione della customer experience complessiva”.
Pervasività di utilizzo dell’APM in azienda
Concludiamo questa focalizzazione sulle caratteristiche tecnologiche delle soluzioni APM di nuova generazione con una riflessione sulla loro usabilità: “Dobbiamo passare – afferma Mascelloni – dalla cosiddetta information superiority, la capacità cioè di avere un numero più alto possibile di informazioni, a quella che oggi viene definita information awareness (e che noi come CA Technologies chiamiamo il tema delle “prospettive”) ossia avere a disposizione metriche basate sul ruolo aziendale di chi le deve considerare, dalla sua prospettiva: se sono responsabile di un determinato servizio andrò a vedere uno specifico sottoinsieme di metriche; se sono responsabile tecnico di un particolare sistema informatico vedrò queste metriche di dettaglio ecc.”.
Infine una soluzione APM deve aiutare a gestire la complessità, non alimentarla: “Il dinamismo delle infrastrutture IT – conclude Canevazzi – ha messo in evidenza alcuni problemi delle soluzioni APM tradizionali che richiedevano tempi di configurazione e attivazione non immediati e, quindi, inadeguati a rilasci applicativi o di parti di applicazioni rapidi e veloci. Oggi abbiamo soluzioni più snelle e semplici, anche nella loro implementazione, in modo che le aziende possano integrare nei loro processi di provisioning anche l’attivazione degli strumenti di monitoraggio di queste infrastrutture: se per erogare un determinato servizio è per esempio prevista la predisposizione di un set di macchine virtuali, con l’attivazione dei vari componenti applicativi nel processo di provisioning deve essere inclusa anche la predisposizione degli strumenti di monitoraggio e controllo in modo che, se c’è la necessità di aumentare la potenza elaborativa per picchi di carico, ne venga monitorato l’impatto sull’applicazione”.