Home

topics

Application Performance Management

Che cos'è l'APM (Application Performance Management)?
Esplora la soluzione APM di IBM Iscriviti alla newsletter di Think
Illustrazione con collage di pittogrammi di ingranaggi, braccio robotico, telefono cellulare

Pubblicato: 13 novembre 2024
Autori: Chrystal R. Cina

Che cos'è l'APM (Application Performance Management)?

L'Application Performance Management (APM) è una pratica che utilizza strumenti software, analisi dei dati e processi di gestione delle applicazioni per aiutare le organizzazioni a ottimizzare le prestazioni, la disponibilità e l'esperienza degli utenti delle applicazioni aziendali.

Precursore delle soluzioni di osservabilità, l'APM consente ai team IT di visualizzare, prevenire, prevedere e risolvere i problemi di prestazioni delle applicazioni prima che abbiano un impatto negativo sugli utenti.

APM è anche l'acronimo di Application Performance Monitoring, dove gli strumenti di monitoraggio raccolgono continuamente dati sulle metriche delle prestazioni delle applicazioni come tempi di risposta, percentuali di errore, utilizzo delle risorse e attività degli utenti. I termini sono spesso usati in modo intercambiabile; tuttavia, il monitoraggio delle prestazioni è solo un componente di una strategia olistica di Application Performance Management.

