DEVOPS

L’observabilité : par où commencer ? Retour d’expérience

Aujourd’hui, l’observabilité est plébiscitée par de nombreux vendeurs et de plus en plus d’entreprises tendent vers sa mise en place. 

Avec notre partenaire Accenture, nous avons tenté d’apporter quelques éléments de réponses sur la mise en place de l’observabilité et l’apport des principes du Site Reliability Engineering (SRE) lors de l’événement S-Day 2023 qui s’est tenu en septembre dernier à Clermont-Ferrand au stade Marcel-Michelin. 

À l’ordre du jour, des conférences autour du rôle du SRE et de l’observabilité, et des tables rondes afin de réfléchir ensemble sur des thématiques précises, notamment sur la définition de l’observabilité et comment commencer à la mettre en œuvre.

Pour démarrer cette journée de travail dans un contexte de coupe du monde de rugby, quoi de mieux qu’un parallèle enrichissant entre le SRE, l’observabilité et la performance dans le sport de haut niveau présenté par Didier RETIÈRE, Directeur du développement sportif de l’équipe de rugby de l’ASM ?


Alors, qu’est-ce que l’observabilité ?

Dans l’article Pourquoi l’observabilité sans OpenTelemetry n’a pas de sens, Stéphane ESTEVEZ, EMEA Director of Product Marketing Observability & IT chez Splunk, nous parle des « inconnues inconnues » et fait le parallèle entre observabilité et le biais du survivant où depuis de nombreuses années nous supervisons des éléments bien connus de nos systèmes, sans prendre en compte que des éléments pourraient nous éclairer davantage sur le contexte d’un incident, voire nous permettre d’être proactifs dans sa détection. 

L’observabilité fait donc référence à la capacité de comprendre le fonctionnement d’un système ou d’un processus à partir de l’ensemble des données qu’il génère. Cela implique de collecter et d’analyser des données telles que des logs, des métriques, des traces et des événements pour analyser l’état d’un système, identifier des comportements, détecter les incidents et pouvoir les résoudre. 

D’après le rapport Prévisions 2023 pour l’IT et l’observabilité, l’observabilité est le nouveau visage de la transformation numérique, mais aussi de l’expérience numérique puisque son déploiement doit permettre d’améliorer jusqu’à l’expérience utilisateur. 

Lorsque nous parlons d’observabilité, nous faisons souvent l’analogie (trop) rapide avec un outil. 

Bien entendu, l’observabilité met en œuvre des outils dans le but de servir un objectif qui est souvent l’amélioration de la qualité du service rendu aux clients, internes ou externes. Mais l’observabilité représente bien plus que cela. Elle implique un changement d’état d’esprit au sein des organisations. Elle implique des changements de processus, voire une évolution des organisations et de la collaboration. 

Forts de ce retour d’expérience de l’événement S-DAY 2023 avec Accenture, nous tenterons dans cet article de donner des pistes (peut-être parfois pleines de bon sens) sur la manière de démarrer la mise en place de l’observabilité. 


Quels sont vos objectifs ?

Comme dans tout projet, il faut se poser la question du « pourquoi ». Pourquoi déployer l’observabilité quand vous avez déjà du monitoring en place ?

Définissez pourquoi vous souhaitez mettre en œuvre l’observabilité et les objectifs à atteindre.

L’observabilité peut vous apporter des gains significatifs en termes d’amélioration des performances, de fiabilité et d’efficacité opérationnelle mais pour cela, il faudra définir les objectifs qui font sens pour votre entreprise. En voici quelques exemples :

  • Améliorer la visibilité sur vos environnements hybrides : l’observabilité permet d’avoir une vision centralisée de vos applications complexes, en s’appuyant sur des outils permettant d’adresser l’ensemble de vos briques technologiques. 
  • Détecter et résoudre plus rapidement les incidents : les outils d’observabilité fournissent des informations en temps réel, permettant aux équipes de détecter et de résoudre les incidents plus rapidement. Cela réduit les temps d’arrêt et minimise l’impact sur les utilisateurs.
  • Améliorer l’expérience utilisateur : avec une résolution plus rapide des incidents et des temps d’arrêt réduits, l’observabilité contribue à une expérience utilisateur plus fluide et à une plus grande satisfaction client.
  • Optimiser l’utilisation des ressources : les données d’observabilité aident à identifier les goulots d’étranglement et les inefficacités des ressources allouées. En optimisant l’allocation des ressources, les organisations peuvent réduire les coûts opérationnels, améliorer les performances et contribuer à réduire la dette technique.

Quels sont les périmètres à traiter ?

Pour atteindre vos objectifs, vous n’y arriverez vraisemblablement pas seuls ni par une méthode big bang. 

Il faudra identifier les « clients » les plus éligibles à l’observabilité et qui vous permettront d’atteindre aussi rapidement que possible vos objectifs (dans un premier temps, de manière à itérer sur d’autres « clients » par la suite). 

Déterminez quels systèmes ou composants sont essentiels aux opérations de votre organisation. Commencez par vous concentrer sur un sous-ensemble de systèmes plutôt que d’essayer de tout observer en même temps. Vous procéderez ensuite de manière itérative pour faire évoluer vos outils et vos processus en place, pour ensuite étendre l’observabilité à d’autres périmètres. Voici quelques exemples de périmètres :

  • Un périmètre maîtrisé techniquement par les équipes opérationnelles. Dans un premier temps, on évitera peut-être de cibler des applications legacy dont la connaissance a pu s’évaporer au fil des années. On veillera à inclure ce périmètre plus tard, lorsque nous maîtriserons les process, les outils et les apports de l’observabilité.
  • Un périmètre critique pour vos métiers, avec des impacts financiers importants en cas d’incident ou d’arrêt de service. C’est un périmètre qui peut éventuellement vous aider à aller chercher du budget de fonctionnement ou du budget pour vous outiller. 
  • Un nouveau périmètre qui n’est pas encore « observable », par exemple à base de microservices, de fonctions serverless, etc. 
  • Un périmètre qui ne présente pas une trop grande complexité en termes d’architecture et de dialogue avec d’autres périmètres techniques ou fonctionnels.

L’objectif étant de pouvoir valider rapidement l’intérêt de l’observabilité sur le périmètre choisi. 

Quels sont les indicateurs à superviser ?

Maintenant que vous savez quel périmètre traiter, il faudra identifier des indicateurs quantifiables et mesurables pour mesurer les gains que vous souhaitez obtenir et déterminer si vous atteignez vos objectifs, parmi lesquels :

  • mesurer le Mean Time To… Detect, Diagnose, Repair, etc.,
  • mesurer le nombre d’alertes pertinentes et significatives déclenchées par les outils d’observabilité,
  • mesurer le taux de faux positifs​,
  • déterminer le nombre d’incidents potentiels détectés et résolus de manière proactive,
  • calculer l’évolution des incidents signalés aux équipes d’assistance,
  • mesurer la disponibilité du service, la satisfaction des utilisateurs.​

L’objectif sera ensuite de mesurer l’évolution de ces indicateurs avant et après la mise en place de l’observabilité pour en mesurer l’apport.

Quelle stratégie d’instrumentation ?

Planifiez la manière dont vous souhaitez instrumenter vos systèmes pour collecter les données nécessaires à l’observabilité. Vous disposez vraisemblablement de nombreux outils de supervision et vous allez peut-être vous diriger vers une plateforme d’observabilité. Et chacun de vos outils dispose de ses propres moyens de collecte.

Chez Splunk, nous sommes convaincus de l’apport de l’OpenTelemetry dans un contexte d’observabilité. En effet, il fournit un moyen standardisé et neutre de collecter, traiter et exporter les données nécessaires à l’observabilité. C’est pourquoi nous contribuons fortement à ce projet et développons des solutions compatibles avec cette solution open source.

Métriques, traces, logs

OpenTelemetry prend en charge la collecte de métriques, de traces, de logs et d’événements. Elle offre des capacités de : 

  • collecte de métriques pour connaître l’état de santé de ressources,
  • traçage distribué pour comprendre le parcours d’un utilisateur à travers différents (micro)services et composants dans une architecture distribuée,
  • collecte de logs pour apporter de la contextualisation aux métriques et aux traces,
  • gestion des événements qui permettront d’observer les changements d’état d’un système tout en conservant un historique, et de générer des alertes.

Normalisation et interopérabilité

OpenTelemetry offre un moyen standardisé d’instrumenter le code et de collecter des données quel que soit l’écosystème. Cela permet de faciliter l’adoption et l’utilisation d’outils d’observabilité dans des environnements hybrides et de donner une vision globale du fonctionnement d’une application. 

Quel(s) outil(s) pour atteindre vos objectifs ?

Le marché fourmille d’outils incluant des plateformes de collecte de logs, de collecte de métriques et de traçage distribué.

Splunk a été désigné leader du Gartner® Magic Quadrant™ 2023 pour l’observabilité et la supervision des performances des applications grâce notamment à des capacités uniques au sein de plateformes unifiées : 

  • Infrastructure Monitoring : supervision de l’infrastructure en temps réel, massivement évolutive et pilotée par l’IA pour tout environnement hybride ou multicloud. 
  • Application Performance Management : supervision des performances des applications en temps réel, NoSample™ full-fidelity et dépannage dirigé par l’IA.
  • Real User Monitoring : supervision des utilisateurs frontaux construite avec les mêmes capacités en temps réel, de haute fidélité et pilotées par l’IA que Splunk APM. Ensemble, Splunk APM et Splunk RUM offrent la seule visibilité de bout en bout haute fidélité sur l’ensemble de la transaction utilisateur.
  • On-Call : réponse intelligente et automatisée aux incidents et collaboration.
  • Log Observer : conçu pour les utilisateurs et les scénarios d’utilisation DevOps, Log Observer apporte la puissance de la gestion des logs Splunk aux SRE, aux ingénieurs DevOps et aux développeurs.
  • Synthetic Monitoring : identification proactive des problèmes de performance dans les parcours utilisateurs, les transactions métiers et les API afin d’offrir de meilleures expériences numériques.
  • IT Service Intelligence : obtenir une visibilité totale sur le fonctionnement et la performance des services.

Recherchez, testez et choisissez les outils d’observabilité qui correspondent à vos objectifs. 

Quelle organisation ?

La mise en œuvre de l’observabilité est un processus continu. Il ne s’agit pas seulement de mettre en œuvre de l’outillage. Il s’agit de développer un état d’esprit de compréhension et d’amélioration de vos systèmes en fonction des informations tirées des données d’observabilité.

Cela passe notamment par la sensibilisation des équipes pour leur faire comprendre ce qu’est l’observabilité et en quoi elle va les aider. D’où l’importance de bien choisir les premiers périmètres à traiter pour obtenir des quick wins et communiquer autour des gains obtenus. 

Dans le déploiement de l’observabilité, on retrouvera des équipes en charge de l’observabilité dans des organisations matricielles comprenant notamment : 

  • des teams leaders qui communiqueront autour des objectifs, des apports, mais aussi des mises en garde au déploiement de l’observabilité,
  • des experts fonctionnels et métier qui auront la connaissance du fonctionnement des systèmes et des indicateurs importants à superviser,
  • des architectes d’entreprise qui auront la connaissance de l’écosystème technique et des bonnes pratiques de déploiement de la collecte des informations (peut-être en collaboration avec les équipes sécurité au regard de la protection des données),
  • des experts techniques qui déploieront les moyens de collecte et travailleront avec les experts fonctionnels à la mise en place des indicateurs,
  • des chefs de projet qui accompagneront les clients éligibles à l’observabilité tout au long de leur parcours d’observabilité,
  • et, bien entendu, des SRE qui travailleront à optimiser l’observabilité des systèmes grâce aux retours d’expérience acquis.

Quelle conclusion ?

La mise en place de l’observabilité est un véritable projet d’entreprise, qui ne se limite pas au déploiement d’outils (même s’ils sont importants).

Il est important de commencer par une approche ciblée, de tester, d’apprendre de vos expériences et de répéter pour vous améliorer au fil du temps : mettez en place vos processus, documentez, déployez, mesurez, améliorez, étendez, itérez et surtout, communiquez…

Rémi Enjolras
Posted by

Rémi Enjolras

Je suis ingénieur avant-vente chez Splunk depuis 2018, basé à PARIS. J'ai en charge la relation technique avec de grands groupes français du CAC40 dans les domaines de la gestion de l'énergie et des déchets, et également dans le domaine automobile. J'ai une appétence particulière pour les sujets qui touchent à l'Observabilité. Vaste sujet qui m'amène à mieux comprendre le métier, les enjeux et les problématiques de mes clients.