Le performance per le applicazioni Web negli ultimi anni sono diventate fondamentali per le aziende che utilizzano il canale Web come motore principale per il proprio business. Ritardi di pochi secondi sul tempo di risposta percepito dagli utenti finali può portare ad una riduzione considerevole del numero di utenti e di conseguenza del volume di affari complessivo.

La complessità architetturale di una applicazione Web è cresciuta notevolmente negli ultimi tempi e questo ha portato inevitabilmente ad un aumento significativo dell’effort speso ad analizzare e risolvere problemi legati alle performance. Inoltre l’investigazione del problema parte di solito dopo le segnalazioni da parte degli utenti, quando l’utente finale ha già fatto esperienza del disservizio.

Gli strumenti di APM consentono di avere il controllo delle performance del sistema in esercizio e delle transazioni di business e di monitorare costantemente l’esperienza percepita dagli utenti finali.

Questi strumenti ci permettono di monitorare i tempi delle transazioni, di analizzare i contributi dei singoli elementi coinvolti nella transazione, di identificare ed isolare le cause di eventuali problemi e risolvere velocemente i disservizi al fine di migliorare l’esperienza fatta dagli utenti che fruiscono del servizio.

Lo strumento APM viene selezionato insieme al Cliente in base ai requisiti espressi, alle tecnologie coinvolte ed alle criticità riscontrate. Per la scelta dei tool prendiamo come criterio di riferimento il “Gartner Magic Quadrant ” (MQ) che è diventato uno standard “de–facto” nel fornire un’analisi qualitativa del mercato per una determinata tipologia di prodotti e nell’indicare in quale direzione esso si stia muovendo.

Gli strumenti di APM consentono di monitorare costantemente i tempi delle transazioni gestite dall’applicazione, di definire le priorità delle transazioni consentendo di dare maggiore peso a quelle ritenute più importanti per il business e di scomporre le singole transazioni negli elementi che la compongono consentendo di avere visibilità sui tempi spesi nelle singole funzionalità chiamate. I tempi monitorati vengono confrontati in automatico con delle baseline in modo da allertare velocemente le persone interessate in caso di discostamento dal comportamento atteso. Questo consente la rilevazione rapida dei problemi, senza aspettare che sia l’utente finale a segnalare il disservizio.
Un elemento importante per gli strumenti di APM è il monitoraggio dell’End User Experience. Questa permette di monitorare i tempi reali percepiti dall’utente finale e di correlarli ai browser o ai dispositivi utilizzati, alle località geografiche, ai carrier in uso e alle versioni degli applicativi coinvolti in modo da avere una visione completa dell’esperienza percepita dall’utente finale.
Gli strumenti di APM più evoluti consentono il rilevamento della topologia dell’applicazione e la scomposizione automatica del sistema nei singoli elementi che la compongono (nodi Web Server, Back End, Database…). Questo consente di avere una visione sintetica e complessiva in un’unica vista del sistema con i principali indicatori di performance in evidenza per singolo elemento. Permette inoltre di monitorare la disponibilità delle risorse in real-time e di visualizzare l’andamento delle performance dei singoli nodi allo scopo di anticipare la rilevazione del problema ai primi sintomi prima che l’utente finale ne faccia esperienza.
L’analisi viene effettuata scomponendo le transazioni nei singoli elementi che la compongono, al fine di isolare il collo di bottiglia, e correlando le metriche di performance dei singoli nodi con i tempi delle transazioni, per rilevare le root cause del disservizio osservato. Alcuni strumenti di APM consentono inoltre di mettere in correlazione differenti metriche per fare analisi sulla scalabilità del sistema e fare previsioni su eventuali regressioni delle prestazioni . L’accentramento delle informazioni relative alle performance ed alla disponibilità delle risorse in un unico strumento di APM permette una diagnosi più veloce a seguito del rilevamento dei primi sintomi di malfunzionamento.