Il monitoraggio delle prestazioni: l’APM, i wire data e la legge del martello

Dynatrace sul rapporto tra APM e wire data

A cura di Gary Keiser, Subject Matter Expert in Network Performance Analytics at Dynatrace

Recentemente ho letto un articolo sull’utilizzo dei wire data per analizzare le prestazioni delle applicazioni e ricordo come l’uso da parte dell’autore del termine “APM” in questo contesto avesse destato le lamentele di un lettore. Anch’io a volte ho fatto riferimento all’offerta wire data di Dynatrace (Data Center Real User Monitoring o DC RUM)) definendola “APM for IT Operations” o “probe-based APM”. Ora la domanda è: i wire data si possono definire a tutti gli effetti APM, che tipo di intuizioni comportano nel contesto del monitoraggio delle applicazioni?

Per capirlo è necessario partire dalla definizione dell’APM che, in termini generali, si può descrivere come “il monitoraggio e la gestione delle prestazioni e della disponibilità delle applicazioni software”. Si ottiene misurando i tempi di risposta degli utenti, il volume delle transazioni (carico) e il consumo delle risorse e correlandoli per aiutare a identificare i colli di bottiglia del sistema. Nella pratica questa definizione è un po’ vaga. Possiamo comprendere meglio il concetto rifacendoci a Gartner e all’identificazione di tre dimensioni funzionali dell’APM:

  1. Il monitoraggio dell’esperienza digitale – che comprendere la disponibilità e le prestazioni degli utenti reali e sintetici.
  2. L’application discovery, tracciamento e diagnostica –  con l’analisi dei servizi applicativi e la tracciabilità delle transazioni attraverso tutta l’infrastruttura e in profondità fino a livello del codice
  3. Le application analytics – automatizzando l’isolamento e l’analisi dei colli di bottiglia delle prestazioni e dei domini di errore

Se vogliamo definire i wire data, invece, dobbiamo fare riferimento in generale a quell’approccio che consiste nella raccolta delle informazioni – su prestazioni, disponibilità, utilizzo, sicurezza, utenti, applicazioni, reti, e molto altro ancora.

Il tipo di informazioni raccolte e il valore che ne consegue dipende in gran parte dalle analisi applicate ai dati. A differenza della tecnologia agent, tuttavia, i wire data sono indipendenti dalla piattaforma e indifferenti rispetto all’architettura applicativa originale. I wire data si basano sul protocollo di decodifica per poter essere rilevanti. I primi esempi tier comprendono HTTP, SAPGUI, Oracle Forms, Epic, e Citrix ICA, mentre altri casi di back-end comprendono SOAP, varie forme di SQL, WebSphere MQ, CORBA, e altro ancora.

Le analitiche trasformano la comprensione di questi wire data in informazioni utili. In martelloDynatrace, ad esempio, abbiamo costruito una piattaforma di analisi dei wire data (DC RUM), che si focalizza sul poter offrire intuizioni utili rispetto alle prestazioni delle applicazioni e degli utenti – rispecchiando in effetti molte delle funzionalità di base che Gartner indica tra le tre dimensioni dell’APM.

Una volta definiti i due ambiti è ora di comprendere il rapporto che sussiste tra APM e wire data. Per farlo vorrei rifarmi alla legge di Maslow sul martello: “Se tutto quello che hai è un martello, i problemi possono essere solo i chiodi”.

Se, infatti, il limite principale dei wire data rispetto all’APM può semplicemente essere la mancanza di intuizioni a livello di codice, è anche vero che i wire data offrono una visibilità notevole e migliore sull’infrastruttura di rete, così come sull’applicazione a livello aziendale; in questo senso, per i team delle IT operation sfruttare i wire data è fondamentale, e si tratta spesso di accettare un ragionevole compromesso.

In sintesi, il rapporto tra wire data e APM non si può ridurre a un “gioco a somma zero”, dove i benefici di un approccio escludono quelli dell’altro si tratta invece di ottenere benefici reali attraverso molteplici punti di vista sulle prestazioni, unendo una prospettiva agent inside-out – con profonde intuizioni a livello di codice – alla prospettiva outside-in dei wire data, con la sua maggiore consapevolezza a livello di rete.
Il punto quindi, non è discutere i meriti di una tecnologia specifica per la raccolta dei dati, ma di offrire una soluzione articolata che soddisfi le esigenze delle molteplici parti interessate, coprendo l’intero portfolio delle applicazioni.

In questo contesto, è necessario ridefinire il monitoraggio in modo da comprendere ogni utente e ogni applicazione in qualsiasi luogo. Per raggiungere questo obiettivo non bisognerà, però, adottare delle soluzioni separate per i diversi ambienti, ma una soluzione unificata e modulare AI-driven che offra una copertura completa per ambienti enterprise, web e newstack.

Quindi, i wire data si possono definire APM? Alcuni vendor APM continuano a sostenere di no, ma forse il vero problema è che in questo momento hanno solo dei martelli da vendere!