Il successo di un’azienda dipende oggi in gran parte dalla capacità delle applicazioni IT di fornire risposte e gestire transazioni nei tempi che sono più compatibili con il business e quindi soddisfare gli utilizzatori finali. Non è un caso che nelle consuetudini di lavoro dei team IT, il monitoraggio delle prestazioni applicative stia prendendo il posto o integrando il monitoraggio infrastrutturale.
Nel monitoraggio tradizionale ci si assicura che i parametri di funzionamento (key performance indicator) di server, storage e reti rimangano entro valori prefissati, ma questo non sempre è indicativo delle prestazioni applicative, ragione per cui serve cambiare approccio avvalendosi degli strumenti specifici per il monitoraggio delle applicazioni (o application performance monitoring, APM).
Cos’è un software per il monitoraggio delle applicazioni?
I tool APM aiutano gli amministratori a valutare l’andamento delle prestazioni applicative nel corso del tempo, correlando le dipendenze da fattori esterni e quindi permettendo agli amministratori d’identificare le cause dei problemi per una tempestiva risoluzione. Il software APM monitora l’uso del software, può tracciare le richieste e le risposte date a utenti o ad altre applicazioni, così come qualificare il tipo di richieste o misurare il volume di pagine web generate. Un APM permette inoltre d’identificare e monitorare le interazioni che dipendono, per esempio, da una cache o un database, aiutando gli amministratori a osservare gli aspetti collaterali che incidono sulle prestazioni. Questo tipo di monitoraggio e di analisi porta in dote grandi benefici. Per esempio, permette di rilevare se le risposte associate con latenze eccessive dipendono da disfunzioni del sistema di storage oppure da errori, consentendo agli amministratori risolvere i problemi alla radice. APM aiuta gli amministratori a identificare problemi che non risiedono affatto nelle applicazioni ma, per esempio, in un database esterno, velocizzando la risoluzione.
Uso dei tool di APM
L’application performance monitoring non è un tema nuovo nel campo IT anche se evoluzioni e sviluppi hanno accompagnato di pari passo l’aumento di complessità delle applicazioni. Sono almeno cinque le ragioni principali per usarlo:
- assicurare una piacevole esperienza utente,
- tracciare le transazioni di business,
- analizzare i dati,
- mappare le dipendenze
- monitorare l’infrastruttura.
Monitorare e gestire l’esperienza end-user significa misurare il traffico dati tra l’utente e le applicazioni, quindi produrre dei report contenenti dati come il tempo impiegato a generare una pagina web o i tempi per accedere e avere disponibilità dei dati conservati nello storage. Questi dati sono poi comparati con i parametri ideali che consentono alle applicazioni di funzionare in modo adeguato. I tool APM possono misurare il tempo necessario per elaborare le richieste degli utenti o svolgere azioni come, per esempio, completare un acquisto attraverso la procedura di check-out. Le metriche ottenute aiutano a identificare le modalità con cui gli utenti usano le applicazioni oltre alle risorse che devono essere aggiornate man mano che aumenta la domanda d’utilizzo.
La scoperta delle dipendenze tra applicazioni
Non sono molte le applicazioni che funzionano da sole, la maggior parte dipende da middleware e framework che devono operare in modo opportuno per garantire i livello di prestazione desiderato. Alcuni tool APM fanno quindi rilevazione, mappatura e monitoraggio delle dipendenze software e hardware. Per esempio, un tool APM può scoprire che una applicazione web server dipende da un database SQL e quindi monitorare le prestazioni delle transazioni sul database come componente delle prestazioni applicative. Se il database non funziona adeguatamente, l’applicazione che lo usa non potrà essere soddisfacente. Infine, le prestazioni applicative dipendono dall’infrastruttura sottostante, come la rete e le sue componenti. Alcuni tool APM riescono a correlare i comportamenti dell’applicazione rispetto al traffico di rete e all’infrastruttura sottostante dando supporto alle necessità di ottimizzazione, aggiornamento e risoluzione dei problemi.
Cosa considerare quando si seleziona un tool di APM
Quando il tool APM deve analizzare applicazioni mission-critical e loro dipendenze è importante vengano considerati i seguenti elementi.
- Valutazioni di base. Il tool di APM deve fare monitoraggio delle applicazioni usate in azienda e gestire le metriche richieste. Se, per esempio, c’è interesse a monitorare i tempi delle transazioni end-to-end dei web server è importante il supporto delle applicazioni coinvolte e dei dati associati. Se il dato cercato non è fornito e non è possibile calcolarlo a partire da altri dati rilevati dall’APM, allora è meglio cercare un tool differente.
- Uso o meno degli agenti. È rilevante il modo con cui il tool ricava e comunica le misurazioni effettuate. Un tool che supporti in modo specifico le applicazioni del mondo Microsoft, come per esempio Exchange Server, potrebbe non avere necessità di usare agenti, a differenza di tool open source o con capacità multipiattaforma. Gli agenti richiedono oneri aggiuntivi di installazione e gestione.
- Opzioni di reporting. Il software di monitoraggio deve poter tradurre i dati ottenuti nelle informazioni più utili e significative per gli amministratori. Questo comprende la capacità di generare allarmi al superamento dei parametri prefissati e inoltrarli agli amministratori; di produrre grafici che mostrino in modo comprensibile rilevazioni e trend; di alimentare dashboard in tempo reale con le prestazioni delle applicazioni. Molti tool permettono personalizzazioni adatte a differenti esigenze organizzative o degli amministratori.
- Cloud verso on premise. Non vanno sottovalutati i requisiti dei tool APM in fatto di server, storage e middleware. Se le risorse IT on premise aziendali o il personale sono limitati può aver senso usare APM in modalità cloud Saas.
- Costi. Nella scelta del tool è opportuno considerare la convenienza delle modalità d’acquisto, licenza e supporto. I tool open source non hanno costi d’avvio o di licenza, ma occorre mettere in conto la possibilità che il supporto delle comunity non sia sufficiente e affidabile. Il software commerciale comporta meno rischi, ma richiede spese ricorrenti di supporto e per gli aggiornamenti. In alcuni casi è possibile dotarsi dell’APM in cloud Saas con modalità pay-per-use calcolata in base al numero delle applicazioni monitorate, alle metriche richieste oppure al volume dei dati prodotti.
- Proof of concept (POC). È consigliabile scegliere un tool di APM solo dopo aver realizzato delle sperimentazioni mediante POC.