L'unione di OpenTracing e OpenCensus: un percorso verso la convergenza

L'unione di OpenTracing e OpenCensus: un percorso verso la convergenza

Autori: Ted Young, Pritam Shah e il "Comitato per le specifiche tecniche" (Carlos Alberto, Bogdan Drutu, Sergey Kanzhelev e Yuri Shkuro).

Il progetto congiunto ha ricevuto il nome: http://opentelemetry.io

In breve:

  • Stiamo creando un nuovo insieme unificato di librerie e specifiche per la telemetria. Questo unirà i progetti OpenTracing e OpenCensus e fornirà un modo supportato per la migrazione.
  • L'implementazione di riferimento in Java sarà disponibile il 24 aprile, mentre il lavoro sulle implementazioni in altre lingue inizierà pienamente l'8 maggio 2019. Per il programma, consulta qui.
  • Entro settembre 2019 è previsto il paritetico con i progetti esistenti per C#, Golang, Java, NodeJS e Python. Ci aspetta molto lavoro, ma ce la faremo se lavoriamo in parallelo. Se sei interessato a partecipare a questo progetto, ti preghiamo di registrarti e farci sapere come desideri contribuire.
  • Quando l'implementazione in ogni lingua sarà matura, i progetti OpenTracing e OpenCensus corrispondenti verranno chiusi. Questo significa il congelamento dei vecchi progetti, mentre il nuovo progetto continuerà a supportare gli strumenti esistenti per due anni, utilizzando la retrocompatibilità.

Panoramica del progetto

L'unione di OpenTracing e OpenCensus: un percorso verso la convergenza

Stiamo amalgamando! L'obiettivo principale è unire i progetti OpenTracing e OpenCensus in un unico progetto comune.
Il nucleo del nuovo progetto sarà un insieme di interfacce pulite e ben progettate, includendo la tradizionale costruzione di librerie che implementano queste interfacce sotto forma di SDK. La ciliegina sulla torta saranno gli standard raccomandati per i dati e i protocolli di trasmissione, inclusi i componenti comuni dell'infrastruttura.
Il risultato sarà un sistema di telemetria completo, adatto al monitoraggio di microservizi e altri tipi di moderni sistemi distribuiti, compatibile con la maggior parte dei principali OSS e software commerciali.

Eventi principali

24.04 — Candidatura di riferimento fornita per la revisione.
8.05 — Si forma il team che inizia a lavorare su tutte le lingue.
20.05 — Lancio ufficiale del progetto al Kubecon di Barcellona.
6.09 — Le implementazioni in C#, Golang, Java, NodeJS e Python raggiungono la parità con le controparti.
6.11 — Conclusione ufficiale dei progetti OpenTracing e OpenCensus.
20.11 — Festa di addio per la conclusione dei progetti durante l'Observability Summit, Kubecon San Diego.

Cronologia della convergenza

L'unione di OpenTracing e OpenCensus: un percorso verso la convergenza

La migrazione per ogni linguaggio include l'assemblaggio di un SDK pronto per l'implementazione industriale, strumenti per librerie popolari, documentazione, CI, strumenti di compatibilità e chiusura dei progetti correlati OpenCensus e OpenTracing ("sunset"). Abbiamo fissato un obiettivo ambizioso per settembre 2019: raggiungere la parità per i linguaggi C#, Golang, Java, NodeJS e Python. Continueremo a posticipare la data del "sunset" fino a quando tutti i linguaggi non saranno pronti. Ma è preferibile evitarlo.
Quando esaminate gli obiettivi, vi preghiamo di considerare la vostra partecipazione personale, facendoci sapere compilando il modulo di registrazione, oppure salutando nei chat di progetto Gitter OpenTracing e OpenCensus. È possibile visualizzare il programma come un'infografica qui.

