Démarrer avec OpenTelemetry
Longue-vue dirigée vers une ville au loin

Qu'est-ce qu'OpenTelemetry ? 

OpenTelemetry est un projet open source et une norme pour l'instrumentation des services, ou une façon de mesurer les performances. Ce projet fournit une seule interface de programmation des applications (API), des bibliothèques, des intégrations, et un kit de développement de logiciel (SDK) pour les langages de programmation, dont Java, Go et Python. Il n'est pas nécessaire pour les équipes DevOps qui utilisent l'API standardisée de se préoccuper des changements de code lorsqu'ils passent d'un SDK à l'autre. Cela leur permet ainsi de gagner du temps, de limiter leurs efforts et d'optimiser les activités d'amélioration des performances et de résolution des problèmes.

Parrainé par la Cloud Native Computing Foundation (CNCF), OpenTelemetry a remplacé OpenTracing et OpenCensus. L'objectif est de standardiser la façon dont les données télémétriques sont collectées et envoyées à une plateforme backend.  Il définit un service collecteur centralisé que vous pouvez utiliser pour collecter les données télémétriques de vos applications et services. Il comprend également des exportateurs pour envoyer ces données à la plateforme d’observabilité de votre choix.

OpenTelemetry couvre trois aspects du monitoring de logiciels : l'implémentation de l'instrumentation d'enregistrement, la capture des données et l'exportation des informations pour les analyser. En outre, si les équipes de développement souhaitent ne pas être tenues d'utiliser un prestataire particulier, elles n'ont pas besoin de créer manuellement des solutions de monitoring, car OpenTelemetry fonctionne indépendamment du fournisseur. Vous n'êtes donc pas obligé d'utiliser les bibliothèques d'instrumentation du fournisseur de la solution pour répondre aux spécifications du client.

Cas d'utilisation les plus appréciables avec OpenTelemetry

Pour les équipes OpenTelemetry est particulièrement appréciable dans trois cas d'utilisation :

  • Les données se trouvent sur plusieurs plateformes
  • L'indépendance vis‑à‑vis du prestataire/fournisseur est essentielle
  • Le temps précieux de l'équipe doit être optimisé

Dans cet article de blog vous obtiendrez un aperçu d'OpenTelemetry et vous découvrirez pourquoi cette norme open source représente l'avenir de l'instrumentation.  Regardez cette vidéo pour commencer :

Pourquoi OpenTelemetry représente l'avenir de l'instrumentation

Comme cela est décrit dans la vidéo ci-dessus, il y a quatre raisons pour lesquelles OpenTelemetry fait évoluer l'instrumentation :

  1. Vous avez accès à un ensemble d'instrumentations vastes et profondes, grâce au développement et à la prise en charge d'une grande communauté open source. Plus de 300 entreprises ont contribué au projet OpenTelemetry au cours de l'année passée avec un total de plus de 100 000 contributions. Et depuis un an, la communauté OpenTelemetry a recensé plus de 2 000 contributeurs. En tant que norme open source, OpenTelemetry encourage la collaboration à grande échelle et une portée de grande ampleur, ainsi qu'une plus grande flexibilité et l'ubiquité au fur et à mesure que les ingénieurs du monde entier contribuent à l'instrumentation.  
  2. La norme d'instrumentation permet à différents outils et services de fonctionner ensemble, ce qui vous apporte la visibilité sur tout votre système. OpenTelemetry est interexploitable (ou interopérable), ce qui signifie que différents systèmes peuvent utiliser cette forme standard d'instrumentation sur tous les services pour échanger les informations. Sans l'instrumentation standard sur tous les services de votre application, vous avez des angles morts ou des silos de données qui affectent le diagnostic et le dépannage et réduisent votre capacité à rapidement détecter et résoudre les problèmes. OpenTelemetry comble les lacunes en matière de visibilité.
  3. Vous avez la flexibilité de modifier les outils d'observabilité du backend. La plupart des solutions de monitoring exigent que vous installiez des agents d'instrumentation spécifiques pour collecter les données télémétriques. Si vous passez d'un outil à l'autre, vous devez passer plus de temps et utiliser plus de ressources en installant différents agents exclusifs ou en réinstrumentant votre code. Avec OpenTelemetry, votre parcours n'a aucun rapport avec les divers outils exclusifs. Vous pouvez modifier l'outil d'observabilité du backend sans devoir changer votre instrumentation. Vous disposez de la pleine visibilité sur le code source OpenTelemetry et des informations sur la façon dont la communauté développe les fonctionnalités et répare les bogues.
  4. Vous pouvez facilement monitorer les technologies émergentes. Lorsque de nouvelles technologies sont développées, l'instrumentation OpenTelemetry devient partie intégrante des bibliothèques et des frameworks que vos applications utilisent déjà. Vous n'avez ainsi pas besoin d'attendre que chaque outil de monitoring prenne en charge les toutes dernières technologies.

La nécessité de rendre des systèmes orchestrés, comme Kubernetes, plus compréhensibles et le monitoring des performances des applications (APM) plus transparent sont deux des fils conducteurs du développement qui ont donné naissance à la discipline de l'observabilité. L'objectif de l'observabilité est d'offrir un contexte riche et des informations incroyablement granulaires sur le comportement des systèmes. 

Pourquoi avez-vous besoin d'OpenTelemetry pour l'observabilité ?

Les deux principaux fils conducteurs qui ont donné naissance à la discipline de l'observabilité sont le besoin de rendre les systèmes orchestrés, comme Kubernetes, plus compréhensibles et le besoin de rendre le monitoring des performances des applications (APM) plus transparent. L'objectif de l'observabilité est d'offrir un contexte riche et des informations incroyablement granulaires sur le comportement des systèmes. 

Pour l'observabilité, vous devez :

  • Créer des systèmes et des applications qui collectent les données pertinentes telles que les métriques, les traces et les logs
  • Être capable de facilement ou automatiquement exporter ces informations vers une plateforme en dehors du programme que vous analysez
  • Avoir une analyse qui fournit des visualisations et des informations détaillées sur l'ensemble du système, y compris l'impact des changements au cours du développement de l'application sur l'expérience utilisateur

L'observabilité fournit un monitoring holistique des systèmes et plateformes qui permet aux développeurs et aux parties prenantes de déterminer comment ils fonctionnent. Toutefois, l'observabilité est difficile à mesurer et à analyser sans aide. Des outils, comme OpenTelemetry, rationalisent le monitoring des performances quels que soient les fournisseurs et les langages, et aident les développeurs à voir les métriques d'observabilité et à générer des rapports. Pour déterminer si OpenTelemetry convient à votre produit, les développeurs doivent répondre aux questions suivantes :

  • Quels sont les langages de programmation, la plateforme et les frameworks que nous utilisons ?  
  • Quels types de données voulons-nous analyser ? 
  • À quels outils allons-nous envoyer les données pour analyse ? 

Pour fonctionner au mieux, OpenTelemetry doit être associé à l'observabilité. Lorsque des parties du collecteur d'OpenTelemetry (les récepteurs, processeurs et exportateurs) reçoivent, compilent et distribuent des données et des informations significatives dans un format qui peut être analysé correctement dans le but de connaître le niveau de performance et d'effectuer le dépannage, les développeurs ont alors accès à toute l'observabilité et à tout le monitoring dans un seul et même outil.

New Relic et OpenTelemetry

New Relic a été l'un des principaux contributeurs à OpenTelemetry depuis son lancement.  En 2020, nous avons annoncé notre engagement total à l'instrumentation open source, y compris la mise en accès libre de nos agents et la standardisation de nos offres d'observabilité dans OpenTelemetry. Avec notre prise en charge native du protocole OTPL d'OpenTelemetry et notre collection d'expériences utilisateur, vous pouvez utiliser cette nouvelle norme d'instrumentation pour comprendre, dépanner et optimiser vos systèmes.