Oltre al monitoraggio, l'APM utilizza processi di analisi dei dati (per identificare tendenze, irregolarità e colli di bottiglia delle prestazioni), protocolli di risoluzione dei problemi (per automatizzare l'analisi della causa principale e la risoluzione dei problemi) e strumenti di ottimizzazione (per affrontare in modo proattivo il degrado delle prestazioni e aumentare al massimo l'efficienza delle app per gli utenti).

Le soluzioni APM possono anche aiutare i team IT a capire quali app e servizi sono più essenziali per gli utenti e in che modo i problemi di prestazioni potrebbero influire sulla produttività degli utenti.

Strumenti APM efficaci, insieme a soluzioni di osservabilità avanzate, possono rivelarsi preziosi per le organizzazioni che si affidano alle applicazioni software per fornire servizi agli utenti finali.

Guida rapida per rendere operativa l'automazione FinOps

Approfondisci la tua conoscenza di FinOps e comprendi i suoi vantaggi e le sue sfide.

Contenuti correlati Registrati per ricevere la guida sull'osservabilità
Come funziona l'APM

Gli strumenti APM aiutano gli sviluppatori a mantenere lo stato di salute e le prestazioni delle applicazioni dell'organizzazione, soprattutto quando le applicazioni dell'organizzazione sono distribuite in più ambienti IT (come l'hybrid cloud e il multicloud). Sebbene l'esatta configurazione di un sistema APM vari da azienda a azienda (e da strumento a strumento), la maggior parte dei principali strumenti APM opera entro cinque dimensioni chiave (originariamente pubblicate da Gartner Research).

Monitoraggio dell'esperienza dell'utente finale (EUEM)

 

Gli strumenti attivi e passivi di monitoraggio dell'esperienza dell'utente finale valutano l'esperienza e l'interazione degli utenti con un'app. Il monitoraggio passivo si riferisce all'acquisizione continua di dati degli utenti (da sensori, traffico di rete e log degli errori) dagli utenti effettivi.

Il monitoraggio attivo simula l'attività dell'utente per comprendere e prevedere meglio il comportamento del software nelle varie situazioni (ad esempio, le prestazioni di un'app durante un picco di traffico imprevisto).

Gli strumenti di monitoraggio dell'esperienza all'interno del software APM possono, ad esempio, eseguire script (o percorsi) comportamentali per simulare le esperienze dei clienti con la procedura di pagamento su un sito di e-commerce. Il software può quindi monitorare gli script per capire quanto velocemente l'app elabori i pagamenti e come sia in grado di gestire la velocità dei pagamenti. 
 

Rilevamento e modellazione del tempo di esecuzione dell'architettura delle applicazioni
 

Il monitoraggio del tempo di esecuzione dell'architettura delle applicazioni offre visibilità sull'architettura sottostante di un'applicazione. Consente ai team IT di capire come i diversi componenti e le dipendenze delle app (come database, server, dispositivi di rete e virtual machine) interagiscono per supportare l'applicazione.

Gli strumenti APM automatizzano il processo di modellazione, mappando dinamicamente la topologia di applicazioni, servizi, componenti dell'infrastruttura e interazioni degli utenti, in particolare tra i data center on-premise, il cloud privato, il cloud pubblico (comprese le soluzioni SaaS ) e gli ambienti di cloud ibrido. Le mappe topologiche APM aiutano i team IT a identificare rapidamente i rallentamenti delle prestazioni e le opportunità di ottimizzazione.
 

Profilazione delle transazioni definita dall'utente


La profilazione delle transazioni, nota anche come gestione delle transazioni aziendali, offre un approccio più specifico al monitoraggio. Le funzioni di profilazione tracciano transazioni specifiche degli utenti mentre si spostano nello stack di applicazioni, dal dispositivo dell'utente e attraverso ogni componente o risorsa dell'applicazione coinvolti nella transazione.

Questo approccio di monitoraggio offre agli sviluppatori informazioni granulari sulle caratteristiche e le funzioni critiche delle app, in modo che possano gestire i componenti problematici o con prestazioni insufficienti prima che influiscano sull'esperienza dell'utente.
 

Monitoraggio approfondito dei componenti (DDCM)
 

Il DDCM si concentra sui singoli componenti dell'app (come server web e delle applicazioni), monitorando sezioni di codice specifiche, chiamate di servizio esterne, query di database e altri elementi a livello di codice.

L'esame di particolari componenti dell'app aiuta i team a identificare rapidamente la causa principale dei problemi di prestazioni e ad apportare miglioramenti mirati senza coinvolgere componenti non correlati.
 

Reporting e analytics dei dati
 

Il software APM raccoglie enormi quantità di dati e le funzionalità di analisi e reporting all'interno degli strumenti APM sono fondamentali per il processo di conversione dei dati acquisiti in insight fruibili.

Le piattaforme APM aggregano i dati raccolti a ogni touchpoint di monitoraggio per creare report, dashboard e visualizzazioni comprensibili, consentendo ai team IT di identificare le tendenze delle prestazioni e prendere decisioni informate su soluzioni e ottimizzazioni.
 

In particolare, Gartner Research ha da allora ridotto le sue cinque dimensioni a tre. Il monitoraggio dell'esperienza dell'utente finale è ora chiamato monitoraggio dell'esperienza digitale (DEM). La dimensione ADTD (Application Discovery, Tracing and Diagnostics) comprende tre funzioni precedentemente separate ma interconnesse: rilevamento del tempo di esecuzione dell'architettura e profilazione delle transazioni definita dall'utente. La dimensione di reporting e analytics rimane una funzione a sé stante.

Gestione delle prestazioni dell'applicazione e monitoraggio delle prestazioni dell'applicazione a confronto

Gli strumenti di monitoraggio delle prestazioni dell'applicazione riguardano esclusivamente il monitoraggio e rappresentano solo un aspetto dell'APM.

Le soluzioni di monitoraggio tradizionali si basano su piccoli componenti software chiamati «agenti», che vengono implementati in tutto l'ambiente applicativo e nell'infrastruttura di supporto per campionare le prestazioni e le metriche relative alle prestazioni (telemetria) a intervalli regolari (con una frequenza pari a una volta al minuto). Le soluzioni più moderne utilizzano il monitoraggio senza agenti per un approccio non intrusivo alla raccolta dei dati, basandosi sull'analisi del traffico di rete per acquisire i dati sulle prestazioni delle app.

La gestione delle prestazioni delle applicazioni è, per molti versi, il naturale passo successivo nel ciclo di vita della manutenzione delle app (dopo il monitoraggio). I sistemi di gestione delle prestazioni delle app raccolgono insight dai dati sulle prestazioni delle applicazioni e dai processi di monitoraggio per aiutare gli sviluppatori a ottimizzare le prestazioni e la disponibilità delle applicazioni aziendali.

APM e osservabilità a confronto

Le soluzioni APM forniscono strumenti universali per l'acquisizione e l'analytics dei dati provenienti dai servizi all'interno di un'applicazione. Rendono osservabile l'architettura delle applicazioni. Sebbene l'approccio APM fosse in passato sufficiente per una gestione delle applicazioni di alta qualità, ora non è attrezzato per gestire app e servizi distribuiti con più tempi di esecuzione e più livelli.

Le applicazioni moderne si basano su servizi e microservizi, spesso eseguiti in cluster Kubernetes in container. Ciò significa che ci sono più tempi di esecuzione, ognuno dei quali emette log in posizioni diverse all'interno dell'architettura. Per gestire più tempi di esecuzione utilizzando l'APM, gli sviluppatori dovrebbero implementare più strumenti APM. Dovrebbero inoltre utilizzare un servizio di log streaming o un altro strumento di aggregazione per consolidare i dati di registrazione da ogni posizione. 

Via via che le aziende aggiungono più servizi e microservizi all'architettura, introducono anche maggiore complessità, rendendo più difficile il tracciamento delle richieste quando qualcosa va storto.

Le soluzioni di osservabilità superano gli strumenti APM adottando un approccio olistico e cloud-native alla registrazione e al monitoraggio delle applicazioni. Forniscono una perfetta automazione dei processi e utilizzano dati contestuali storici per aiutare i team a ottimizzare meglio le applicazioni aziendali.

Grazie agli strumenti di osservabilità, i team possono comprendere meglio l'interazione tra i servizi (ad esempio, utilizzando grafici delle dipendenze) e il loro ruolo nell'architettura generale. Possono anche utilizzare soluzioni di osservabilità per aggregare e verificare i dati delle app, ricavandone insight fruibili.

Funzioni APM

Gli strumenti APM moderni sono versatili e offrono una gamma di funzioni personalizzabili che aiutano le aziende a implementare strategie APM su misura. Ogni funzione può aiutare i team IT a ottenere la Full Stack Observability degli ecosistemi delle applicazioni. Ecco alcuni esempi:

  • Monitoraggio delle applicazioni: gli strumenti APM monitorano l'intero stack, inclusi il framework (ad esempio, Java o .NET), il sistema operativo e il database, le application programming interface (API) o il middleware e il server delle applicazioni web.
  • Monitoraggio degli errori: le soluzioni APM possono raggruppare gli errori correlati alle app in gruppi di problemi, fornendo ai team un contesto più ampio per comprendere gli errori di sistema e aumentare al massimo l'efficienza nel processo di risoluzione dei problemi.
  • Monitoraggio dell'infrastruttura: con i protocolli di monitoraggio dell'infrastruttura APM, i team possono raccogliere dati sull'utilizzo della CPU, sullo spazio su disco e sulle prestazioni della rete.
  • Tracciamento distribuito: gli strumenti APM consentono agli sviluppatori di tenere traccia delle richieste di dati mentre attraversano la rete, dai servizi front-end a quelli backend, aiutando i team a monitorare le dipendenze a livello di richiesta e a isolare errori specifici.
  • Monitoraggio del database: le piattaforme APM aiutano le aziende a visualizzare le metriche delle prestazioni a livello di host e di query (come gli utenti principali, i programmi e gli oggetti) e a valutare le procedure SQL per determinare in che modo la progettazione del database e la saturazione delle risorse influiscono sulle prestazioni delle app.
  • Profilazione del codice: utilizzando gli strumenti APM, i team possono ottenere snapshot delle prestazioni del codice per scoprire quali componenti dell'app sono troppo lenti o utilizzano troppe risorse.
  • Monitoraggio dell'esperienza digitale: gli strumenti APM possono implementare il monitoraggio utente reale (RUM) e il monitoraggio sintetico per acquisire dati sulle prestazioni (tempo di caricamento, tempo di risposta, latenza, tempo di attività e tempo di inattività) dai dispositivi degli utenti, dai bot e da altri componenti software non umani.
  • Monitoraggio dell'Internet of Things (IoT): poiché gli utenti in genere accedono alle app utilizzando dispositivi mobili, la risoluzione dei problemi relativi alle app può diventare un processo complesso e dispendioso in termini di tempo. Le funzionalità di monitoraggio dell'IoT all'interno delle soluzioni APM forniscono ai team una visione unificata delle applicazioni su dispositivi connessi.
AI e AIOps: il futuro dell'APM

Come molte altre pratiche e soluzioni per le operazioni IT (ITOps), gli strumenti APM sono cambiati in modo significativo con la proliferazione dell'intelligenza artificiale (AI) e l'evoluzione del cloud computing.

In passato, il campionamento periodico associato agli strumenti APM tradizionali era sufficiente per la gestione delle applicazioni monolitiche e delle applicazioni distribuite tradizionali (dove il nuovo codice viene rilasciato periodicamente e i workflow, le dipendenze, i server e le risorse correlate sono ben noti o facilmente rintracciabili).

Tuttavia oggi, poiché le aziende adottano pratiche di sviluppo di applicazioni moderne e tecnologie cloud-native (come le metodologie Agile e DevOps, i microservizi, icontainer Docker e le funzioni Kubernetes e serverless), spesso distribuiscono nuovi componenti applicativi troppo frequentemente, in troppi linguaggi e luoghi per poter fare affidamento sulle strategie di monitoraggio tradizionali. 

Inoltre, le tecniche APM tradizionali eseguono il monitoraggio dell'esecuzione del codice per diagnosticare i problemi. Le attuali applicazioni SaaS basate sul cloud contengono tuttavia milioni di righe di codice, spesso distribuite in più container.

Ecco perché i principali strumenti APM implementano strumenti di monitoraggio edge che consentono la Full Stack Observability e si affidano a tecnologie di AI e machine learning (ML) per correlare e analizzare i dati in tempo reale.

Gli strumenti APM basati sull'AI possono funzionare in ambienti IT complessi e distribuiti, implementando algoritmi di AI che possono rapidamente analizzare grandi volumi di dati sulle prestazioni, correlare i dati sulle prestazioni con i dati contestuali e individuare la causa principale dei problemi a livello di prestazioni.

I moderni sistemi APM utilizzano anche modelli di ML per generare analytics predittiva e prevedere le tendenze delle prestazioni. Inoltre, grazie alle funzionalità di elaborazione del linguaggio naturale (NLP), il software APM può setacciare metodicamente i dati delle prestazioni e fornire ai team insight in un linguaggio semplice.

Le tecnologie di intelligenza artificiale non sono prive di sfide; attendibilità, privacy e sicurezza dei dati sono timori comuni con gli strumenti IT basati sull'AI. Tuttavia, il software APM basato sull'AI può accelerare notevolmente il monitoraggio e la risoluzione dei problemi e aiutare le aziende a prendere decisioni più intelligenti e proattive riguardo alle proprie applicazioni.

Casi d'uso APM

L'APM aiuta a garantire che le applicazioni software aziendali siano sempre efficienti e affidabili. Inoltre facilitano:

Pianificazione della capacità
 

Sulla base dei dati storici sulle prestazioni, gli strumenti APM possono prevedere il fabbisogno futuro di risorse, consentendo una pianificazione più efficace della capacità e aiutando le aziende a scalare la propria infrastruttura via via che la domanda cresce.
 

Integrazioni DevOps
 

L'APM può facilitare il feedback continuo durante il ciclo di vita dello sviluppo del software. I team possono monitorare le app sia in ambienti di staging che di produzione, aiutando gli sviluppatori a creare una cultura di feedback continuo.
 

Conformità con gli accordi sui livelli di servizio (SLA) 
 

Gli SLA impongono standard di prestazioni per la maggior parte delle applicazioni aziendali e i servizi APM forniscono i dati necessari per garantire la conformità a questi accordi. Le metriche di conformità possono essere utilizzate anche nei report degli stakeholder per dimostrare l'aderenza agli SLA.
 

Monitoraggio delle API di terze parti
 

Per le applicazioni che utilizzano API esterne, gli strumenti APM possono tracciare i tempi di risposta delle API e le percentuali di errore, affinché le organizzazioni possano identificare i problemi con i servizi di terze parti che possono influire sulle prestazioni della loro applicazione.

Benefici dell'APM

Gli strumenti APM possono aiutare a ottenere:

  • Migliore esperienza utente. Gli strumenti APM aiutano le aziende a mantenere alti i livelli di soddisfazione e coinvolgimento degli utenti, entrambi fondamentali per la customer retention e la gestione della reputazione.

  • Minore MTTD e MTTR. L'APM consente ai team di individuare e risolvere rapidamente i problemi di prestazioni e i colli di bottiglia, accelerando il tempo medio di rilevamento (il tempo impiegato da un'organizzazione per trovare un problema) e il  tempo medio di riparazione (il tempo impiegato da un'organizzazione per risolvere un problema).

  • Migliore utilizzo delle risorse. Il monitoraggio e l'analisi dei dati sulle prestazioni consentono alle organizzazioni di ottimizzare l'allocazione delle risorse, aumentando i risparmi sui costi e semplificando le operazioni.

  • Maggiore agilità aziendale. L'APM supporta metodologie agili fornendo un feedback in tempo reale sulle prestazioni, consentendo una rapida iterazione e un miglioramento continuo.

  • Migrazioni più fluide. Le funzioni di tracciamento distribuito e di mappatura dei servizi possono aiutare a garantire che le migrazioni e le modernizzazioni del cloud avvengano senza problemi e non introducano errori nella rete.

  • Migliore collaborazione tra dipendenti. Con le funzionalità di tracciamento end-to-end di APM, i team di front-end e backend possono accedere agli stessi dati contemporaneamente, facilitando processi di risoluzione dei problemi e ottimizzazione più collaborativi.
Soluzioni correlate
IBM Instana Observability

Semplifica la complessità del cloud, massimizza il tempo di attività, risolvi proattivamente i problemi e innova più velocemente con IBM Instana Observability.

Esplora IBM Instana Observability
IBM Turbonomic

Gestisci e ottimizza continuamente il tuo cloud ibrido con l'automazione intelligente.

Esplora IBM Turbonomic
Risorse Operazioni IT a prova di futuro grazie all'AI

Scopri in che modo l'AI per l'IT migliora i risultati aziendali, porta a un aumento dei ricavi e riduce i costi e i rischi per le organizzazioni.

Che cos'è il monitoraggio dell'esperienza dell'utente finale (EUEM)?

Il monitoraggio dell'esperienza dell'utente finale (EUEM) è il processo che monitora le prestazioni e l'efficacia delle operazioni IT dal punto di vista dell'utente finale.

Automazione IT supportata dall'AI

Raggiungi nuovi livelli di efficienza e resilienza nelle tue operazioni IT.

Cos'è l'ingegneria dell'affidabilità del sito (SRE)?

La SRE utilizza l'ingegneria del software per automatizzare le operazioni IT che altrimenti verrebbero eseguite manualmente dagli amministratori di sistema.

Ottieni una visibilità completa della tua allocazione di risorse di applicazioni e infrastruttura che contribuiscono al tempo di risposta degli utenti e a qualsiasi congestione di risorse.

Best practice per il monitoraggio delle applicazioni

Comprendi meglio quale sia l'approccio di monitoraggio delle applicazioni migliore per la tua azienda

Fai il passo successivo

IBM Instana consente osservabilità in tempo reale che tutti, e chiunque, possono utilizzare. Offre un rapido time to value, verificando al contempo che la strategia di osservabilità possa tenere il passo con la complessità dinamica degli ambienti di oggi e di domani. Dal mobile al mainframe, Instana supporta oltre 250 tecnologie ed è in continua crescita. 

Esplora IBM Instana Prenota una demo live