Obiettivo: prima bozza della specifica interlinguistica (completamento entro l'8 maggio)

È importante lavorare in modo coeso, anche quando si lavora parallelamente in lingue diverse. La specifica interlinguistica fornisce una guida per il progetto. Può sembrare prosaico, ma garantisce il supporto di un sistema integrato che sembra familiare indipendentemente dal linguaggio di programmazione.

Requisiti obbligatori per la prima bozza della specifica per il linguaggio X:

  • Definizioni della terminologia comune.
  • Un modello per descrivere transazioni distribuite, statistiche e metriche.
  • Chiarimenti su questioni importanti emerse durante l'implementazione.

Questo obiettivo blocca il resto del lavoro, la prima bozza deve essere completata entro l'8 maggio.

Obiettivo: prima bozza della specifica dei dati (completamento entro il 6 luglio)

La specifica dei dati definisce il formato generale dei dati per i tracciamenti e le metriche, consentendo così ai dati esportati da tutti i processi di essere elaborati dalla stessa infrastruttura di telemetria, indipendentemente dal processo di generazione dei dati. Include qui lo schema dei dati per il modello di tracciamento, descritto nella specifica interlinguistica. Sono incluse anche le definizioni dei metadati per le operazioni comuni che il tracciamento utilizza per la cattura: ad esempio, le richieste HTTP, gli errori e le query al database. Questi accordi semantici sono un esempio.

La prima bozza si basa sul formato attuale dei dati OpenCensus e conterrà quanto segue:

  • Uno schema dei dati che implementa la specifica interlinguistica.
  • Definizioni dei metadati per operazioni comuni.
  • Definizioni JSON e Protobuf.
  • Implementazione di client di riferimento.

Si prega di notare che esiste anche un protocollo wired che distribuisce i tracciamenti intra-sito, e che ci piacerebbe standardizzare. Il formato di distribuzione Trace-Context è in fase di sviluppo tramite il W3C.

Obiettivo: parità tra tutti i principali linguaggi supportati (completamento entro il 6 settembre)

Dobbiamo raggiungere la parità per l'attuale ecosistema linguistico, sostituendo i vecchi progetti con i nuovi.

  • Definizioni dell'interfaccia per la tracciabilità, le metriche e la distribuzione del contesto basate sulla specifica interlinguistica.
  • SDK pronto all'uso che implementa queste interfacce ed esporta i dati di tracciamento. Se possibile, l'SDK sarà creato trasferendo l'implementazione esistente da OpenCensus.
  • Strumenti per le librerie popolari attualmente coperte in OpenTracing e OpenCensus.

Valutiamo anche la retrocompatibilità e vogliamo garantire una transizione senza problemi dai progetti esistenti.

  • Il nuovo SDK includerà strumenti di retrocompatibilità con le attuali interfacce OpenTracing. Questi consentiranno agli strumenti OpenTracing obsoleti di funzionare insieme ai nuovi strumenti nello stesso processo, permettendo agli utenti di migrare gradualmente i propri lavori.
  • Quando il nuovo SDK sarà pronto, sarà sviluppato un piano di aggiornamento per gli attuali utenti di OpenCensus. Come nel caso di OpenTracing, gli strumenti obsoleti potranno continuare a funzionare insieme ai nuovi.
  • Entro novembre, sia OpenTracing che OpenCensus non accetteranno più modifiche. La compatibilità con gli strumenti obsoleti sarà supportata per due anni.

Creare un SDK di classe mondiale per ogni linguaggio richiede un enorme sforzo, ed è proprio di questo che abbiamo più bisogno.

Obiettivo: documentazione principale (completamento entro il 6 settembre)

Un fattore critico per il successo di qualsiasi progetto open source è la documentazione. Vogliamo avere una documentazione di prima qualità e strumenti per la formazione; i nostri scrittori tecnici sono i più attivi nel progetto. Formare gli sviluppatori a monitorare correttamente il software è uno degli impatti più significativi che desideriamo avere sul mondo.

Le seguenti parti della documentazione sono minimamente necessarie per iniziare:

  • Orientamento del progetto.
  • Osservabilità 101.
  • Iniziamo.
  • Guide per i linguaggi (separatamente per ciascuno).

Invitiamo scrittori di ogni livello! Il nostro nuovo sito è basato su Hugo, utilizzando markup standard, quindi è molto facile contribuire.

Obiettivo: Registry v1.0 (completamento entro il 6 luglio)

Registry — un altro componente fondamentale, versione migliorata OpenTracing Registry.

  • Trova facilmente librerie, plugin, installer e altri componenti.
  • Gestione semplice dei componenti del Registry.
  • Scopri quali funzioni dell'SDK sono disponibili in ogni linguaggio.

Se sei interessato al design, all'interfaccia e all'UX, abbiamo un ottimo progetto per la tua partecipazione personale.

Obiettivo: infrastruttura per testare e rilasciare software (completamento entro il 6 settembre)

Per continuare a fornire codice sicuro di cui ci si può fidare, abbiamo un impegno progettuale per creare pipeline di alta qualità per testare e rilasciare software. Ti preghiamo di farci sapere se puoi occuparsi delle pipeline per test, misurazione delle prestazioni e rilascio di software. Indichiamo chiaramente il livello di prontezza della produzione e la maturità dell'infrastruttura di test sarà un fattore chiave per noi.

Obiettivo: chiusura dei progetti OpenTracing e OpenCensus (completamento entro il 6 novembre)

Prevediamo di iniziare la chiusura dei vecchi progetti a partire dal 6 settembre, se un nuovo progetto raggiungerà la parità con essi. Due mesi dopo, al raggiungimento della parità di tutte le lingue, pianifichiamo la chiusura dei progetti OpenTracing e OpenCensus. Questo va inteso come:

  • i repository saranno congelati, non verranno più apportate modifiche.
  • per gli strumenti attuali è previsto un supporto di due anni.
  • gli utenti potranno aggiornarsi al nuovo SDK utilizzando gli strumenti precedenti.
  • sarà possibile un aggiornamento graduale.

Unisciti a noi

Saremo lieti di qualsiasi aiuto, poiché si tratta di un progetto enorme. Se sei interessato a saperne di più sull'osservabilità, questo è il momento!

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster