Home
topics
Application Performance Management
Pubblicato: 13 novembre 2024
Autori: Chrystal R. Cina
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.
Approfondisci la tua conoscenza di FinOps e comprendi i suoi vantaggi e le sue sfide.
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).
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.
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.
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.
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.
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.
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.
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.
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:
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.
L'APM aiuta a garantire che le applicazioni software aziendali siano sempre efficienti e affidabili. Inoltre facilitano:
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.
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.
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.
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.
Gli strumenti APM possono aiutare a ottenere:
Semplifica la complessità del cloud, massimizza il tempo di attività, risolvi proattivamente i problemi e innova più velocemente con IBM Instana Observability.
Gestisci e ottimizza continuamente il tuo cloud ibrido con l'automazione intelligente.
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.
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.
Raggiungi nuovi livelli di efficienza e resilienza nelle tue operazioni IT.
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.
Comprendi meglio quale sia l'approccio di monitoraggio delle applicazioni migliore per la tua azienda