Vereinigung von OpenTracing und OpenCensus: der Weg zur Konvergenz

Vereinigung von OpenTracing und OpenCensus: der Weg zur Konvergenz

Autoren: Ted Young, Pritam Shah und das 'Technische Spezifikationskomitee' (Carlos Alberto, Bogdan Drutu, Sergey Kanjalev und Yuri Shkuro).

Das Gemeinschaftsprojekt erhielt den Namen: http://opentelemetry.io

Sehr, sehr kurz:

  • Wir entwickeln ein neues, einheitliches Set von Bibliotheken und Spezifikationen zur Überwachung von Telemetrie. Es wird die Projekte OpenTracing und OpenCensus zusammenfassen und eine unterstützte Möglichkeit für Migration bieten.
  • Eine Referenzimplementierung in Java wird am 24. April verfügbar sein, die Arbeiten an Implementierungen in anderen Sprachen beginnen ab dem 8. Mai 2019 in vollem Umfang. Hier finden Sie den Zeitplan Hier.
  • Bis September 2019 ist die Gleichstellung mit bestehenden Projekten für C#, Golang, Java, NodeJS und Python geplant. Es liegt viel Arbeit vor uns, aber wir schaffen das, wenn wir parallel arbeiten. Wenn Sie an diesem Projekt interessiert sind, registrieren Sie sich bitte und lassen Sie uns wissen, wie Sie beitragen möchten.
  • Wenn die Umsetzung in jeder Sprache ausgereift ist, werden die entsprechenden Projekte OpenTracing und OpenCensus eingestellt. Das bedeutet, dass ältere Projekte eingefroren werden, während das neue Projekt weiterhin die bestehende Werkzeugkiste für zwei Jahre unterstützt, indem es Abwärtskompatibilität nutzt.

Projektübersicht

Vereinigung von OpenTracing und OpenCensus: der Weg zur Konvergenz

Wir führen eine Fusion durch! Das Hauptziel ist es, die Projekte OpenTracing und OpenCensus in ein gemeinsames Projekt zu vereinigen.
Der Kern des neuen Projekts wird aus einer Reihe von klaren und durchdachten Schnittstellen bestehen, einschließlich der traditionellen Zusammenstellung von Bibliotheken, die diese Schnittstellen in Form von sogenannten SDKs implementieren. Das Highlight werden empfohlene Standards für Daten und Transportprotokolle sein, einschließlich gemeinsamer Teile der Infrastruktur.
Das Ergebnis wird ein vollständiges Telemetriesystem sein, das für die Überwachung von Mikrodiensten und anderen modernen verteilten Systemen geeignet ist und mit den meisten gängigen OSS- und kommerziellen Basisprogrammen kompatibel ist.

Hauptmeilensteine

24.04 — Referenzkandidat zur Überprüfung bereitgestellt.
08.05 — Team wird gebildet und beginnt mit der Arbeit in allen Sprachen.
20.05 — Offizieller Projektstart auf der KubeCon Barcelona.
6,09 — Implementierungen in C#, Golang, Java, NodeJS und Python erreichen Parität mit ihren Pendants.
6,11 — Offizieller Abschluss der Projekte OpenTracing und OpenCensus.
20,11 — Abschiedsparty zum Abschluss der Projekte auf dem Observability Summit, Kubecon San Diego.

Chronologie der Konvergenz

Vereinigung von OpenTracing und OpenCensus: der Weg zur Konvergenz

Die Migration für jede Sprache umfasst den Bau eines SDKs, das für den industriellen Einsatz bereit ist, Tools für gängige Bibliotheken, Dokumentation, CI, Rückwärtskompatibilität und den Abschluss verwandter Projekte OpenCensus und OpenTracing („Sonnenuntergang“). Wir haben uns ein ehrgeiziges Ziel gesetzt, um im September 2019 Parität für die Sprachen C#, Golang, Java, NodeJS und Python zu erreichen. Wir werden das Datum des „Sonnenuntergangs“ verschieben, bis alle Sprachen bereit sind. Es wäre jedoch vorzuziehen, dies zu vermeiden.
Bitte denken Sie bei der Betrachtung der Ziele an Ihre persönliche Teilnahme und informieren Sie uns darüber, indem Sie das Registrierungsformularausfüllen oder in den Gitter-Chats der Projekte OpenTracing und OpenCensusHallo sagen. Den Zeitplan als Infografik können Sie hier.

Ziel: erster Entwurf der sprachübergreifenden Spezifikation (Fertigstellung bis 8. Mai)

Es ist wichtig, gemeinsam zu arbeiten, selbst wenn parallel in verschiedenen Sprachen gearbeitet wird. Die sprachübergreifende Spezifikation bietet Leitlinien für das Projekt. Es klingt prosaisch, aber es gewährleistet die Unterstützung eines integrativen Systems, das unabhängig von der Programmiersprache vertraut erscheint.

Essenziell Anforderungen für den ersten Entwurf der Spezifikation für Sprache X:

  • Definitionen der allgemeinen Terminologie.
  • Modell zur Beschreibung verteilter Transaktionen, Statistiken und Metriken.
  • Erläuterungen zu wichtigen Fragen, die während der Implementierung aufgetreten sind.

Dieses Ziel blockiert die übrigen Arbeiten, der erste Entwurf muss bis zum 8. Mai abgeschlossen sein.

Ziel: erster Entwurf für die Datenspezifikation (Abschluss bis zum 6. Juli)

Die Datenspezifikation definiert das allgemeine Datenformat für Traces und Metriken, sodass die von allen Prozessen exportierten Daten von derselben Telemetrieinfrastruktur unabhängig vom Daten生成enden Prozess verarbeitet werden können. Dies umfasst das Datenschema für das Trace-Modell, das in der intersprachlichen Spezifikation beschrieben ist. Ebenfalls enthalten sind die Definitionen von Metadaten für allgemeine Operationen, die das Trace für die Erfassung nutzt: zum Beispiel HTTP-Anfragen, Fehler und Datenbankabfragen. Diese semantischen Vereinbarungen sind ein Beispiel.

Der erste Entwurf basiert auf dem aktuellen Datenformat von OpenCensus und wird Folgendes enthalten:

  • Das Datenschema, das die intersprachliche Spezifikation umsetzt.
  • Definitionen von Metadaten für allgemeine Operationen.
  • Definitionen von JSON und Protobuf.
  • Implementierung von Referenz-Clients.

Bitte beachten Sie, dass es auch ein drahtgebundenes Protokoll gibt, das Traces intraoperational verbreitet und das wir ebenfalls standardisieren möchten. Das Verbreitungsformat Trace-Context wird über W3C entwickelt.

Ziel: Parität über alle unterstützten Hauptprogrammiersprachen (Fertigstellung bis zum 6. September)

Wir müssen Parität für das aktuelle sprachliche Ökosystem erreichen, indem wir alte Projekte durch neue ersetzen.

  • Schnittstellendefinitionen für das Trace-Tracking, Metriken und die Kontextexportierung basierend auf einer sprachübergreifenden Spezifikation.
  • Ein einsatzbereites SDK, das diese Schnittstellen implementiert und Trace-Daten exportiert. Wenn möglich, wird das SDK durch die Übertragung einer bestehenden Implementierung aus OpenCensus erstellt.
  • Ein Toolkit für die derzeit populären Bibliotheken, die in OpenTracing und OpenCensus abgedeckt sind.

