Spoj OpenTracing i OpenCensus: put ka konvergenciji

Spoj OpenTracing i OpenCensus: put ka konvergenciji

Autori: Ted Yang, Pritam Shah i 'Odbor tehničkih specifikacija' (Carlos Alberto, Bogdan Drutu, Sergey Kanjalev i Yuriy Shkuro).

Zajednički projekt dobio je naziv: http://opentelemetry.io

Vrlo, vrlo kratko:

  • Stvaramo novi unificirani skup biblioteka i specifikacija za mogućnost nadgledanja telemetrije. On će objediniti projekte OpenTracing i OpenCensus, kao i pružiti podržani način migracije.
  • Referentna implementacija na Javi bit će dostupna 24. travnja, a rad na implementacijama na drugim jezicima započet će u punoj mjeri od 8. svibnja 2019. godine. Upoznajte se s rasporedom možete ovdje.
  • Do rujna 2019. planiran je paritet s postojećim projektima za C#, Golang, Java, NodeJS i Python. Predstoji nam mnogo posla, ali ćemo uspjeti ako budemo radili paralelno. Ako ste zainteresirani za sudjelovanje u ovom projektu, molimo vas da se prijavite i javite nam kako biste željeli pomoći.
  • Kada implementacija na svakom jeziku postane zrela, odgovarajući projekti OpenTracing i OpenCensus će se zatvoriti. To znači obustavu starih projekata, a novi projekt će nastaviti podržavati postojeći alat za naredne dvije godine, koristeći unazad kompatibilnost.

Pregled projekta

Spoj OpenTracing i OpenCensus: put ka konvergenciji

Sprovodimo spajanje! Najviši cilj je ujediniti projekte OpenTracing i OpenCensus u jedan zajednički projekt.
Jezgra novog projekta bit će skup čistih i promišljenih sučelja, uključujući tradicionalnu kolekciju biblioteka koje implementiraju ta sučelja u obliku tzv. SDK-a. Šlag na tortu bit će preporučeni standardi za podatke i žičane protokole, uključujući zajedničke dijelove infrastrukture.
Kao rezultat imat ćemo potpuno funkcionalan telemetrijski sustav, prikladan za nadgledanje mikroservisa i drugih tipova modernih distribuiranih sustava, kompatibilan s većinom glavnih OSS i komercijalnih osnovnih programa.

Glavni događaji

24.04 — Referentni kandidat predstavljen na recenziju.
8.05 — Formira se tim koji započinje rad na svim jezicima.
20.05 — Službeno pokretanje projekta na Kubecon Barcelona.
6.09 — Implementacije na C#, Golang, Java, NodeJS i Python postižu paritet s analozima.
6.11 — Službeno zatvaranje projekata OpenTracing i OpenCensus.
20.11 — Oproštajna zabava u čast završetka projekata na Observability Summit, Kubecon San Diego.

Kronologija konvergencije

Spoj OpenTracing i OpenCensus: put ka konvergenciji

Migracija za svaki jezik uključuje sastavljanje SDK-a spremnog za industrijsku primjenu, alate za popularne biblioteke, dokumentaciju, CI, sredstva za unatrag kompatibilnost i zatvaranje povezanih projekata OpenCensus i OpenTracing („zalazak sunca“). Postavili smo ambiciozan cilj za rujan 2019. godine - postizanje pariteta za jezike C#, Golang, Java, NodeJS i Python. Pomaknut ćemo datum „zalaska sunca“ sve dok svi jezici ne budu spremni. Međutim, bolje je to izbjeći.
Kada razmatrate ciljeve, molimo vas da razmislite o svom osobnom sudjelovanju i obavijestite nas o tome ispunjavanjem registracijske forme, ili pozdravom u Gitter chatovima projekata OpenTracing i OpenCensus. Grafikon u obliku infografike možete pregledati ovdje.

Cilj: prvi nacrt međujezične specifikacije (završetak do 8. svibnja)

Važno je raditi ujedinjeno, čak i kada radite paralelno na različitim jezicima. Međujezična specifikacija osigurava vodič za projekt. Zvuči prozaično, ali to je jamstvo podrške cjelovitom sustavu koji izgleda poznato neovisno o programskom jeziku.

Obavezni zahtjevi za prvi nacrt specifikacije za jezik X:

  • Definicije zajedničke terminologije.
  • Model za opisivanje distribuiranih transakcija, statistike i metrika.
  • Objašnjenja važnih pitanja koja su se pojavila tijekom implementacije.

Ovaj cilj blokira ostale radove, prvi nacrt mora biti završen do 8. svibnja.

Cilj: prvi nacrt za specifikaciju podataka (završetak do 6. srpnja)

Specifikacija podataka definira zajednički format podataka za tragove i metrike, tako da se podaci koje izvoze svi procesi mogu obraditi istom telemetrijskom infrastrukturom neovisno o procesu generiranja podataka. Uključuje shemu podataka za model traganja, opisanu u međujezičnoj specifikaciji. Također uključuje definicije metapodataka za zajedničke operacije koje trag koristi za hvatanje: na primjer, HTTP zahtjevi, pogreške i upiti u bazi podataka. Ovi semantička uvjetovanja su primjer.

