Per comprendere il ruolo centrale dei tool di Application Performance Monitoring (APM), bisogna fare una piccola premessa: nel mondo iperconnesso di oggi, l’efficacia di un software – indipendentemente dalla destinazione privata o professionale – viene valutata in termini di user experience.
A prescindere infatti dal tipo, dalla finalità e dal carattere più o meno “critico” dell’applicazione, essa non si può esimere dal garantire un’esperienza appagante e senza limiti evidenti: deve fare ciò per cui è stata sviluppata, lo deve fare bene, velocemente, senza intoppi o rallentamenti.
Per quanto il principio sia molto semplice da comprendere, l’aumento esponenziale nella complessità del software ha reso il discorso delle performance assolutamente centrale. E con questo non ci riferiamo soltanto al caso limite dell’errore che blocca l’operatività di un’app, ma anche a tempi di risposta non accettabili e ad attese superiori alla media.
L’importanza delle performance delle applicazioni si nota molto in ambito web, al punto che la stessa Google, tra i fattori che determinano il ranking di una pagina e di un sito, ha inserito e dato priorità al tempo di risposta del server e alla rapidità di caricamento delle pagine.
In ambito aziendale, la situazione è analoga: non ha infatti molto senso, in piena era di smart working, permettere alle persone di lavorare con lo smartphone se poi i tempi di accesso al servizio sono superiori al consentito, per non parlare di potenziali downtime, limitazioni delle funzionalità e via dicendo.
Indice argomenti:
Le caratteristiche delle soluzioni di APM
I tool di Application Performance Management (APM), concetto molto simile ma più ampio rispetto all’ Application Performance Monitoring (sempre APM) servono proprio a questo, ovvero a rilevare anomalie che possono avere un impatto nei confronti delle performance del parco applicativo; essi, come tratto distintivo della categoria, devono poter risalire alla root cause con la massima semplicità, rapidità e automazione possibile.
In un macrocosmo IT in cui le applicazioni sono sempre più numerose, flessibili, interconnesse tra loro e complesse sia a livello di codice che di dipendenze, comprendere la reale causa delle criticità è tutt’altro che agevole, soprattutto in termini proattivi: lo scopo dei software APM non si limita infatti a rilevare e gestire un problema esistente, ma comprende il concetto di intervento proattivo. I migliori tool si ‘attivano’ prima che la criticità vada a condizionare il livello di servizio che l’IT dell’azienda vuole (deve) garantire agli end-user.
Le soluzioni APM si fanno carico del monitoraggio (monitoring) e della gestione (management) di performance e disponibilità dell’intero parco applicativo aziendale, a prescindere dall’approccio di distribuzione on-premise, cloud o ibrido. In questo modo, esse riescono a rilevare e condizionare – tramite un unico punto d’accesso e di monitoraggio – lo stato di salute del parco applicativo della struttura.
Le funzionalità tipiche delle soluzioni APM
Se il concetto è chiaro, decisamente più complesso è definire le funzionalità tipiche di tali tool; se infatti il termine APM è chiaramente connesso al tema delle performance, i vendor lo usano per identificare soluzioni piuttosto diverse tra loro, soprattutto agli albori del fenomeno.
Lasciando da parte gli strumenti di semplice monitoraggio basati su metriche a livello di server e di app (Application Performance Monitoring), che possono rilevare in tempo reale l’insorgere di un problema ma non la root cause, i tool APM (Application Performance Management) in senso stretto sono quelli che si definiscono di Code Level Performance, categoria nella quale rientra la stragrande maggioranza delle soluzioni top del mercato.
Esse sono in grado, mediante una vera e propria analisi del codice e delle dipendenze tra le applicazioni, di rilevare in tempo reale – e con una UI il più possibile intuitiva e di facile comprensione – problemi che possono impattare il livello di servizio e la user experience in senso lato.
Secondo la definizione originale di Gartner, caratteristiche centrali delle soluzioni APM sono:
- End-user experience modeling (EUM), che comprende svariati dettagli circa i tempi di risposta ed eventuali errori;
- Runtime Application Architecture Discovery Modeling and Display, che si sostanzia nella rappresentazione delle modalità di interazione tra i componenti dell’architettura software;
- User-defined transaction profiling, ovvero il tracciamento di tutta l’attività dell’utente all’interno dell’applicazione mediante una singola business transaction;
- Component deep-diving monitoring, cioè il monitoraggio continuo di tutti i componenti delle app, così da rilevare (possibilmente, in anticipo) problemi e colli di bottiglia prima che generino un potenziale effetto domino;
- Analytics, ovvero capacità di report generation con potenziale impiego di AI.
I cinque elementi del framework APM sono poi stati rivisti e accorpati in Digital Experience Monitoring, Application discovery, tracing and diagnostics (ADTD) e Application Analytics, peraltro senza discostarsi in modo netto dalla visione originaria.
Tali dimensioni di APM sono anche utili ai team IT per comprendere eventuali limiti del software prima e durante le release, di modo tale da accelerare gli interventi correttivi; inoltre, da segnalare il fatto che i tool APM hanno recentemente fatto passi da gigante, e oltre alla rilevazione della “root cause” dei problemi, ora sono in grado di identificare e quantificare gli impatti nonché proporre azioni dirette per risolvere i problemi.
Le 5 soluzioni APM top!!
Dynatrace
Software Intelligence Platform
Posizionata stabilmente nell’area del leader del Magic Quadrant Gartner, Software Intelligence Platform è una piattaforma modulare e AI-powered dedicata al monitoraggio integrato di applicazioni, user experience e infrastruttura IT.
Il concetto fondamentale è quello del monitoraggio proattivo tramite singolo agent, che si occupa di gestire – grazie all’ausilio dell’intelligenza artificiale – le performance del software a prescindere dall’infrastruttura da cui viene erogato (on premise, ibrida, cloud, multicloud) e dai device che ne fruiscono, IoT incluso.
Non mancano il monitoraggio dell’infrastruttura cloud, funzionalità AIOps e di ottimizzazione della digital experience, tutte fondate su AI e automazione. APM risolve proattivamente i problemi, ne identifica la root cause e inoltra alert ai fini di un intervento tempestivo.
Fa parte della soluzione un modulo integrato di Digital Business Analytics.
- Piattaforma integrata
- Monitoraggio integrato
- Funzionalità APM, AIOps e Infrastructure Monitoring
- Funzionalità di Digital Business Analytics
Cisco
Acquistata da Cisco nel 2017, AppDynamics è leader nel mercato delle soluzioni APM e si basa sulla piattaforma App IQ comprendente 6 diversi motori di intelligence: essi alimentano una suite completa di soluzioni che comprende funzionalità di Application Performance Management, End-User Monitoring, Infrastructure Visibility nonché moduli e funzionalità sottostanti. Scopo della piattaforma è ottenere visibilità e applicare intelligenza all’infrastruttura e al parco applicativo aziendale. Parafrasando lo stesso produttore, AppDynamics comprende real-time monitoring, business insights, rilevamento delle anomalie e totale visibilità dell’infrastruttura e del parco applicativo, di modo da permettere all’IT di concentrarsi sullo sviluppo di soluzioni innovative anziché all’indagine e alla soluzione di problematiche esistenti.
- Funzionalità APMonitoring e di Business Performance Monitoring
- AIOps
- Completa visibilità infrastrutturale: reti, server e container, on-prem e in cloud
- Visibilità completa del customer journey
New Relic APM
Questo software offre dal 2008 la sua soluzione APM basata su modello distributivo SaaS. Una piattaforma cloud-only, quindi, che offre completa visibilità sulle applicazioni e sull’ambiente operativo, con lo scopo di permettere una rapida identificazione delle root cause di eventuali performance sottotono, a prescindere dalla complessità dell’applicazione e delle dipendenze in essere. Scopo è, logicamente, quello di permettere alle aziende di concentrarsi sull’innovazione e sulla sicurezza, indipendentemente dal modello di distribuzione dell’applicazione stessa.
- User Interface molto curata e di facile utilizzo
- Estese funzionalità di Application Monitoring
- Database Monitoring
- Reporting avanzato
Microsoft
Azure Monitor – in italiano Monitoraggio di Azure – è disponibile dal 2018, da quando cioè Microsoft lo creò dalla fusione di Application Insights e Azure Log Analytics.
Si tratta ovviamente di una soluzione SaaS dedicata al monitoraggio delle applicazioni, infrastrutture – compresi database e macchine virtuali – e piattaforme. Secondo la descrizione dello stesso vendor, Monitoraggio di Azure è stato realizzato per “massimizzare le prestazioni e la disponibilità delle applicazioni e identificare in modo proattivo i problemi in pochi secondi”.
La stessa Microsoft si concentra su tre caratteristiche fondanti: l’unificazione dei dati, che vengono gestiti in un archivio centralizzato, gestito e scalabile, l’intelligenza grazie al motore di analisi avanzato e la capacità di integrazione con strumenti per DevOps, gestione dei servizi IT, di informazioni ed eventi di sicurezza. La soluzione di monitoraggio Azure supporta, inoltre, i linguaggi e i framework più diffusi.
- Monitoraggio applicazioni in termini di disponibilità, prestazioni e l’utilizzo
- Monitoraggio infrastruttura, inclusi i database, le macchine virtuali, Azure Kubernetes e archiviazione di Azure
- Completo monitoraggio di rete
Oracle
L’Application Performance Monitoring è una delle funzionalità della suite Oracle Cloud Management, insieme all’analisi del dati dei log, agli IT Analytics, al monitoraggio dell’infrastruttura e molto altro. OMC fa parte del Magic Quadrant di Gartner e viene offerto unicamente come soluzione SaaS, capace di monitorare tutti i principali linguaggi di programmazione e ambienti eterogenei, per quanto – come sottolinea la stessa Gartner dia il meglio di sé in relazione ad ambienti e workload Oracle. La funzionalità di APM riunisce in un unico set di dati tutte le informazioni dell’utente e delle performance delle applicazioni.
- Supporto per molti linguaggi di programmazione
- End-user, synthetic e mobile monitoring
- Integrazioni via API REST
- Funzionalità di Application infrastructure Monitoring