Principali vantaggi e considerazioni di OpenTelemetry
L’osservabilità è la capacità di conoscere lo stato attuale di un sistema dai dati che genera, come log, metriche e tracce. Questi tre concetti sono noti come i tre pilastri dell’osservabilità.
Attualmente sono presenti sul mercato diversi produttori di prodotti relativi alla gestione dell’osservabilità di un sistema. Queste soluzioni rispondono alle esigenze, in base alla loro funzione, dei responsabili dello sviluppo, dell’esercizio, della sicurezza e di altre parti interessate dell’organizzazione in ambienti sempre più eterogenei, il che rappresenta una sfida particolarmente difficile da affrontare nella maggior parte delle occasioni.
Questo perché alcuni hanno esigenze più strettamente legate alle applicazioni e all’analisi del loro comportamento, altri si preoccupano maggiormente del comportamento delle piattaforme su cui vengono eseguite le applicazioni e dei sistemi ad esse collegati, altri ancora di tenere sotto controllo i rischi per la sicurezza e di essere in grado di rispondere alle minacce.
Ruolo chiave di OpenTelemetry
Senza dubbio, questi sistemi ci forniranno ulteriori capacità di identificare i cambiamenti nello stato di un sistema e, se viene identificato un problema, faciliteranno la nostra reazione e ci aiuteranno a risolverlo.
OpenTelemetry, un progetto open-source guidato dalla CNCF (Cloud Native Computing Foundation) e sostenuto dai principali vendor del mercato, mira a standardizzare il modo in cui applicazioni e sistemi implementano l’osservabilità attraverso componenti, varie API e un SDK completo.
OpenTelemetry è stato progettato per unificare il livello di generazione e trasformazione dei dati di telemetria, offrendo la possibilità di esportarli nella maggior parte dei back-end di osservabilità presenti sul mercato. Attualmente è supportato come tool di strumentazione dai principali fornitori di cloud pubblici e privati (AWS, Azure, Google, OpenShift…), nonché dai principali fornitori di Software as a Service (Dynatrace, Elastic, Datadog, appDynamics, Splunk…).
L’architettura di OpenTelemetry lo rende un sistema adattabile che, a seconda delle esigenze e del tipo di segnali (log, metriche, tracce, ecc.) che vogliamo ottenere, ci permetterà di definire diversi flussi (pipeline) con capacità di trasformazione, raggruppamento ed esportazione per ognuno di essi in modo completamente indipendente.
Per quanto riguarda le capacità di strumentazione, OpenTelemetry supporta un’ampia varietà di linguaggi e ci permette di auto-strumentare le nostre applicazioni per offrire una soluzione agnostica e pronta per la produzione senza dover sviluppare una sola riga di codice.
I principali vantaggi di OpenTelemetry
I principali vantaggi di OpenTelemetry sono:
- Capacità di astrazione e disaccoppiamento con la soluzione di back-end finale, che consente ai team di sviluppo di non preoccuparsi della generazione dei segnali e di aggiungere funzionalità di migrazione e raccolta dei dati a back-end diversi in modo semplice, riducendo così il vendor locking.
- Le capacità di auto-strumentazione e raccolta di dati nelle sue diverse forme consentono l’adozione dell’osservabilità nelle fasi iniziali o precoci dello sviluppo del software, dato che per un costo molto ridotto possiamo avere le applicazioni che generano tracce, metriche e persino log.
- Adattabilità, supporto per molteplici scenari. OpenTelemetry è nato con l’idea di adattarsi a tutto l’attuale ecosistema dell’osservabilità e offre quindi molteplici capacità di integrazione e distribuzione. Un esempio potrebbe essere l’implementazione da parte di Datadog o Dynatrace del proprio agente di metriche basato su OTLP per essere compatibile con OpenTelemetry.
- Supporto per più fornitori, linguaggi e librerie. Un’ampia comunità di collaboratori e fornitori dedicati all’evoluzione dell’iniziativa. Il progetto è nato dalla fusione di due importanti iniziative come OpenCensus e OpenTracing, e fornitori come Splunk, Dynatrace, Amazon, Google, Lightstep, Microsoft e Uber hanno contribuito all’iniziativa.