OpenTelemetry (link esterno a ibm.com), noto anche come Otel, è un framework di osservabilità open source con una raccolta di kit di sviluppo software (SDK), API indipendenti o indipendenti dal fornitore e strumenti per la strumentazione.
La tecnologia OpenTelemetry è in grado di generare, raccogliere, esportare e strumentare i dati di telemetria per analizzare il comportamento e le prestazioni della piattaforma. Gli sviluppatori e gli SRE possono utilizzare OpenTelemetry per raggiungere gli obiettivi aziendali attraverso il suo processo standardizzato di raccolta dei dati di telemetria e consentendo una migliore comprensione dei comportamenti del sistema.
I gruppi IT e i professionisti DevOps devono utilizzare la strumentazione per creare un sistema osservabile nelle applicazioni cloud-native. Il codice della strumentazione di solito variava, il che rendeva difficile per le aziende cambiare i backend. È stato difficile cambiare strumenti in quanto avrebbero dovuto ristrumentare il loro codice e riconfigurare i nuovi agenti per inviare dati di telemetria ai loro nuovi dispositivi.
Dopo aver notato la necessità di un sistema standardizzato, Cloud Native Computing Foundation (CNCF) (link esterno a ibm.com) ha sponsorizzato il progetto OpenTelemetry per creare un modo standardizzato per inviare, raccogliere e trasferire i dati di telemetria alle piattaforme di osservabilità backend. OpenTelemetry nasce dalla combinazione della tecnologia di tracciamento distribuito di OpenCensus (link esterno a ibm.com) e OpenTracing (link esterno a ibm.com) in un unico strumento.
IBM Instana Observability offre a tutti, in tutta l'azienda, un accesso di facile utilizzo ai dati desiderati con il contesto necessario per fornire una rapida prevenzione e correzione dei problemi.
Integrazione perfetta con OpenTelemetry con IBM Instana
Leggi una guida all'automazione intelligente
Per comprendere più a fondo OpenTelemetry, approfondiamo cosa sono i dati di telemetria e come la tua organizzazione può utilizzarli.
Una parte fondamentale del successo delle prestazioni dell'applicazione è l'osservabilità attraverso l'accesso ai dati. I professionisti IT utilizzano i dati di telemetria per stabilire l'integrità e le prestazioni dell'applicazione.
OpenTelemetry crea uno standard per la raccolta e il trasferimento dei dati di telemetria nelle applicazioni cloud-native. Queste metriche possono quindi essere analizzate e monitorate dalla tua organizzazione per migliorare le tue piattaforme.
I dati di telemetria sono costituiti principalmente da output raccolti da log, metriche e tracce. Questi sono spesso indicati come i tre pilastri dell'osservabilità.
Metriche: le metriche sono in genere il punto in cui noti il primo segno della presenza di un problema nel tuo sistema. Ti forniscono valori numerici o set di misurazioni che mostrano l'utilizzo delle risorse e le prestazioni dell'applicazione. I tre tipi principali di metriche sono delta, gauge e cumulative.
Tracce: le tracce valutano il modo in cui le richieste si spostano attraverso un server in ambienti cloud distribuiti. Lo esamina monitorando il modo in cui un'operazione viene trasferita da un nodo all'altro. Le tracce possono fornire solo una visibilità limitata sullo stato di salute dell'applicazione perché si concentrano esclusivamente sui livelli delle applicazioni. Per avere un quadro completo di quello che sta accadendo nel tuo sistema, è inoltre fondamentale monitorare le metriche e i registri.
La raccolta di dati di telemetria è un passo importante nel processo di OpenTelemetry e osservabilità. Successivamente, discuteremo come OpenTelemetry viene utilizzato in un ambiente cloud disperso.
L'obiettivo principale di OpenTelemetry è raccogliere ed esportare i dati di telemetria. OTel supporta i professionisti DevOps nel debug e nella gestione delle applicazioni. Una volta in possesso di questi dati, possono prendere decisioni di codifica informate e adattarsi al cambiamento e alla crescita dell'organizzazione.
Esistono tre modi principali in cui OpenTelemetry viene usato in DevOps per risolvere i problemi delle applicazioni:
Assegnare priorità alle richieste: OpenTelemetry ha la capacità unica di creare un sistema a più livelli per le richieste all'interno del suo sistema. Questo è importante in quanto alle richieste concorrenti verrà assegnata la giusta priorità.
Tieni traccia dell'utilizzo delle risorse: acquisisci le richieste tra i microserver per attribuire l'utilizzo delle risorse per gruppi. I professionisti IT possono tenere traccia dell'utilizzo di queste risorse tra sistemi condivisi.
Osservabilità dei microservizi: monitora lo stato di salute della tua applicazione registrando i dati di telemetria dalle applicazioni in sistemi distribuiti. Disporre di queste informazioni aiuterà il tuo team a ottimizzare ed eseguire correttamente la tua applicazione.
Ognuna di queste funzioni aiuta le organizzazioni a risolvere gli errori comuni durante l'esecuzione di applicazioni su sistemi cloud-native.
I vantaggi derivanti dall'utilizzo di OpenTelemetry per i tuoi progetti open source sono numerosi. Ognuno di questi vantaggi contribuirà a migliorare l'osservabilità e il monitoraggio. Questi vantaggi spiegano perché OTel è il futuro del monitoraggio delle prestazioni delle applicazioni (APM).
Coerenza: il principale vantaggio di OpenTelemetry è la coerenza della raccolta di dati OpenTelemetry tra diverse applicazioni. La mancanza di uno standard unificato crea problemi ai professionisti Dev Ops e agli SRE. OTel ora ti fa risparmiare tempo, ti offre una maggiore osservabilità e raccoglie i dati di telemetria senza dover modificare il codice. L'ampia adozione di questa tecnologia nelle organizzazioni ha reso più facile l'implementazione dei container. È simile all'adozione di massa di Kubernetes come standard per l'orchestrazione dei container.
Osservabilità semplificata: Otel semplifica l'osservabilità perché può raccogliere dati di telemetria senza modificare codice o metadati. Ora gli sviluppatori non devono più limitarsi a fornitori o backend specifici.
Flessibilità: gli sviluppatori possono monitorare le metriche delle prestazioni e l'utilizzo da qualsiasi browser o dispositivo web. La comodità di osservare l'applicazione da qualsiasi luogo semplifica il monitoraggio dell'analytics in tempo reale.
Nel complesso, il beneficio principale di OpenTelemetry è che può aiutarti a raggiungere i tuoi obiettivi aziendali ottimali. Questo software consente alla tua organizzazione di comprendere e correggere i problemi che potrebbero avere un impatto negativo sull'esperienza del cliente. OpenTelemetry fornisce i dati necessari per correggere un problema prima ancora che il servizio venga interrotto.
Maggiori informazioni: scopri come sviluppatori e SRE possono utilizzare IBM Instana e OpenTelemetryper raggiungere gli obiettivi aziendali
In poche parole, OpenTelemetry funziona combinando un'API, un SDK, un Collector e una strumentazione automatica per estrarre i dati e inviarli al sistema di destinazione. Per rendere il sistema più indipendente, è necessario eseguire diversi passaggi utilizzando questi componenti.
Un'API creerà delle tracce compilando il codice e stabilendo quali metriche devono essere raccolte. Il SDK raccoglierà, tradurrà e invierà i dati alla fase successiva. OpenTelemetry Collector elabora i dati, li filtra e li esporta in un backend supportato.
Sono molti gli elementi in gioco affinché la raccolta dati di Otel abbia successo. Di seguito è riportata una spiegazione approfondita dei quattro componenti principali di OpenTelemetry:
API: l'Application Performance Interface (API) consente a diversi componenti software di comunicare tra loro. Definisce le operazioni sui dati per la registrazione, le metriche e il tracciamento dei dati. Fondamentalmente, le API di OpenTelemetry disaccoppiano un'applicazione dall'infrastruttura, consentendo agli sviluppatori di avere la flessibilità di cambiare server che eseguono il tuo cloud. Le API sono specifiche del linguaggio (Java, Ruby, JavaScript, Python e molti altri).
SDK: i professionisti DevOps possono utilizzare gli SDK linguistici per consentire alle API Otel di generare dati di telemetria nella lingua di loro scelta. Dopo aver generato questi dati, possono esportare le informazioni nel backend desiderato. Gli SDK di OpenTelemetry consentono di collegare la strumentazione manuale delle librerie comuni con la strumentazione manuale delle applicazioni. Gli SDK sono il ponte tra le API e gli strumenti di raccolta. Si tratta di un kit di sviluppo software.
Collettore: OpenTelemetry Collector è costituito da esportatori, processori, aggregatori e ricevitori per i dati di telemetria. Può supportare Prometheus, OpenTelemetry Protocol (OTLP), Jaeger, Zipkin e altri strumenti proprietari. Il collettore può raccogliere i dati di telemetria e inviarli a più backend di osservabilità. Infine, può aiutare la tua organizzazione come pipeline di elaborazione e con il filtraggio dei dati prima dell'esportazione. Questa funzione aiuta a risolvere potenziali problemi più rapidamente.
Strumentazione automatica: è importante notare che la strumentazione automatica differisce tra i diversi linguaggi di programmazione. La strumentazione automatica elimina dall'equazione numerose noiose codifiche manuali.
Ciascuno di questi componenti costituisce il framework che rende OpenTelemetry un'aggiunta vincente per il monitoraggio della tua applicazione.
OpenTracing è un progetto open source che aiuta gli sviluppatori a compilare il codice per il tracciamento distribuito tramite API indipendenti dal fornitore. Questa funzionalità è particolarmente vantaggiosa perché non ti costringe a rimanere con un fornitore o un prodotto particolare.
Questo progetto è disponibile in nove linguaggi diversi, tra cui Ruby, Java e Python. I professionisti DevOps e IT possono utilizzare il tracciamento distribuito per ottimizzare ed eseguire il debug del codice dell'architettura software. È particolarmente utile quando si ha a che fare con i microservizi.
La CNCF ha creato OpenTelemetry unendo OpenTracing e OpenCensus in un'unica piattaforma. Da quando il progetto è stato implementato, ci sono stati più di 10.000 contributi da parte di 300 aziende. L'incoraggiamento di un'ampia collaborazione e di integrazioni ha consentito l'accesso a un ampio set di strumentazione che non ha eguali nel settore.
Se hai intenzione di scegliere tra le due piattaforme open source, sarebbe saggio scegliere OpenTelemetry dal momento che dispone di maggiori funzionalità.
OpenTelemetry sta cambiando il landscape dell'osservabilità. Analogamente a Kubernetes, che sta diventando lo standard per l'orchestrazione dei container, l'adozione di OpenTelemetry si sta ampiamente affermando per l'osservabilità. L'adozione e la popolarità di OpenTelemetry continueranno a crescere grazie ai benefici di OpenTelemetry indicati sopra.
I team del progetto OpenTelemetry continuano a lavorare per stabilizzare i componenti principali del software e creare una strumentazione automatizzata. Una volta uscito dalla fase beta, si prevede che prenderà il sopravvento sul framework di osservabilità negli ecosistemi cloud-native.
La conclusione è che OpenTelemetry non è un backend di osservabilità ma uno strumento che semplifica la raccolta e l'invio dei dati di telemetria. Instana è il pezzo finale di questa equazione come strumento di osservabilità. I formati OpenTelemetry e gli SDK possono rappresentare un percorso di migrazione per sistemi legacy e tecnologie non supportate.
La nostra organizzazione si impegna ad abbracciare appieno Otel per aiutarla a raggiungere gli obiettivi aziendali attraverso una raccolta dati semplificata. Stiamo lavorando per offrire agli utenti finali la stessa visibilità che ottengono con AutoTrace di Instana attraverso la nostra integrazione con OpenTelemetry. Prova subito gratuitamente la nostra Sandbox.
L'osservabilità fornisce visibilità approfondita sulle moderne applicazioni distribuite per un'identificazione e una risoluzione dei problemi più rapida e automatizzata.
Il software open source viene sviluppato tramite una collaborazione aperta. Il suo codice sorgente è disponibile per chiunque può utilizzarlo, esaminarlo, modificarlo e ridistribuirlo.
Automatizza le attività delle operazioni IT, accelera la distribuzione del software e riduci al minimo i rischi IT con l'ingegneria dell'affidabilità del sito.
Scopri in che modo il monitoraggio del cloud offre visibilità, automazione e controllo per supervisionare e ottimizzare le prestazioni del tuo sito Web e delle tue applicazioni.