ICT services, Supply Chain, Emergency Management – Scopri di più sul blog di Beta 80

Application Performance Monitoring: cos'è e perché è essenziale

Scritto da ICT SERVICES | 20 novembre 2024

Esiste una definizione divenuta ormai classica di Application Performance Monitoring (APM) ed è quella proposta da Gartner, che fa riferimento a uno o più componenti software che facilitano il monitoraggio delle applicazioni per soddisfare tre dimensioni funzionali principali:

  • monitoraggio dell’esperienza digitale (Digital experience monitoring, DEM);
  • ricerca di applicazioni, tracciamento e diagnostica (Application discovery, tracing and diagnostics, ADTD);
  • Intelligenza Artificiale per le IT Operations (AIOps).

Oggi, le aziende si affidano sempre più a servizi e applicazioni digitali; queste non solo consentono di generare profitto, ma sono anche fondamentali per l’efficienza operativa e sono spesso l’interfaccia esterna del brand. È un contesto complesso, nel quale i fornitori di soluzioni APM sono chiamati a espandere il loro supporto per riuscire a monitorare infrastrutture ibride e multi-cloud, processi aziendali e sistemi automatici dominati dal machine learning.

 

Ecco perché i tool di APM cresceranno sempre di più

È fondamentale, dunque, che il controllo delle performance delle applicazioni e dei servizi sia affidato a piattaforme specializzate. Per tale motivo, il Magic Quadrant for Observability 2024 di Gartner (che dal 2023 include gli strumenti di APM) propone una classificazione delle soluzioni di riferimento sul mercato.

Come è noto, il Magic Quadrant è suddiviso in quattro campi all’interno dei quali vengono collocate le aziende che si caratterizzano per essere “sfidanti, leader, attori di nicchia e visionarie” rispetto alla specifica tecnologia oggetto di analisi. Una classificazione da tenere sott’occhio nel momento in cui bisogna decidere come orientarsi per scegliere un partner che offra sistemi APM adeguati al fabbisogno della propria azienda. Per fortuna, oggi, la scelta può avvenire tra diverse opzioni, visto che il mondo APM è entrato definitivamente “nell’età adulta”.

 

Quanto pesa il mercato dell’Application Performance Monitoring

L’importanza dell’APM è sottolineata anche dalla crescita degli investimenti nel settore. Le ricerche di mercato mostrano, infatti, che nel periodo 2024-2029 la spesa globale passerà da 9,38 miliardi di dollari nel 2024 a 35,84 miliardi di dollari nel 2029, con un tasso di crescita annuo composito (CAGR) pari al 30,76%.

Un aumento che si spiega con l’evoluzione impressa dalla digital transformation alle architetture aziendali. Nate, infatti, come sistemi di monitoraggio dei livelli di servizio in un’epoca precedente all’adozione pervasiva del multi-cloud, del mobile e degli apparati IoT, oggi le soluzioni APM continuano a mantenere i medesimi compiti, ma declinati su una maggiore complessità infrastrutturale. Per garantire una experience di qualità a favore di tutti i soggetti che utilizzano il parco applicativo, siano essi interni (employee experience) o esterni (customer experience), le APM devono monitorare in tempo reale, oltre alle app, server, storage, reti e, nel caso di applicazioni custom o difficilmente monitorabili, anche i log. Per questi motivi, le funzioni principali che le piattaforme mettono a disposizione riguardano la raccolta di dati, la visualizzazione di sintesi delle informazioni significative, l’alerting selettivo e la possibilità di innescare meccanismi di remediation.

 

La visione end to end necessaria per una moderna soluzione APM

La gestione e il monitoraggio dei log, in particolare, rappresenta un valore aggiunto con cui i dati raccolti possono essere messi a disposizione per l’analisi, l’esportazione o la creazione di specifici alert. Non solo. I tool APM sono anche in grado di anticipare i potenziali problemi, avvalendosi dell’Intelligenza Artificiale e del machine learning in ottica di manutenzione predittiva. Ma la mutazione dell’APM non riguarda soltanto il versante tecnologico. È cambiato anche il suo ruolo tradizionale. Oggi, infatti, i software APM ricoprono una funzione strategica, focalizzata anche sul business e non esclusivamente, come in passato, sulle prestazioni di natura sistemistica. Per questo ciò che viene chiesto a una dashboard di Application Performance Monitoring è una visione end to end, che fondi un vantaggio competitivo rispetto alla concorrenza. Questo perché l’approccio del cliente ormai non si limita a valutare metriche come il tempo di risposta e la disponibilità dell’applicazione, ma misura anche il livello di usabilità della stessa e, quindi, l’esperienza complessiva che ne deriva in termini di produttività, incremento di customer engagement, piena soddisfazione delle attese. Combinando i dati raccolti, le piattaforme di APM riescono, infatti, a fornire metriche specifiche sul livello qualitativo dell’esperienza utente. I tool acquisiscono informazioni sulle interazioni reali degli utenti con la piattaforma, fornendo misurazioni specifiche, quali, ad esempio: il tracciamento della navigazione dell’utente (identificazione dei colli di bottiglia); le prestazioni dei servizi di terze parti; infine, le performance del front-end. A fronte di tali informazioni possono essere pianificati interventi migliorativi molto puntuali, in grado di elevare la qualità dell’interazione tra utente e servizio.

 

L’ottimizzazione dei processi interni con il monitoraggio dell’APM

Il controllo costante del parco applicativo genera un’ottimizzazione anche nella gestione dei processi interni. Infatti, la possibilità di monitorare un servizio lungo tutta la catena, dalla user experience al codice, permette di facilitare e di velocizzare lo scambio di informazioni tra i vari livelli aziendali, contribuendo a migliorare la comunicazione tra di loro. Per ottenere questo risultato, l’analisi delle APM deve governare la varietà e la fluidità delle infrastrutture IT utilizzate, in cui convivono piattaforme on premise e cloud-based nelle sue varianti (Public, Private e Hybrid) e a cui si aggiunge un’adozione crescente di microservizi e container. Questi ultimi, fra l’altro, poiché virtualizzano solo il sistema operativo, complicano ulteriormente la scoperta del legame tra infrastruttura e misurazione delle performance applicative. Una difficoltà superabile grazie ai moderni sistemi APM che attraversano l’intera filiera applicativa, riuscendo a isolare l’eventuale criticità presa singolarmente in esame, ma senza dimenticare le sue interdipendenze.

Best practice per l’APM: un processo a 5 step

È evidente come l’implementazione di una piattaforma APM sia un’attività complessa, ed è perciò opportuno che le aziende utilizzino le Best Practice di riferimento, che consistono in un processo di 5 step:

  1. Application Map. La prima operazione è redigere la mappa delle applicazioni che concorrono a fornire il servizio all’utente. La mappa comprende le dipendenze tra le diverse applicazioni e, quindi, le metriche da ottenere.
  2. Data Sourcing. Per ognuna delle applicazioni, occorre individuare le fonti di informazione per le metriche di interesse, pertinenti con gli obiettivi del monitoring. Tra queste metriche troviamo, ad esempio, quelle relative alla user experience, alla containerization, al database, ecc.
  3. Dashboard and Reporting. Il terzo passo è la progettazione dei cruscotti, ovvero la sintesi visuale dell’insieme dei dati raccolti, con l’obiettivo di evidenziare l’esistenza di criticità.
  4. Alert & Immediate Action. Quali sono le segnalazioni di importanza critica e quali le azioni di risoluzione? Le risposte stabiliscono le priorità delle segnalazioni e dei relativi interventi. Il criterio per la formalizzazione delle risposte (quale alert e quale remediation) è il livello di impatto sul business.
  5. Alert & Non-immediate Action. Come nello step 4, vanno formalizzati l’elenco delle segnalazioni che richiedono un intervento non immediato, differibile nel tempo, e la relativa remediation..

L’utilizzo delle Best Practice consente di superare le sfide più diffuse nell’implementazione di una piattaforma APM: da un lato, la complessità insita in un ecosistema di applicazioni interdipendenti, che utilizzano risorse distribuite; dall’altro, la mole sempre crescente di dati da gestire. La strutturazione dell’APM e la disponibilità di tali informazioni consentirà alle aziende di misurare il ROI, come somma del risparmio e delle mancate perdite in rapporto al TCO – Total Cost of Ownership della piattaforma. Ci sono, infatti, diverse voci di costo che vengono abbattute, tra cui:

  • Costi di sviluppo. L’APM, integrato con i tool di DevOps, identifica velocemente i problemi dell’applicazione e ne consente la risoluzione tempestiva.
  • Costo dei bug applicativi. L’errore applicativo, se identificato prima del rilascio in produzione, ha un costo molto più basso in termini di danno recato all’utenza.
  • Costo del downtime. Il disservizio agli utenti è molto oneroso in termini di mancata operatività e attività produttiva.
  • Costo dell’hosting. L’applicazione ben progettata, che ha buone performance complessive, utilizza minori risorse elaborative.
  • Costi degli SLA – Service Level Agreemnet. Il mancato rispetto degli SLA concordati con l’utenza può comportar penali economiche.

Un discorso a parte va fatto per la Customer Experience. Sebbene non sia facilmente quantificabile, l’aspettativa del cliente ha un peso importante. L’applicazione che presenta difficoltà di navigazione o che non risponde tempestivamente può causare l’abbandono del cliente, con un effetto negativo sull’acquisizione di nuovi clienti e sulla brand reputation.

 

Machine learning e velocità di risposta ai problemi applicativi

Il tracciamento e la diagnostica si focalizzano su milioni di concatenazioni, che solo una navigazione con strumenti evoluti di analytics può esaminare. Anzi, come anticipato prima, la mole di dati richiede che l’Application Performance Monitoring disponga di un motore di machine learning così da automatizzare i processi di analisi predittiva. Grazie a tali analisi è possibile individuare quali sono gli elementi su cui intervenire per prevenire situazioni di degrado, e innescare azioni compensative. In ambito Finance, ad esempio, il Machine Learning può prevedere un picco delle operazioni di trading a fronte di un determinato periodo dell’anno o a fronte di un’operazione finanziaria collegata. Informato dal Machine Learning, l’APM può aumentare il numero di istanze del servizio di trading (scalabilità orizzontale) o aumentare le risorse elaborative dei server (scalabilità verticale). È utile sottolineare che l’analisi predittiva e il remediation automatico sono il compito specifico dei tool di AIOps in ambito IT Operations. L’integrazione tra APM e AIOps costituisce, infatti, una soluzione sinergica tra i due ambiti. Il ruolo centrale che l’APM ha il compito di svolgere oggi è quello di accorciare il tempo che intercorre tra la rilevazione di un elemento critico, che impatta negativamente sulla user experience, e porvi rimedio prima che incida sui livelli di produttività aziendale o prima che si trasformi in una causa di churn e di abbandono dell’applicazione da parte del cliente.

Il monitoraggio delle applicazioni, dunque, si colloca, oggi, all’interno di un panorama in cui spiccano tre fattori:

  • la necessità di Observability, ovvero la capacità di comprendere lo stato di funzionamento di un sistema complesso a partire da metriche, log e traces;
  • la capacità di intraprendere azioni di auto-remediation;
  • la presenza di diversi strumenti di monitoraggio, soprattutto nelle Grandi Imprese.

La scelta di una piattaforma di APM deve, perciò, privilegiare la capacità di integrarsi con altre piattaforme di monitoring già esistenti, offrendo una visione unificata e centralizzata delle prestazioni delle applicazioni, al fine di rilevare anomalie in tempo reale e di intervenire proattivamente. Necessità, questa, che diventerà sempre più importante in un futuro per il quale è già intuibile una sempre minor tolleranza per errori e disservizi.