Wir schätzen auch die Abwärtskompatibilität und möchten einen reibungslosen Übergang von bestehenden Projekten gewährleisten.

  • Das neue SDK wird Mittel zur Abwärtskompatibilität mit den aktuellen OpenTracing-Schnittstellen bieten. Dadurch können veraltete OpenTracing-Tools zusammen mit neuen Tools in demselben Prozess arbeiten, was es den Nutzern ermöglicht, ihre Anforderungen schrittweise zu migrieren.
  • Sobald das neue SDK bereit ist, wird ein Aktualisierungsplan für die aktuellen Nutzer von OpenCensus erstellt. Wie bei OpenTracing werden veraltete Tools weiterhin zusammen mit neuen funktionieren können.
  • Bis November werden sowohl OpenTracing als auch OpenCensus für Änderungen geschlossen. Die Rückwärtskompatibilität mit veralteten Tools wird für zwei Jahre gewährleistet.

Die Entwicklung eines erstklassigen SDK für jede Sprache erfordert immense Anstrengungen, und genau hierbei benötigen wir die meiste Unterstützung.

Ziel: Hauptdokumentation (Fertigstellung bis 6. September)

Ein kritischer Erfolgsfaktor für jedes Open-Source-Projekt ist die Dokumentation. Wir streben nach erstklassiger Dokumentation und Schulungsmaterialien; unsere technischen Schriftsteller sind die aktivsten Entwickler im Projekt. Entwicklern die richtige Überwachung von Software zu vermitteln, ist einer der bedeutendsten Beiträge, den wir in der Welt leisten möchten.

Für den Anfang sind folgende Teile der Dokumentation erforderlich:

  • Projektorientierung.
  • Monitoring 101.
  • Erste Schritte.
  • Programmierhandbücher (einzelne für jede Sprache).

Wir laden Autoren aller Erfahrungsstufen ein! Unsere neue Website basiert auf Hugo und verwendet gängige Markup, sodass es ganz einfach ist, beizutragen.

Ziel: Registry v1.0 (Fertigstellung bis 6. Juli)

Registry – eine weitere entscheidende Komponente, verbesserte Version OpenTracing Registry.

  • Bibliotheken, Plugins, Installer und andere Komponenten sind leicht zu finden.
  • Einfache Verwaltung der Registry-Komponenten.
  • Hier können Sie erfahren, welche SDK-Funktionen in jeder Sprache verfügbar sind.

Wenn Sie sich für Design, Benutzeroberfläche und UX interessieren – wir haben ein großartiges Projekt für Ihre persönliche Teilnahme.

Ziel: Infrastruktur für Softwaretests und -bereitstellung (Fertigstellung bis 6. September)

Um weiterhin sicheren, vertrauenswürdigen Code zu liefern, haben wir ein Projekt-Engagement zur Schaffung qualitativ hochwertiger Pipelines für Softwaretests und -bereitstellung. Bitte lassen Sie uns wissen, ob Sie sich um die Pipelines für Tests, Leistungsbewertungen und die Softwarebereitstellung kümmern können. Wir definieren klar den Produktionsbereitschaftsgrad, und die Reife der Testinfrastruktur wird ein entscheidender Faktor für uns sein.

Ziel: Abschluss der Projekte OpenTracing und OpenCensus (Fertigstellung bis 6. November)

Wir planen den Beginn der Schließung alter Projekte am 6. September, sofern das neue Projekt mit ihnen gleichzieht. Zwei Monate später, bei Gleichstand aller Sprachen, planen wir die Schließung der Projekte OpenTracing und OpenCensus. Dies ist so zu verstehen:

  • die Repositories werden eingefroren, Änderungen werden nicht mehr vorgenommen.
  • für die aktuelle Werkzeugausstattung ist ein zweijähriger Supportzeitraum vorgesehen.
  • Benutzer werden in der Lage sein, auf das neue SDK umzusteigen und dabei das bisherige Werkzeug zu verwenden.
  • Ein schrittweises Update wird möglich sein.

Schließen Sie sich uns an

Wir freuen uns über jede Unterstützung, da dies ein großes Projekt ist. Wenn Sie mehr über Observability erfahren möchten – jetzt ist die richtige Zeit!

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster