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.

Application Performance Management: le risorse di calcolo

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- Tracciare per l'Application Performance Management

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- Application Performance Management: partire dallo 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- Application performance management e 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.

Quali sono i software di performance management?

Un tool di performance management è solitamente utilizzato per monitorare le prestazioni e la disponibilità di un'applicazione software basata sul web. Uno strumento di APM raccoglie dall'applicazione monitorata diverse metriche di performance (come il tempo di risposta) ed estrae queste metriche per misurare lo “stato di salute” dell'applicazione, eventualmente identificando potenziali problemi di performance. La maggior parte delle metriche che vengono estrapolate dai tool di APM sono utilizzate anche nel rilevamento della regressione delle prestazioni.

Software di performance management: Oracle, Metricly e Azure

La Oracle, storico produttore di software, dispone di una piattaforma di gestione delle prestazioni delle applicazioni chiamata Enterprise Manager Cloud Control. Essa può contare sulla gestione e monitoraggio delle applicazioni in tempo reale, oltre che su altre feature come la valutazione dell’user experience.

Un altro tool è ad esempio Metricly, il quale, combinando un’intuitiva interfaccia utente con un preciso tracciamento delle prestazioni dell'infrastruttura cloud e delle applicazioni web, consente all’organizzazione di tracciare le risorse in modo accurato.

Azure Monitor di Microsoft, oltre a essere perfettamente integrato con la piattaforma Azure, fornendo così informazioni a livello di applicazione e di codice per lo sviluppo, consente di tenere sotto controllo l'usabilità in tutti i suoi aspetti (tempi di risposta, monitoraggio della rete, etc.).

 

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


integrazione-servizi-ambienti-applicativi

Tag: Application Management