Negli ultimi decenni, i team IT si sono affidati principalmente agli strumenti APM per monitorare e risolvere i problemi delle applicazioni. L'APM include, tra le altre cose, il monitoraggio delle prestazioni delle applicazioni e campiona e aggrega periodicamente i dati delle applicazioni e del sistema che possono aiutare a identificare i problemi di prestazioni delle applicazioni.
L'APM analizza la telemetria rispetto agli indicatori chiave di prestazione (KPI) e assembla i risultati in dashboard di facile lettura che avvisano i team operativi e di supporto di eventuali condizioni anomale che causano (o minacciano di causare) problemi di prestazioni del sistema.
Gli strumenti APM sono efficaci per il monitoraggio e la risoluzione dei problemi delle app monolitiche e delle applicazioni distribuite tradizionali. In queste configurazioni, i nuovi rilasci di codice avvengono periodicamente e i workflow e le dipendenze tra i componenti dell'applicazione, i server e le risorse correlate sono ben noti o relativamente facili da rintracciare.
Tuttavia, oggi le organizzazioni stanno adottando la trasformazione digitale. Si stanno rapidamente spostando verso pratiche di sviluppo moderne, come lo sviluppo agile, il continuous integration and continuous deployment (CI/CD), DevOps e l'adozione di tecnologie cloud-native, come i container Docker e le funzioni serverless.
Le applicazioni moderne si basano spesso su architetture di microservizi, spesso eseguite all'interno di cluster Kubernetes in container. Di conseguenza, gli sviluppatori possono immettere sul mercato un numero maggiore di servizi, il tutto più velocemente che mai.
Ma, così facendo, distribuiscono nuovi componenti di applicazione in tutta l'architettura. Questi componenti operano in lingue e formati di dati diversi e funzionano per durate variabili, a volte solo per qualche secondo o frazione di secondo, come si è visto con le funzioni serverless. Ciò significa che ci sono più tempi di esecuzione, ognuno dei quali emette log in posizioni diverse all'interno dell'architettura.
Il campionamento dei dati una volta al minuto e i protocolli di monitoraggio tradizionali di APM non sono in grado di tenere il passo con una quantità così immensa di dati.
Le aziende necessitano invece di una telemetria dettagliata e automatizzata ad alto volume e della generazione di insight in tempo reale che gli strumenti di observability sono in grado di fornire. Questi strumenti consentono ai team di sviluppo di creare e memorizzare record in tempo reale, ad alta fedeltà, ricchi di contesto e completamente correlati di ogni applicazione, richiesta utente e transazione di dati sulla rete.