Fúzia OpenTracing a OpenCensus: cesta k konvergencii

Fúzia OpenTracing a OpenCensus: cesta k konvergencii

Autori: Ted Yang, Pritham Shah a "Výbor technických špecifikácií" (Carlos Alberto, Bogdan Drutu, Sergey Kanzhelev a Yuri Shkuro).

Spoločný projekt dostal názov: http://opentelemetry.io

Veľmi, veľmi stručne:

  • Vytvárame nový unified súbor knižníc a špecifikácií pre monitoring telemetrie. Spojí projekty OpenTracing a OpenCensus a poskytne podporu pre migráciu.
  • Referenčná implementácia v Jave bude dostupná 24. apríla, práce na implementáciách v iných jazykoch sa začnú naplno od 8. mája 2019. Zoznámiť sa s plánom môžete tu.
  • Do septembra 2019 je plánovaný paritný stav s existujúcimi projektmi pre C#, Golang, Java, NodeJS a Python. Čaká nás veľa práce, ale stihneme to, ak budeme pracovať súčasne. Ak máte záujem sa na tomto projekte podieľať, prosím, zaregistrujte sa a povedzte nám, ako by ste chceli prispieť.
  • Keď implementácia v každom jazyku dosiahne zrelosť, príslušné projekty OpenTracing a OpenCensus budú uzavreté. To znamená zmrazenie starých projektov a nový projekt bude naďalej podporovať existujúce nástroje počas dvoch rokov so zachovaním spätnej kompatibility.

Prehľad projektu

Fúzia OpenTracing a OpenCensus: cesta k konvergencii

Robíme fúziu! Najvyšším cieľom je spojiť projekty OpenTracing a OpenCensus do jedného spoločného projektu.
Jadro nového projektu bude súborom čistých a premyslených rozhraní, vrátane tradičného balíka knižníc, ktoré realizujú tieto rozhrania vo forme takzvaného SDK. Čerešničkou na torte budú odporúčané štandardy pre dáta a drôtové protokoly, vrátane spoločných častí infraštruktúry.
Výsledkom bude plnohodnotný telemetrický systém, vhodný na monitoring mikroslužieb a iných typov moderných distribuovaných systémov, kompatibilný s väčšinou hlavných OSS a komerčných základných programov.

Hlavné udalosti

24.04 — Referenčný kandidát predložený na posúdenie.
8.05 — Tvorí sa tím, ktorý začne pracovať vo všetkých jazykoch.
20.05 — Oficiálne spustenie projektu na Kubecon Barcelona.
6.09 — Implementácie pre C#, Golang, Java, NodeJS a Python dosahujú paritu s analogickými.
6.11 — Oficiálne ukončenie projektov OpenTracing a OpenCensus.
20.11 — Rozlúčková párty k ukončeniu projektov na Observability Summit, Kubecon San Diego.

Chronológia konvergencie

Fúzia OpenTracing a OpenCensus: cesta k konvergencii

Migrácia pre každý jazyk zahŕňa zostavenie SDK, pripraveného na priemyselné nasadenie, nástroje pre populárne knižnice, dokumentáciu, CI, prostriedky spätnej kompatibility a uzavretie súvisiacich projektov OpenCensus a OpenTracing ("západ"). Stanovili sme ambiciózny cieľ na september 2019 – dosiahnuť paritu pre jazyky C#, Golang, Java, NodeJS a Python. Budeme posúvať dátum "západu" dovtedy, kým nebudú všetky jazyky pripravené. Je však lepšie sa tomu vyhnúť.
Pri prezeraní cieľov, prosím, zohľadnite svoju osobnú účasť a dajte nám o tom vedieť vyplnením registrácie, alebo pozdravením v chatoch Gitter projektov OpenTracing a OpenCensus. Môžete si pozrieť grafiku vo formáte infografiky tu.

Cieľ: prvý návrh medzi jazykovej špecifikácie (ukončenie do 8. mája)

Je dôležité pracovať súdržne, aj keď sa pracuje súčasne na rôznych jazykoch. Medzi jazyková špecifikácia poskytuje usmernenie pre projekt. Znie to prozaicky, ale je to záruka podpory integrovaného systému, ktorý sa zdá byť známy bez ohľadu na programovací jazyk.

Povinné požiadavky pre prvý návrh špecifikácie pre jazyk X:

  • Definície spoločnej terminológie.
  • Model na opis distribuovaných transakcií, štatistík a metrík.
  • Vysvetlenia k dôležitým otázkam, ktoré sa objavili počas implementácie.

Tento cieľ blokuje ostatné práce, prvý návrh musí byť dokončený do 8. mája.

Cieľ: prvý návrh pre špecifikáciu údajov (ukončenie do 6. júla)

Špecifikácia údajov určuje spoločný formát údajov pre trasovanie a metriky, takže údaje, ktoré exportuje všetky procesy, môžu byť spracované rovnakou telemetrickou infraštruktúrou bez ohľadu na proces generovania údajov. Sem patrí schéma údajov pre model trasovania, opísaná v medzi jazykovej špecifikácii. Taktiež sú zahrnuté definície metadát pre bežné operácie, ktoré trasovanie využíva na zachytenie: napríklad HTTP dotazy, chyby a dotazy do databázy. Tieto semantické dohody sú príkladom.