Prvi nacrt temelji se na trenutnom formatu podataka OpenCensus i sadržavat će sljedeće:

  • Shema podataka koja implementira međujezičnu specifikaciju.
  • Definicije metapodataka za zajedničke operacije.
  • Definicije JSON i Protobuf.
  • Implementacija referentnih klijenata.

Molimo vas da obratite pažnju da također postoji protokol s žičanom vezom koji prenosi obrade unutar prostora i koji bismo također željeli standardizirati. Format distribucije Trace-Context razvija se putem W3C-a.

Cilj: paritet između svih glavnih podržanih jezika (završetak do 6. rujna)

Moramo postići paritet za trenutni jezični ekosustav zamjenom starih projekata novima.

  • Definicije sučelja za praćenje, metrike i distribuciju konteksta temeljenog na međujezičnoj specifikaciji.
  • SDK spreman za rad, koji implementira ova sučelja, izvozi Trace-Data. Kada je moguće, SDK će biti stvoren premještanjem postojećih implementacija iz OpenCensus-a.
  • Alatni set popularnih biblioteka koji su trenutno pokriveni OpenTracingom i OpenCensusom.

Također cijenimo unazadnu kompatibilnost i želimo osigurati nesmetan prijelaz s postojećih projekata.

  • Novi SDK će sadržavati sredstva za unazadnu kompatibilnost s trenutnim sučeljima OpenTracing. Oni će omogućiti zastarjelim alatom OpenTracing da rade zajedno s novim alatima u istom procesu, što će korisnicima omogućiti postupno prebacivanje svojih rješenja.
  • Priprema plan za ažuriranje za trenutne korisnike OpenCensus-a kada novi SDK bude spreman. Baš kao i u slučaju OpenTracing-a, zastarjeli alati će moći nastaviti raditi zajedno s novima.
  • Do studenog će i OpenTracing i OpenCensus biti zatvoreni za prihvaćanje promjena. Unazadna kompatibilnost sa zastarjelim alatima će se podržavati tijekom dvije godine.

Stvaranje najboljeg u klasi SDK-a za svaki jezik zahtijeva ogroman trud, i upravo je to ono što nam najviše treba.

Cilj: osnovna dokumentacija (završetak do 6. rujna)

Kritični faktor uspjeha bilo kojeg projekta s otvorenim izvorom je dokumentacija. Želimo imati vrhunski dokumentacijski materijal i sredstva za obuku, naši tehnički pisci su najaktivniji programeri na projektu. Obuka programera kako pravilno nadzirati softver je jedan od najvažnijih utjecaja koje želimo ostvariti u svijetu.

Za početak su minimalno potrebne sljedeće dijelove dokumentacije:

  • Orijentacija projekta.
  • Promatranje 101.
  • Kako početi.
  • Vodiči za jezike (odvojeno za svaki).

Pozivamo pisce svih razina! Naša nova web stranica temelji se na Hugu, koristeći običnu oznaku, pa je prilično lako doprinijeti.

Cilj: Registry v1.0 (završiti do 6. srpnja)

Registry — još jedna ključna komponenta, poboljšana verzija OpenTracing Registry.

  • Lako je pronaći knjižnice, dodatke, instalacijske programe i ostale komponente.
  • Jednostavno upravljanje komponentama Registry.
  • Možete saznati koje su SDK funkcije dostupne na svakom jeziku.

Ako ste zainteresirani za dizajn, korisničko sučelje i UX — imamo izvrsan projekt za osobno sudjelovanje.

Cilj: infrastruktura za testiranje i izdavanje softvera (završiti do 6. rujna)

Kako bismo nastavili isporučivati siguran kod u koji se može imati povjerenja, imamo projektno opredjeljenje za izradu kvalitetnih cjevovoda za testiranje i izdavanje softvera. Molimo javite nam ako možete osigurati cjevovode za testiranje, mjerenje performansi i izdavanje softvera. Jasno označavamo razinu spremnosti proizvodnje, a zrelost testne infrastrukture će biti glavni odlučujući faktor za nas.

Cilj: zatvaranje projekata OpenTracing i OpenCensus (završiti do 6. studenog)

Planiramo započeti zatvaranje starih projekata 6. rujna, ako novi projekt postigne paritet s njima. Dva mjeseca kasnije, pri paritetu svih jezika, planiramo zatvoriti projekte OpenTracing i OpenCensus. Ovo se treba razumjeti kao:

  • repozitoriji će biti zamrznuti, izmjene više neće biti dopuštene.
  • za trenutni alat je planirana dvogodišnja podrška.
  • korisnici će moći nadograditi na novi SDK, koristeći prethodni alat.
  • bit će moguće postupno ažuriranje.

Pridružite se

Bit ćemo zahvalni na svakoj pomoći, jer je ovo ogroman projekt. Ako vas zanima nadgledanje — sada je pravo vrijeme!

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster