Fusion d'OpenTracing et d'OpenCensus : le chemin vers la convergence

Fusion d'OpenTracing et d'OpenCensus : le chemin vers la convergence

Auteurs : Ted Young, Pritam Shah et le « Comité des spécifications techniques » (Carlos Alberto, Bogdan Drutu, Sergey Kanzelev et Yuri Shkuro).

Le projet commun a reçu le nom : http://opentelemetry.io

Très, très brièvement :

  • Nous créons un nouveau ensemble unifié de bibliothèques et de spécifications pour permettre la surveillance de la télémétrie. Il regroupera les projets OpenTracing et OpenCensus, et fournira également un moyen soutenu pour la migration.
  • Une implémentation de référence en Java sera disponible le 24 avril, le travail sur les implémentations dans d'autres langages commencera pleinement à partir du 8 mai 2019. Consultez le calendrier. peut être fait ici.
  • D'ici septembre 2019, une parité est prévue avec les projets existants pour C#, Golang, Java, NodeJS et Python. Nous avons beaucoup de travail devant nous, mais nous réussirons si nous travaillons en parallèle. Si vous êtes intéressé à participer à ce projet, veuillez vous inscrire et nous faire savoir comment vous aimeriez contribuer.
  • Lorsque l'implémentation dans chaque langue sera mature, les projets OpenTracing et OpenCensus correspondants seront fermés. Cela signifie le gel des anciens projets, tandis que le nouveau projet continuera de supporter les outils existants pendant deux ans, en utilisant la rétrocompatibilité.

Aperçu du projet

Fusion d'OpenTracing et d'OpenCensus : le chemin vers la convergence

Nous fusionnons ! L'objectif ultime est de rassembler les projets OpenTracing et OpenCensus en un seul projet commun.
Le cœur du nouveau projet sera un ensemble d'interfaces claires et bien pensées, comprenant une collection traditionnelle de bibliothèques mettant en œuvre ces interfaces sous la forme de ce qu'on appelle des SDK. La cerise sur le gâteau sera des normes recommandées pour les données et les protocoles de transport, y compris les parties communes de l'infrastructure.
Le résultat sera un système de télémétrie complet, adapté à la surveillance des microservices et d'autres types de systèmes distribués modernes, compatible avec la plupart des principaux logiciels open source et commerciaux.

Événements clés

24.04 — Le candidat de référence est soumis à examen.
08.05 — L'équipe se forme et commence à travailler dans tous les langages.
20.05 — Lancement officiel du projet à Kubecon Barcelona.
06.09 — Les implémentations en C#, Golang, Java, NodeJS et Python atteignent la parité avec leurs homologues.
06.11 — Fin officielle des projets OpenTracing et OpenCensus.
20.11 — Fête d'adieu pour célébrer la fin des projets lors de l'Observability Summit, Kubecon San Diego.

Chronologie de la convergence

Fusion d'OpenTracing et d'OpenCensus : le chemin vers la convergence

La migration pour chaque langage comprend la construction d'un SDK prêt pour une utilisation industrielle, des outils pour des bibliothèques populaires, de la documentation, CI, des outils de rétrocompatibilité et la fermeture des projets associés OpenCensus et OpenTracing (« lever de rideau »). Nous avons fixé un objectif ambitieux pour septembre 2019 - atteindre la parité pour les langages C#, Golang, Java, NodeJS et Python. Nous repousserons la date de « lever de rideau » tant que tous les langages ne seront pas prêts. Cependant, il est préférable d'éviter cela.
En consultant les objectifs, veuillez envisager votre participation personnelle, faites-le nous savoir en remplissant le formulaire d'inscription, ou en vous saluant dans les discussions sur Gitter des projets OpenTracing et OpenCensus. Vous pouvez consulter le calendrier sous forme d'infographie ici.