Prvý návrh bude založený na aktuálnom formáte údajov OpenCensus a bude obsahovať nasledujúce:

  • Schéma údajov, realizujúca medzi jazykovú špecifikáciu.
  • Definície metadát pre bežné operácie.
  • Definície JSON a Protobuf.
  • Implementácia referenčných klientov.

Všimnite si, prosím, že existuje aj drôtový protokol, ktorý šíri trasovania vnútropásmovo a ktorý by sme tiež chceli štandardizovať. Formát distribúcie Trace-Context sa vyvíja prostredníctvom W3C.

Cieľ: parita vo všetkých hlavných podporovaných jazykoch (dokončenie do 6. septembra)

Musíme dosiahnuť paritu pre existujúci jazykový ekosystém v rámci náhrady starých projektov novými.

  • Definície rozhrania pre trasovanie, metriky a distribúciu kontextu na základe medzijazykovej špecifikácie.
  • Pripravený na použitie SDK, ktoré implementuje tieto rozhrania a exportuje Trace-Data. Ak to bude možné, SDK bude vytvorené prenesením existujúcej implementácie z OpenCensus.
  • Nástroje pre populárne knižnice, ktoré sú momentálne pokryté v OpenTracing a OpenCensus.

Taktiež oceňujeme spätnú kompatibilitu a chceme zabezpečiť plynulý prechod z existujúcich projektov.

  • Nové SDK bude obsahovať prostriedky na spätnú kompatibilitu so súčasnými rozhraniami OpenTracing. Tieto prostriedky umožnia zastaraným nástrojom OpenTracing fungovať spolu s novými nástrojmi v tom istom procese, čo umožní používateľom postupne prenášať svoje vývojové aktíva.
  • Keď bude nové SDK pripravené, bude vytvorený plán aktualizácie pre súčasných používateľov OpenCensus. Rovnako ako v prípade OpenTracing, zastarané nástroje budú môcť pokračovať v práci spolu s novými.
  • K novembru budú OpenTracing a OpenCensus uzavreté pre prijímanie zmien. Spätná kompatibilita se zastaranými nástrojmi bude podporovaná po dobu dvoch rokov.

Vytvorenie špičkového SDK pre každý jazyk si vyžaduje obrovské úsilie a presne to potrebujeme najviac.

Cieľ: základná dokumentácia (dokončenie do 6. septembra)

Kritickým faktorom úspechu každého projektu s otvoreným kódom je dokumentácia. Chceme mať špičkovú dokumentáciu a prostriedky na školenie, naši technickí spisovatelia sú najaktívnejšími vývojármi v projekte. Školenie vývojárov správneho sledovania softvéru je jedným z najdôležitejších vplyvov, ktoré chceme mať na svet.

Na začiatok sú minimálne potrebné tieto časti dokumentácie:

  • Orientácia projektu.
  • Sledovateľnosť 101.
  • Začíname.
  • Príručky pre jazyky (samostatne pre každý).

Pozývame spisovateľov všetkých úrovní! Naša nová stránka je založená na Hugo, využíva bežné značkovanie, takže je veľmi ľahké prispieť.

Cieľ: Registry v1.0 (ukončenie do 6. júla)

Registry — ďalšia kriticky dôležitá súčasť, vylepšená verzia OpenTracing Registry.

  • Jednoducho nájdete knižnice, pluginy, inštalátory a iné komponenty.
  • Jednoduché spravovanie komponentov Registry.
  • Môžete zistiť, aké funkcie SDK sú k dispozícii v každom jazyku.

Ak máte záujem o dizajn, rozhranie a UX — máme skvelý projekt na osobnú účasť.

Cieľ: infraštruktúra na testovanie a uvoľnenie softvéru (ukončenie do 6. septembra)

Aby sme pokračovali v dodávaní bezpečného kódu, na ktorý sa dá spoľahnúť, máme projektové záväzok vytvoriť kvalitné pipeline na testovanie a uvoľňovanie softvéru. Prosíme vás, aby ste nám dali vedieť, ak môžete zabezpečiť pipeline na testovanie, meranie výkonu a uvoľňovanie softvéru. Jasne definujeme úroveň pripravenosti výroby a zrelosť testovacej infraštruktúry bude pre nás kľúčovým faktorom.

Cieľ: uzavretie projektov OpenTracing a OpenCensus (ukončenie do 6. novembra)

Plánujeme začať uzatváranie starých projektov od 6. septembra, ak nový projekt dosiahne paritu s nimi. O 2 mesiace neskôr, pri parite všetkých jazykov, plánujeme uzavretie projektov OpenTracing a OpenCensus. To sa má chápať takto:

  • repozitáre budú zmrazené, úpravy sa viac nebudú vykonávať.
  • pre súčasný nástroj je naplánovaný dvojročný čas podpory.
  • používatelia sa môžu aktualizovať na nové SDK s použitím predchádzajúceho nástroja.
  • bude možné postupné aktualizovanie.

Pridajte sa

Budeme radi za každú pomoc, pretože je to obrovský projekt. Ak máte záujem o sledovanie — teraz je ten správny čas!

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster