De samensmelting van OpenTracing en OpenCensus: de weg naar convergentie

De samensmelting van OpenTracing en OpenCensus: de weg naar convergentie

Auteurs: Ted Young, Pritam Shah en het ā€˜Technische Specificaties Comite’ (Carlos Alberto, Bogdan Drutu, Sergey Kanzhelev en Yuri Shkuro).

Dit gezamenlijke project heeft de naam gekregen: http://opentelemetry.io

Heel kort:

  • We creĆ«ren een nieuwe, uniforme set bibliotheken en specificaties voor telemetrie-observatie. Dit zal de projecten OpenTracing en OpenCensus samenvoegen en een ondersteunde manier bieden voor migratie.
  • De referentie-implementatie in Java zal op 24 april beschikbaar zijn, de ontwikkeling van implementaties in andere talen zal op volle kracht beginnen vanaf 8 mei 2019. Bekijk het schema. hier.
  • Tegen september 2019 is een pariteit met bestaande projecten voor C#, Golang, Java, NodeJS en Python gepland. We hebben een hoop werk te doen, maar als we parallel werken, gaat het lukken. Als je geĆÆnteresseerd bent in deelname aan dit project, registreer dan en laat ons weten hoe je zou willen bijdragen.
  • Wanneer de implementatie in elke taal volwassen is, zullen de bijbehorende projecten OpenTracing en OpenCensus worden gesloten. Dit betekent dat oude projecten bevroren worden, terwijl het nieuwe project de bestaande tooling gedurende twee jaar blijft ondersteunen met terugwaartse compatibiliteit.

Projectoverzicht

De samensmelting van OpenTracing en OpenCensus: de weg naar convergentie

We voeren een fusie uit! Het hoogste doel is om de projecten OpenTracing en OpenCensus samen te voegen tot ƩƩn gemeenschappelijk project.
De kern van het nieuwe project zal bestaan uit een set duidelijke en doordachte interfaces, inclusief de traditionele bundeling van bibliotheken die deze interfaces implementeren in de vorm van zogenaamde SDK's. De kers op de taart zal bestaan uit aanbevolen standaarden voor gegevens en transportprotocollen, inclusief gemeenschappelijke onderdelen van de infrastructuur.
Het resultaat zal een volledige telemetriesysteem zijn, geschikt voor het monitoren van microservices en andere soorten moderne gedistribueerde systemen, compatibel met de meeste belangrijke OSS en commerciƫle basisprogramma's.

Belangrijke data

24.04 — Referentiekandidaat voor beoordeling geleverd.
8.05 — Team wordt gevormd en start met werken in alle talen.
20.05 — OfficiĆ«le lancering van het project op Kubecon Barcelona.
6.09 — Implementaties in C#, Golang, Java, NodeJS en Python bereiken pariteit met hun tegenhangers.
6.11 — OfficiĆ«le beĆ«indiging van de projecten OpenTracing en OpenCensus.
20.11 — Afscheidsfeest ter gelegenheid van de beĆ«indiging van de projecten op het Observability Summit, Kubecon San Diego.

Tijdlijn van convergentie

De samensmelting van OpenTracing en OpenCensus: de weg naar convergentie

Migratie voor elke taal omvat de ontwikkeling van een SDK die klaar is voor industriĆ«le implementatie, toolkit voor populaire bibliotheken, documentatie, CI, ondersteuning voor achterwaartse compatibiliteit en de afbouw van verwante projecten OpenCensus en OpenTracing ("ondergang"). We hebben een ambitieuze doelstelling gesteld voor september 2019 — het bereiken van pariteit voor de talen C#, Golang, Java, NodeJS en Python. We zullen de datum van de "ondergang" uitstellen totdat alle talen klaar zijn. Maar het is beter om dit te vermijden.
Bij het bekijken van de doelen, denk dan aan uw persoonlijke betrokkenheid, laat het ons weten door het registratieformulier, of door een groet in de Gitter-chats van de projecten OpenTracing en OpenCensus. De infographic van de planning kan worden bekeken hier.

Doel: eerste conceptrapport van de intertaal-specificatie (afgerond op 8 mei)

Het is belangrijk om samen te werken, zelfs wanneer er parallel aan verschillende talen wordt gewerkt. De intertaal-specificatie biedt richtlijnen voor het project. Dit klinkt misschien prozaĆÆsch, maar het is een garantie voor ondersteuning van een samenhangend systeem dat bekend aanvoelt, ongeacht de programmeertaal.

Verplichte vereisten voor de eerste conceptdraft van de specificatie voor taal X:

  • Definities van algemene terminologie.
  • Model voor het beschrijven van gedistribueerde transacties, statistieken en metrics.
  • Verduidelijkingen van belangrijke vragen die zijn ontstaan tijdens de implementatie.

Dit doel blokkeert andere werkzaamheden, de eerste conceptdraft moet voor 8 mei zijn afgerond.

Doel: eerste conceptrapport voor de dataspecificatie (afgerond op 6 juli)

De dataspecificatie definieert een algemeen gegevensformaat voor traceringen en metrics, zodat gegevens die door alle processen worden geƫxporteerd door dezelfde telemetrie-infrastructuur kunnen worden verwerkt, ongeacht het gegevensgeneratieproces. Dit omvat het gegevensschema voor het traceringmodel dat in de intertaal-specificatie wordt beschreven. Ook zijn er definities van metadata voor gemeenschappelijke bewerkingen die de tracering gebruikt voor vastlegging: bijvoorbeeld, HTTP-verzoeken, fouten en databasequeries. Deze semantische overeenkomsten zijn voorbeelden.

De eerste conceptdraft is gebaseerd op het huidige gegevensformaat van OpenCensus en zal het volgende bevatten:

  • Gegevensschema dat de intertaal-specificatie implementeert.
  • Definities van metadata voor algemene operaties.
  • Definities van JSON en Protobuf.
  • Implementatie van referentieklanten.

Houd er rekening mee dat er ook een bedraad protocol bestaat dat tracering door middel van bandbreedte verspreidt, en dat we ook graag willen standaardiseren. Verspreidingsformaat Trace-Context wordt ontwikkeld door W3C.

Doel: pariteit in alle belangrijkste ondersteunde talen (voltooiing vóór 6 september)

We moeten pariteit bereiken voor het huidige talige ecosysteem in de volgorde van vervangingen van oude projecten door nieuwe.

  • Definities van de interface voor tracering, metrics en contextverspreiding op basis van een intertaal specificatie.
  • Een werkende SDK die deze interfaces implementeert en Trace-Data exporteert. Waar mogelijk zal de SDK worden gemaakt door een bestaande implementatie van OpenCensus over te brengen.
  • Toolkit voor populaire bibliotheken die momenteel worden gedekt in OpenTracing en OpenCensus.

We waarderen ook achterwaartse compatibiliteit en willen een soepele overgang van bestaande projecten waarborgen.

  • De nieuwe SDK zal tools voor achterwaartse compatibiliteit bevatten met de huidige OpenTracing interfaces. Hierdoor kunnen verouderde OpenTracing-tools samen met nieuwe tools in hetzelfde proces werken, zodat gebruikers geleidelijk hun tools kunnen overdragen.
  • Bij de gereedheid van de nieuwe SDK zal er een upgradeplan worden opgesteld voor de huidige OpenCensus-gebruikers. Net als bij OpenTracing zullen verouderde tools blijven functioneren samen met nieuwe.
  • Tegen november zullen zowel OpenTracing als OpenCensus worden gesloten voor wijzigingen. Achterwaartse compatibiliteit met verouderde tools zal gedurende twee jaar worden ondersteund.

Het creƫren van een SDK van topklasse voor elke taal vereist enorme inspanningen, en dat is precies wat we het meest nodig hebben.

Doel: documentatie op hoofdniveau (voltooiing vóór 6 september)

Een cruciale factor voor het succes van elk open source-project is documentatie. We willen eersteklas documentatie en leermiddelen hebben, onze technische schrijvers zijn de meest actieve ontwikkelaars van het project. Het onderwijzen van ontwikkelaars over hoe ze software op de juiste manier moeten observeren is een van de belangrijkste invloeden die we op de wereld willen uitoefenen.

Minimaal noodzakelijke onderdelen van documentatie om te beginnen:

  • ProjectoriĆ«ntatie.
  • Observability 101.
  • Aan de slag.
  • Handleidingen per taal (apart voor elke).

We nodigen schrijvers van elk niveau uit! Onze nieuwe site is gebaseerd op Hugo en gebruikt standaardmarkup, dus het is heel gemakkelijk om bij te dragen.

Doel: Registry v1.0 (afgerond voor 6 juli)

Registry — een ander cruciaal onderdeel, een verbeterde versie. OpenTracing Registry.

  • Gemakkelijk om bibliotheken, plugins, installateurs en andere componenten te vinden.
  • Eenvoudig beheer van de Registry-componenten.
  • Je kunt zien welke SDK-functies beschikbaar zijn in elke taal.

Als je geĆÆnteresseerd bent in design, interface en UX — we hebben een geweldig project voor persoonlijke betrokkenheid.

Doel: infrastructuur voor testen en uitrollen van software (afgerond voor 6 september)

Om te blijven leveren aan betrouwbare veilige code, hebben we een projectverbintenis voor het creƫren van hoogwaardige pijplijnen voor testen en uitrol van software. Laat ons weten of je kunt zorgen voor de pijplijnen voor testen, prestatiemeting en uitrol van software. We stellen het productieniveau duidelijk vast, en de volwassenheid van de testinfrastructuur zal een beslissende factor voor ons zijn.

Doel: afsluiting van de OpenTracing en OpenCensus-projecten (afgerond voor 6 november)

We plannen de start van de afsluiting van oude projecten op 6 september, mits het nieuwe project gelijke tred houdt. Twee maanden later, bij pariteit van alle talen, plannen we de afsluiting van de OpenTracing en OpenCensus-projecten. Dit moet worden begrepen als:

  • de repositories zullen worden bevroren, verdere aanpassingen zullen niet meer worden gemaakt.
  • voor de huidige toolkit is een ondersteuning van twee jaar gepland.
  • gebruikers kunnen upgraden naar de nieuwe SDK met de oude toolkit.
  • ge geleidelijke upgrade zal mogelijk zijn.

Sluit je aan

We zijn blij met elke hulp, want dit is een enorm project. Als je meer wilt weten over observability — nu is het de tijd!

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster