Aller au contenu

004 · ANALYTICS

Une télémétrie à l'image du métier, pas du framework

L'observabilité par défaut vous dit que la requête a renvoyé 200. L'observabilité utile vous dit que le client a bien reçu ce qu'il a payé.

Deux questions, deux publics

Tout framework livre de l'observabilité : nombre de requêtes, latences, taux d'erreur, une trace par appel. Elle répond aux questions qu'un ingénieur se pose à 2 h du matin : est-ce que ça tourne, est-ce que c'est lent, où ça a cassé. Elle ne dit rien des questions qu'un directeur se pose un mardi : les devis signés cette semaine ont-ils reçu leur confirmation, combien de dossiers ont été escaladés, le versement est-il passé.

La plupart des équipes essaient de répondre à la seconde série avec la première couche, en plissant les yeux sur des tableaux de codes HTTP et en devinant. Ça ne marche pas, parce qu'un 200 sur une requête n'est pas une vente, et qu'un 500 n'est pas forcément un client perdu. Deux questions, deux couches.

La seconde couche

Nous livrons toujours une fine couche d'événements métier nommés dans la langue de l'entreprise : devis.signe, dossier.escalade, versement.valide, session.close. Chacun porte les identifiants que le métier utilise, le client, le dossier, le montant, et rien d'autre. Ils sont émis là où la chose se produit, dans le code qui la fait, pas reconstitués après coup depuis les journaux.

Cette couche est petite : quelques dizaines de noms d'événements pour la plupart des entreprises, choisis avec les gens qui les liront. Le coût est une ligne de code par événement. Le retour, c'est que les questions du mardi deviennent des requêtes, et les requêtes un tableau de bord que la direction financière lit sans ingénieur dans la pièce.

Les garder séparées

La tentation est de fusionner les deux : accrocher les champs métier à la trace HTTP, ou glisser le détail technique dans l'événement métier. Résistez. Les événements métier restent lisibles parce qu'ils ne charrient pas de détails HTTP ; les traces HTTP restent ciblées parce qu'elles ne portent pas de sémantique métier. Mélangées, chacune devient inutile à son public : le directeur financier fait défiler des piles d'appels, l'ingénieur patauge dans des noms de clients à 2 h du matin.

Ce qui relie les deux, c'est l'identifiant. L'identifiant d'un dossier apparaît dans l'événement métier et dans la trace qui l'a produit, si bien que lorsqu'un ingénieur doit comprendre pourquoi dossier.escalade a été émis deux fois, le chemin de la question métier à la cause technique tient en une recherche, pas en un après-midi.

Ce que ça change

Pour une plateforme de formation qui accueille dix mille apprenants par an, la couche métier est ce qui permet à l'équipe opérationnelle de voir les exceptions et non le déluge : un apprenant qui décroche, une attestation qui n'est pas partie, une session sans émargement. Ce sont des événements métier ; la santé de la plateforme est un autre écran, surveillé par d'autres gens.

Ça change aussi la conversation avec le client. Une plateforme qui rend compte dans le vocabulaire du client est une plateforme dont la valeur se lit chaque mois, par lui, sans demander. Ça vaut plus que n'importe quel taux de disponibilité.