Blog

Application Performance Management: migliora i risultati in 5 mosse

scritto da Luigi Capuano il 23 giugno 2020

L'Application Performance Management (APM) è il monitoraggio delle prestazioni del portfolio software di un’azienda. Le variabili che l’APM deve misurare sono molteplici e non sempre di facile controllo, anche in virtù della complessità delle attuali infrastrutture software. Molte applicazioni, essendo core, sono direttamente correlate all’esperienza utente, influenzando il business dell’azienda. L'APM si sforza, quindi, di rilevare e diagnosticare i problemi complessi di prestazioni delle applicazioni con lo scopo di mantenere un livello di servizio atteso, in grado di soddisfare le esigenze implicite ed esplicite del cliente.

Come fare quindi a tenere sotto controllo tutte queste variabili e a migliorare continuamente e progressivamente i risultati dell’Application Performance Management? Abbiamo individuato cinque azioni programmatiche da mettere in atto: vediamo quali sono.


1-
Application Performance Management: scegliere bene le metriche di performance

La scelta delle metriche da valutare nell’Application Performance Management non è affatto semplice. Sicuramente è cosa giusta misurare la qualità dell’esperienza utente dell’applicazione, valutando le prestazioni, sia in condizioni normali che in quelle di stress. Un esempio di un indicatore di performance misurabile è rappresentato dai tempi di risposta medi sotto carico di punta (il “carico” è il volume di transazioni, le richieste e le pagine al secondo elaborate dall'applicazione). Queste metriche non sempre sono prese in considerazione dai programmatori in fase di sviluppo, ma emergono durante i test.

Un’altra serie di metriche che è utile prendere in considerazione nell’Application Performance Management è la misurazione delle risorse di calcolo utilizzate dall'applicazione, valutando se c'è una capacità adeguata a supportare una situazione di carico e, eventualmente, individuando i possibili colli di bottiglia di performance. La misurazione di queste grandezze stabilisce una linea empirica delle prestazioni per l'applicazione, che può essere utilizzata per rilevare le variazioni delle prestazioni. Può inoltre essere correlata a eventi esterni e successivamente utilizzata per prevedere futuri cambiamenti nelle prestazioni dell'applicazione.

L'uso di APM è comune per le applicazioni Web, che si prestano meglio a tecniche di monitoraggio più dettagliate. Oltre a misurare il tempo di risposta di un’utente, per individuare le cause del ritardo si possono monitorare anche i tempi di risposta per i componenti di un'applicazione Web.


2- La parola d’ordine è tracciare

Alcune soluzioni di monitoraggio delle prestazioni delle applicazioni non sono in grado di supportare un grande volume di dati generati dagli odierni ambienti applicativi, complessi e dinamici. È necessario effettuare un’analisi approfondita al fine di identificare i pattern e le anomalie delle prestazioni delle applicazioni. In quest’ottica risulta opportuno tracciare tutti i punti di entrata e di uscita delle applicazioni.

Spesso, infatti, quando il tracciamento delle transazioni rivela la lentezza del server applicativo, potrebbe nascondersi un problema nel codice dell'applicazione. Ecco perché può tornare utile una profilazione delle transazioni.


3- Conoscere bene le performance in situazioni standard

Mantenere le baseline di tutte le attività e memorizzare la storia in un sistema di gestione può essere molto utile per capire la misura dell’oscillazione rispetto a una situazione critica. Sarebbe opportuno utilizzare queste baseline dettagliate e la cronologia per identificare rapidamente ciò che è cambiato quando si riscontrano problemi di prestazioni dell'applicazione. Avere una “fotografia storica” può essere effettivamente utile per affrontare al meglio questo problema.


4- Application Performance Management: come vincere la sfida del cloud

Una delle sfide da affrontare è quella di implementare un efficace ed efficiente Application Performance Management anche con applicazioni “dockerizzate” o distribuite in micro-servizi. In questo contesto, infatti, aumenta la variabilità delle misurazioni. Una buona pratica è quella di concentrarsi con tecniche di misurazione che si integrano direttamente con le applicazioni, in modo da verificare con prontezza problematiche che incidono direttamente sul business dell’azienda.

Infatti, bisogna tenere sempre presente che nelle applicazioni esplose in micro-servizi e basate sul cloud, molti dei componenti chiave del sistema potrebbero essere presenti in sistemi serverless.


5- Comprendere l'esperienza dell'utente finale

Garantire un'esperienza eccellente per il cliente, i partner e i dipendenti è difficile se non si ha modo di capire la transazione dal punto di vista dell'utente. Il mobile, ad esempio, rappresenta una sfida ancora più grande in quanto il dispositivo, l’O/S, e la rete possono variare notevolmente e influenzare le prestazioni. Per valutare al meglio le prestazioni mobile, gli sviluppatori dovrebbero effettuare un monitoraggio delle applicazioni in tempo reale. Tutto questo servirà capire come le prestazioni interagiscono con la rete e il dispositivo, nonché l'impatto delle prestazioni sull'esperienza dell’utente finale.

Le organizzazioni quindi devono essere in grado di ricostruire il percorso dell'utente con l'infrastruttura dell'applicazione e capire quando, dove e perché la sua esperienza è influenzata durante l'accesso all'applicazione.

 

Scritto da Luigi Capuano - Cloud & Managed Services Offering Managericons8-colore-50 


integrazione-servizi-ambienti-applicativi

Tag: Application Management