
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 :
Lancez-vous !
- Consultez le guide de démarrage rapide d'OpenTelemetry
- Consultez nos exemples d'utilisation d'OpenTelemetry
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 :
- 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.
- 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é.
- 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.
- 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.
Explorez OpenTelemetry dès aujourd’hui !
C'est le moment parfait pour commencer à expérimenter avec le tracing d'OpenTelemetry sur vos propres applications et services. Si vous voulez l'essayer, consultez nos exemples avec OpenTelemetry.
- Inscrivez-vous gratuitement à New Relic et envoyez vos données OpenTelemetry dès aujourd'hui.
- Consultez la deuxième partie de la série : Les principaux composants d'OpenTelemetry.
- Vous êtes prêt à appliquer vos connaissances et à instrumenter une application de base dans votre langage de programmation favori ? Suivez la Masterclass OpenTelemetry.
- Pour un apprentissage plus pratique sur OpenTelemetry, suivez à votre rythme la formation de 90 minutes proposée par New Relic University : OpenTelemetry : an open source data collection standard (OpenTelemetry : une norme open source de collecte des données).
Cet article de blog constitue la première partie de la série Bien comprendre OpenTelemetry. Nous vous avons présenté un aperçu d'OpenTelemetry pour vous aider à comprendre pourquoi cette norme open source est l'avenir de l'instrumentation. Dans les parties suivantes, Alan West, l'un des responsables du projet OpenTelemetry, et Jack Berg, un contributeur, présenteront les composants clés d'OpenTelemetry, les sources de données, la façon d'instrumenter une application avec OpenTelemetry, la manière de voir les données dans New Relic, et plus encore.
La deuxième partie explore les composants clés du projet OpenTelemetry et la troisième partie se focalisera sur les principales sources de données d'OpenTelemetry. Dans la quatrième partie, vous parcourrez quelques exemples d'instrumentation d'une application Java avec OpenTelemetry, et la cinquième partie montrera comment envoyer les données OpenTelemetry à votre plateforme backend.
Les opinions exprimées sur ce blog sont celles de l'auteur et ne reflètent pas nécessairement celles de New Relic. Toutes les solutions proposées par l'auteur sont spécifiques à l'environnement et ne font pas partie des solutions commerciales ou du support proposés par New Relic. Veuillez nous rejoindre exclusivement sur l'Explorers Hub (discuss.newrelic.com) pour toute question et assistance concernant cet article de blog. Ce blog peut contenir des liens vers du contenu de sites tiers. En fournissant de tels liens, New Relic n'adopte, ne garantit, n'approuve ou n'approuve pas les informations, vues ou produits disponibles sur ces sites.