Il successo del business si fonda sempre di più su strumenti digitali, le cui performance devono essere garantite in ogni momento e in qualsiasi contesto.
Per assicurare un funzionamento ottimale e continuo dei sistemi IT, il primo passo è la conoscenza approfondita delle performance applicative in relazione all’esperienza degli utenti (UX), così da poter intervenire rapidamente – o addirittura in modo proattivo - in caso di problematiche o criticità di qualsiasi natura.
Per rispondere a questa esigenza specifica, ci si affida a strumenti di Application Performance Monitoring (APM).
L’Application Performance Monitoring (APM) è, per prima cosa, una tipologia di monitoring dei sistemi informatici. In particolare, si tratta di un insieme di pratiche e strumenti che raccolgono, analizzano e correlano metriche applicative in tempo reale - tempi di risposta, throughput, error rate, interazioni utente - per individuare rapidamente problemi di performance e agevolare una risposta proattiva.
In questa accezione, l’APM è un processo – posto in essere da appositi tool e piattaforme avanzate - che fornisce ai team tecnici tutte le informazioni necessarie per garantire che le applicazioni, soprattutto quelle mission-critical, funzionino come previsto, senza eccezioni. Logicamente, affinché ciò accada – ovvero si risalga velocemente alla root cause di prestazioni non impeccabili – il monitoraggio dei KPI applicativi deve operare insieme ad altre tipologie di monitoring, come il network monitoring, il log monitoring o l’infrastructure monitoring per una visione unificata.
Un aspetto chiave delle definizioni più accreditate è il legame tra performance applicativa e user experience. APM non si limita a monitorare i componenti di back-end, ma può osservare – sempre sotto il profilo prestazionale - come gli utenti interagiscono con le applicazioni e come le prestazioni che ottengono impattano sull’esperienza percepita. Il tutto, ovviamente, con l’obiettivo di ottimizzarle in ogni momento e in ogni condizione.
Le aziende dipendono da applicativi sempre più articolati e distribuiti, che supportano processi di business critici e interazioni continue con clienti e partner. Affidarsi a pratiche e tool APM è dunque fondamentale per almeno 4 motivi.
Le architetture applicative moderne, costruite su microservizi, container e ambienti multicloud, aumentano esponenzialmente la complessità dei sistemi IT. Ogni transazione, evento, ma anche sensore o dispositivo, genera grandi quantità di dati e questa complessità, seppur necessaria per soddisfare gli utenti e il business, rende complessa la gestione operativa e il troubleshooting. L’APM raccoglie e analizza dati da molteplici fonti, semplificando la governance degli applicativi nell’era del cloud.
Il fermo delle applicazioni o dei servizi digitali comporta perdite economiche dirette e danni reputazionali spesso ingenti. Con l’aumento della dipendenza dai sistemi digitali, il costo del downtime è cresciuto in modo esponenziale, colpendo sia le grandi organizzazioni che le PMI.
Le soluzioni APM moderne non si limitano a rilevare criticità già avvertibili lato-utente, ma individuano anomalie e variazioni rispetto alla baseline di performance prima che causino disservizi. In questo modo, offrono una visione proattiva, permettendo ai team IT di intervenire prima di qualsiasi forma di discontinuità.
La user experience rappresenta oggi uno dei principali fattori di differenziazione per molte aziende, soprattutto nei settori digitali e dei servizi. L’APM fornisce insight dettagliati sul comportamento reale degli utenti (RUM, Real User Monitoring) e sulle performance percepite, permettendo di ottimizzare continuamente le applicazioni in base alle esigenze del proprio target di riferimento.
Non si trova facilmente una definizione della differenza tra Application Performance Monitoring e Observability, perché il concetto di APM è nato molto tempo fa come processo operativo specifico, mentre l'observability rappresenta un approccio più ampio e moderno per governare al meglio i sistemi IT. Ciò nonostante, la certezza è che oggi le due espressioni non hanno il medesimo significato.
APM nasce dall’esigenza di identificare velocemente problemi di performance, inefficienze e garantire alti standard di servizio a livello applicativo. Si basa su indicatori come tempi di risposta, errori, disponibilità di servizi, traffico e risorse, con l'obiettivo di tenere sotto controllo i parametri critici dei sistemi IT business-critical.
L'observability è invece un approccio avanzato per gestire la complessità dei sistemi nell’era cloud-native. Non si basa sul concetto di monitoraggio di metriche note, ma sulla capacità di comprendere il funzionamento di sistemi complessi dagli output che essi generano, così da rispondere a domande complesse, impreviste e addirittura inedite. È un cambio di paradigma: dal controllo reattivo alla comprensione proattiva fondata su tre tipologie di dato: log, tracce e metriche.
Nella pratica, la distinzione teorica si sta assottigliando. Seguendo un’evoluzione naturale, oggi molti strumenti APM includono funzionalità che rendono i sistemi più osservabili in senso moderno, ed è quindi corretto considerare APM come una delle aree che costituiscono il nuovo paradigma. In altri termini, oggi i due termini non sono sinonimi, domani potrebbero diventarlo.
APM non è una singola attività ma un processo che opera a più livelli dello stack tecnologico, acquisendo segnali distinti e adottando approcci differenti per costruire un quadro complessivo facilmente governabile via dashboard centralizzate.
A livello applicativo, le soluzioni APM possono misurare un’infinità di parametri come i già citati tempi medi di risposta e gli errori, associandoli all’esecuzione del codice per risalire ai punti critici: una API non performante, un database congestionato, una funzione che introduce latenza, criticità riconducibili all’orchestrazione o una dipendenza esterna instabile.
Gli stessi strumenti vengono spesso impiegati anche in ambito infrastrutturale, laddove analizzano picchi anomali nell’impiego di CPU, memoria e storage che possono indicare problemi imminenti. Come già accennato, dopo aver evidenziato l’anomalia, gli stessi tool devono supportare la cosiddetta root cause analysis, che si ottiene tramite analisi approfondita dei sottosistemi. Fa parte del perimetro APM anche l’end-user monitoring (sia tramite Real User Monitoring/RUM sia attraverso synthetic test). Ognuna di queste discipline è centrale per completare il quadro di governance di un’applicazione enterprise moderna.
A causa della varietà di segnali e di layer monitorabili, nonché della complessità degli ecosistemi applicativi enterprise, uno dei rischi è la frammentazione tra tool verticali. Le piattaforme APM delle ultime generazioni puntano ad abbattere la proliferazione di tool di monitoring in un unico modello centralizzato fondato sulla correlazione automatica tra segnali meritevoli di attenzione e le relative cause.
Uno degli elementi chiave delle piattaforme APM è il meccanismo di raccolta dei dati, che si suddivide in due approcci: agent-based e agentless.
Nel primo caso, piccoli componenti software vengono installati nei server, nelle macchine virtuali e/o nei container che ospitano l’applicazione. Gli agent sono in grado di raccogliere metriche dettagliate in tempo reale, acquisire e inoltrare log di sistema verso la piattaforma, e anche eseguire test sintetici, ovvero simulazioni automatiche di azioni per verificare la disponibilità e le performance dei servizi critici anche quando non ci sono utenti reali. La raccolta di informazioni può essere altamente granulare e continua
Nel modello agentless, invece, il monitoraggio avviene senza installazione di software ma mediante tramite approcci diversi come API e protocolli standard, log parsing o monitoraggio (sniffing) della rete. Questo riduce l’invasività e semplifica la gestione in ambienti dinamici (come Kubernetes), ma potrebbe limitare la profondità dei dati disponibili, motivo per cui gli approcci ibridi sono i preferiti dalle piattaforme moderne.
Anche nell’ambito del monitoring applicativo, l’intelligenza artificiale sta ridefinendo le regole del gioco, trasformando il modo in cui si rilevano le anomalie, si conducono analisi delle cause (root cause analysis) e si attivano risposte proattive agli eventi critici.
Nel contesto di architetture IT complesse, in cui decine o centinaia di microservizi interagiscono in tempo reale, identificare l’origine di un’anomalia non è banale data l’ingente quantità di dati generati. Gli algoritmi di machine learning applicati ai dati di APM possono aiutare i tecnici:
Non si tratta unicamente di automazione, ma di aumentare le capacità decisionali dei team IT in contesti che oggi sono già complessi, e lo diventeranno ancor di più in futuro.