Objectif : première ébauche de la spécification interlangue (finalisation d'ici le 8 mai)

Il est important de travailler de manière cohésive, même en travaillant parallèlement sur différents langages. La spécification interlangue fournit des directives pour le projet. Cela peut sembler prosaïque, mais c'est une garantie de soutien à un système cohérent, qui semble familier quel que soit le langage de programmation.

Exigences obligatoires pour la première ébauche de la spécification pour le langage X :

  • Définitions de la terminologie commune.
  • Modèle pour décrire les transactions distribuées, les statistiques et les métriques.
  • Clarifications sur les questions importantes soulevées lors de la mise en œuvre.

Cet objectif bloque les autres travaux, la première ébauche doit être terminée d'ici le 8 mai.

Objectif : première ébauche pour la spécification des données (finalisation d'ici le 6 juillet)

La spécification des données définit le format de données commun pour les traces et les métriques, de sorte que les données exportées par tous les processus puissent être traitées par la même infrastructure de télémétrie, quel que soit le processus de génération de données. Cela inclut le schéma de données pour le modèle de traçage, décrit dans la spécification interlangue. Cela inclut également des définitions des métadonnées pour les opérations communes dont le traçage se sert pour capturer : par exemple, les requêtes HTTP, les erreurs et les requêtes de base de données. Ces accords sémantiques sont un exemple.

La première ébauche sera basée sur le format de données actuel d'OpenCensus et contiendra ce qui suit :

  • Schéma de données mettant en œuvre la spécification interlangue.
  • Définitions des métadonnées pour les opérations communes.
  • Définitions de JSON et Protobuf.
  • Mise en œuvre de clients de référence.

Veuillez noter qu'il existe également un protocole filaire qui diffuse des traces en bande étroite, et que nous aimerions également standardiser. Format de diffusion Trace-Context est en cours de développement par le W3C.

Objectif : parité entre tous les principaux langages pris en charge (achèvement le 6 septembre)

Nous devons atteindre la parité pour l'écosystème linguistique actuel en remplaçant les anciens projets par les nouveaux.

  • Définitions d'interface pour la traçabilité, les métriques et la diffusion de contexte basées sur une spécification inter-langue.
  • SDK opérationnel mettant en œuvre ces interfaces, exportant les données de trace. Si possible, le SDK sera créé par le portage d'une mise en œuvre existante d'OpenCensus.
  • Outils pour les bibliothèques populaires actuellement couvertes par OpenTracing et OpenCensus.

Nous attachons également de l'importance à la compatibilité descendante et souhaitons assurer une transition fluide des projets existants.

  • Le nouveau SDK comportera des moyens de compatibilité descendante avec les interfaces actuelles d'OpenTracing. Cela permettra aux outils obsolètes d'OpenTracing de fonctionner aux côtés de nouveaux outils dans le même processus, permettant aux utilisateurs de migrer progressivement leurs développements.
  • Lorsqu'il sera prêt, un plan de mise à jour sera établi pour les utilisateurs actuels d'OpenCensus. Comme pour OpenTracing, les outils obsolètes pourront continuer à fonctionner avec les nouveaux.
  • D'ici novembre, OpenTracing et OpenCensus seront fermés aux changements. La compatibilité avec les outils obsolètes sera maintenue pendant deux ans.

Créer un SDK de classe mondiale pour chaque langage nécessite un énorme travail, et c'est exactement ce dont nous avons le plus besoin.

Objectif : documentation principale (achèvement le 6 septembre)

Un facteur critique de succès pour tout projet open source est la documentation. Nous voulons avoir une documentation de premier ordre et des outils de formation, nos rédacteurs techniques étant les développeurs les plus actifs du projet. Former les développeurs à une bonne observabilité des logiciels est l'un des impacts les plus importants que nous souhaitons avoir sur le monde.

Les éléments suivants sont au minimum nécessaires pour commencer la documentation :

  • Orientation du projet.
  • Observabilité 101.
  • Commencer.
  • Guides par langage (séparément pour chacun).

Nous invitons des écrivains de tous niveaux ! Notre nouveau site est basé sur Hugo, utilisant un balisage standard, ce qui facilite grandement la contribution.

Objectif : Registry v1.0 (achèvement d'ici le 6 juillet)

Registry — un autre composant essentiel, version améliorée OpenTracing Registry.

  • Facile à trouver bibliothèques, plugins, installateurs et autres composants.
  • Gestion facile des composants Registry.
  • Vous pouvez découvrir quelles fonctionnalités SDK sont disponibles dans chaque langage.

Si vous êtes intéressé par le design, l'interface et l'UX — nous avons un excellent projet pour y participer personnellement.

Objectif : infrastructure pour tester et publier des logiciels (achèvement d'ici le 6 septembre)

Pour continuer à livrer un code sécurisé sur lequel on peut compter, nous avons un engagement projet de création de pipelines de qualité pour tester et publier des logiciels. Merci de nous faire savoir si vous pouvez vous charger des pipelines pour tester, mesurer les performances et publier des logiciels. Nous définissons clairement le niveau de préparation de l'environnement de production, et la maturité de l'infrastructure de test sera le principal facteur décisif pour nous.

Objectif : fermeture des projets OpenTracing et OpenCensus (achèvement d'ici le 6 novembre)

Nous prévoyons de commencer la fermeture des anciens projets le 6 septembre, si un nouveau projet atteint la parité avec eux. Deux mois plus tard, lorsque tous les langages seront en parité, nous prévoyons la fermeture des projets OpenTracing et OpenCensus. Cela doit être compris comme suit :

  • les dépôts seront gelés, et aucune modification ne sera plus effectuée.
  • un support de deux ans est prévu pour les outils actuels.
  • les utilisateurs pourront se mettre à jour vers le nouveau SDK en utilisant l'ancien outil.
  • il sera possible de procéder à une mise à jour progressive.

Rejoignez

Nous serons ravis de toute aide, car c'est un énorme projet. Si vous souhaitez en savoir plus sur l'observabilité — c'est le moment !

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster