Qu’est-ce que la surveillance des performances des applications (APM) ?

Illustration holographique de la surveillance des performances applicatives : métriques, traces et logs transitant d'une application instrumentée vers un tableau de bord APM unifié sur un fond bleu marine profond.

La surveillance des performances applicatives (APM) est la pratique consistant à collecter, corréler et analyser des données télémétriques (métriques, traces, logs et événements) provenant de logiciels en fonctionnement pour détecter des régressions de performance, localiser les causes profondes et vérifier les objectifs de niveau de service. Un outil APM instrumente les applications soit via des agents spécifiques à un langage, des SDK, ou des standards ouverts comme OpenTelemetry, puis envoie ces données vers un backend qui les rend accessibles via des tableaux de bord, des alertes et des diagnostics au niveau des traces.

APM, gestion des performances applicatives et gestion de portefeuille applicatif ne sont pas identiques

Trois disciplines différentes partagent l’acronyme APM. Les distinguer dès le départ évite la confusion lors de la lecture de la documentation des fournisseurs.

La surveillance des performances applicatives est la couche de mesure : collecte de la télémétrie d’une application en fonctionnement et affichage sous forme de métriques, traces et logs. Elle répond à l’application est-elle saine en ce moment, et si ce n’est pas le cas, où se situe le problème ?

La gestion des performances applicatives est une discipline plus large : définition des SLO, élaboration de budgets de performance, exécution de tests de charge, instrumentation du code, exploitation de la pile de surveillance, et action sur les informations obtenues. La surveillance est une composante de la gestion.

La gestion de portefeuille applicatif se situe au niveau de l’architecture d’entreprise. Elle suit l’intégralité du parc applicatif d’une organisation et décide des investissements, de la modernisation, de la consolidation ou du retrait. Elle utilise les données de surveillance en entrée mais n’est pas une discipline de performance en soi.

Lorsque cet article utilise “APM” sans précision, il se réfère à la surveillance des performances applicatives.

Surveillance des performances applicatives vs Observabilité

APM est un sous-ensemble de l’observabilité. APM se concentre sur la performance au niveau applicatif : temps de réponse, débit, taux d’erreur, flux de transactions. L’observabilité est la pratique plus large qui permet de poser des questions arbitraires sur l’état interne d’un système à partir de la télémétrie émise, incluant les données d’infrastructure, réseau et événements métier.

En termes pratiques :

  • Les outils APM vous indiquent que la latence p95 de l’endpoint /checkout est passée de 180 ms à 1,4 s après le déploiement de 14:02.
  • Une pile d’observabilité vous permet de corréler cela avec un événement de pression mémoire sur un nœud Kubernetes, une montée en attente de verrou Postgres, et un déploiement de feature flag survenus dans la même fenêtre.

Les plateformes APM modernes (Datadog APM, New Relic, Dynatrace, Elastic Observability, Grafana Cloud, Splunk Observability Cloud) ont intégré suffisamment la surface plus large de l’observabilité pour que la frontière soit floue. Le modèle mental le plus clair : l’observabilité est l’objectif, l’APM est la tranche centrée sur l’application des données nécessaires pour l’atteindre.

Comment fonctionne la surveillance des performances applicatives

L’APM fonctionne en quatre étapes : instrumentation, collecte, transmission et corrélation.

1. Instrumentation

L’instrumentation ajoute des points de mesure au code applicatif afin qu’il émette de la télémétrie. Trois approches courantes existent :

  • Agents d’auto-instrumentation. Des agents d’exécution spécifiques au langage (instrumentation du bytecode Java, profileurs .NET, bibliothèques Python ou Node.js OpenTelemetry d’auto-instrumentation) s’intègrent aux points d’entrée du framework (gestionnaires HTTP, pilotes de bases de données, clients de files de messages) sans nécessiter de modification du code.
  • Instrumentation manuelle via SDK. Les développeurs appellent directement les SDK APM ou OpenTelemetry pour démarrer et arrêter des spans, attacher des attributs, et émettre des métriques personnalisées. Requis pour les transactions métier spécifiques que l’agent ne reconnaît pas.
  • eBPF et collecte sans agent. Des sondes au niveau du noyau capturent les appels système, données réseau et processus sans modifier l’application. Utile dans des environnements où l’installation d’agents est restreinte (charges de travail soumises à conformité, services tiers).

OpenTelemetry (OTel) est le standard ouvert de facto pour l’instrumentation toutes approches confondues. Il définit le protocole filaire (OTLP), les conventions sémantiques pour la dénomination des spans et métriques, ainsi que les SDKs dans Java, Go, Python, Node.js, .NET, Ruby, PHP et autres. Erlang et Elixir sont couverts par la bibliothèque officielle opentelemetry-erlang. Les traces Rust sont stables ; les logs et métriques sont en progression. Swift est disponible sous la forme d’un SDK maintenu par la communauté.

2. Collecte

L’application instrumentée émet trois types principaux de signaux :

  • Métriques : mesures numériques à un instant donné (nombre de requêtes, histogramme de latence, utilisation CPU).
  • Traces : ensembles ordonnés de spans représentant le parcours d’une requête unique à travers les services.
  • Logs : enregistrements textuels horodatés, idéalement structurés en JSON, avec ID de trace et de span pour corrélation.

Les types de signaux plus récents incluent les profils continus (profil CPU, mémoire et verrous échantillonnés en production) et les événements Real User Monitoring (RUM) émis par des SDK JavaScript ou mobiles s’exécutant dans le navigateur ou l’appareil de l’utilisateur. Le signal OpenTelemetry Profiles a été accepté comme OTEP en 2024 et est encore en maturation ; le support backend est partiel à l’horizon 2025–2026.

3. Transmission

La télémétrie circule de l’application vers un backend via deux voies possibles :

  • Export direct de l’agent ou SDK vers le point d’ingestion du fournisseur APM via OTLP, HTTP ou un protocole propriétaire.
  • Via un collecteur (OpenTelemetry Collector, ou une distribution spécifique comme Datadog Agent ou Splunk Distribution of OpenTelemetry Collector) qui regroupe, filtre, échantillonne et route les données. Des relais orientés logs tels que Fluent Bit et Vector peuvent gérer logs et métriques en parallèle du collecteur OTel pour les traces. Les collecteurs découplent l’instrumentation du backend, rendant possible un changement de fournisseur sans réinstrumentation du code.

4. Corrélation

Le backend relie les signaux via des identifiants (ID de trace, ID de span, nom de service, hôte, ID de conteneur, ID utilisateur) afin qu’une investigation débutée sur un signal puisse basculer sur les autres. Un flux de travail typique : une alerte déclenche une hausse du taux d’erreur → clic vers les traces du service affecté → analyse d’une trace représentative en échec → bascule du span lent vers ses logs → confirmation de la requête base de données fautive → vérification des métriques de l’hôte base de données. Ce chemin de bascule distingue une plateforme APM d’une collection d’outils isolés.

Composants principaux d’une pile APM

Un déploiement APM complet comprend :

Composant Utilité
Agents / SDK / bibliothèques OTel Instrumenter l’application et émettre la télémétrie
Collecteur Regrouper, filtrer, échantillonner et router la télémétrie
Backend des métriques Stockage en séries temporelles, alertes, tableaux de bord
Backend des traces Stockage des spans, cartographie des dépendances, analyse de latence
Backend des logs Stockage indexé des logs avec corrélation des traces
RUM et surveillance synthétique Mesurer la performance du point de vue utilisateur
Alerting et intégration de réponse aux incidents Acheminer les signaux vers les astreintes (PagerDuty, Opsgenie, Slack)
Profileur Profilage continu CPU et mémoire en production

Comment couvrir la surveillance synthétique avec Dotcom-Monitor. Dotcom-Monitor offre quatre produits de surveillance synthétique partageant un workflow unique d’alerte et de rapport. Utilisez BrowserView pour le timing de chargement des pages uniques sur plus de 40 combinaisons de navigateurs et appareils. Utilisez UserView pour les flux transactionnels multi-étapes (connexion, recherche, paiement). Utilisez WebView pour la surveillance API REST, SOAP et GraphQL. Utilisez ServerView pour les contrôles TCP, DNS, SMTP, FTP, ICMP et autres protocoles réseau. Pour les applications internes derrière un pare-feu, installez le Private Agent sur un serveur dans le réseau. C’est un binaire unique initiant des connexions sortantes vers la plateforme, donc aucune règle de pare-feu entrante n’est requise et les endpoints internes restent privés.

Métriques APM importantes

Voici les métriques que la plupart des équipes instrumentent et surveillent. Les définitions sont alignées avec les conventions sémantiques OpenTelemetry quand c’est applicable.

Métrique Définition
Temps de réponse / latence Temps chronométré entre la réception d’une requête et l’envoi de la réponse. Surveillez p50, p95, p99 et p99.9 séparément ; les moyennes masquent la latence en queue de distribution.
Débit Requêtes traitées par unité de temps, typiquement requêtes par seconde (RPS) ou par minute (RPM).
Taux d’erreur Fraction des requêtes retournant un 5xx, générant une exception, ou violant une règle métier. Exprimé en pourcentage.
Score Apdex Indice de satisfaction utilisateur entre 0 et 1 dérivé d’un seuil de latence configurable T. Apdex = (satisfaits + tolérants/2) / total. Considéré comme obsolète par la plupart des équipes SRE aujourd’hui, préférant des cibles SLI/SLO explicites de latence (par ex., p99 < 500 ms sur 28 jours) ; encore utilisé par AppDynamics, New Relic et quelques autres.
Saturation Niveau d’occupation d’une ressource (CPU, mémoire, pool de connexions, profondeur de file d’attente). Un des quatre signaux dorés de Google.
Utilisation CPU et mémoire Consommation de ressources par processus et par conteneur.
Métriques de collecte des ordures Durée, fréquence des pauses GC, taille du heap pour JVM, .NET, Go et Node.js.
Métriques de requêtes base de données Latence des requêtes, lignes examinées, temps d’attente de verrou, nombre de requêtes lentes.
Profondeur de file et retard consommateur Pour Kafka, RabbitMQ, SQS et systèmes similaires. Le retard est un indicateur avancé de lenteur en cascade.
Durée de démarrage à froid Spécifique au serverless (AWS Lambda, Azure Functions, Google Cloud Run).
MTTD, MTTR, MTBF Mean Time To Detect (temps moyen de détection), Mean Time To Recovery (temps moyen de récupération), Mean Time Between Failures (temps moyen entre pannes). Métriques de santé opérationnelle, suivies avec les métriques applicatives.
SLI / SLO / budget d’erreur Indicateurs de niveau de service, objectifs fixés, et budget consommé quand le SLI dépasse la cible.

Comment capter ces métriques sans instrumenter le code. Plusieurs métriques citées ci-dessus peuvent être mesurées de l’extérieur de l’application sans agent ni SDK. Un contrôle synthétique Dotcom-Monitor renvoie le temps de réponse avec des découpages p50, p95 et p99, le taux d’erreur par code HTTP, le Time to First Byte (TTFB), le temps de résolution DNS, la durée de la négociation TLS et la chronologie complète par requête. Les données sont conservées jusqu’à trois ans avec le plan Enterprise, suffisamment pour calculer des bases SLI annuelles sans exporter vers une base de séries temporelles distincte.

Le livre Google SRE définit les quatre signaux dorés comme la latence, le trafic, les erreurs et la saturation. La méthode RED (Rate, Errors, Duration) et la méthode USE (Utilization, Saturation, Errors) sont des cadres largement adoptés regroupant ces métriques dans des tableaux de bord exploitables.

Avantages de l’APM

Avantages techniques (ingénierie)

  • Analyse des causes racines plus rapide. Les traces distribuées réduisent les enquêtes multiservices de plusieurs heures à quelques minutes en exposant le span exact à l’origine d’une latence ou erreur.
  • Débogage sûr en production. Les profileurs continus et logs structurés permettent de diagnostiquer les problèmes en production sans attacher de débogueur.
  • Détection de régression. Les baselines par déploiement signalent les régressions de performance avant leur propagation.
  • Entrées pour la capacité. Les métriques de saturation et de débit alimentent les seuils de scaling automatique réalistes et les décisions de dimensionnement.

Avantages opérationnels (DevOps, SRE, NOC)

  • Application des SLO. Les données APM alimentent les calculs de budget d’erreur et bloquent les déploiements risqués.
  • Réduction de la fatigue liée aux alertes. Une alerte symptomatique sur les signaux dorés remplace les alertes bruitées par seuil sur des hôtes individuels.
  • Référence commune inter-équipes. Une vue partagée des traces met fin au débat “est-ce le réseau ou l’application ?”.
  • Chronologies d’incident documentées. La rétention des traces et logs fournit des preuves post-mortem sans rejouer les incidents.

Avantages métier

  • Réduction des pertes de revenus liées aux interruptions et à la latence. Le taux de conversion, l’achèvement du panier et la durée des sessions dépendent directement de la latence p95.
  • Dépenses cloud réduites. L’infrastructure bien dimensionnée et les requêtes inefficaces identifiées réduisent le gaspillage.
  • Preuves d’audit et de conformité. Les rapports SLA et les chronologies d’incident soutiennent les exigences contractuelles et réglementaires.

Qui utilise l’APM et ce qu’ils recherchent

Rôle Utilisation principale de l’APM
Ingénieurs DevOps Valider les déploiements, surveiller les releases pilotées par pipeline CI/CD, bloquer les promotions selon des critères de performance.
Ingénieurs fiabilité site (SRE) Définir et appliquer les SLO, gérer les budgets d’erreur, gérer la réponse aux incidents, construire des runbooks à partir de motifs de traces.
Développeurs logiciels Déboguer latences et erreurs dans leur service, profiler les chemins chauds, valider les corrections en staging et en production.
Ingénieurs QA Comparer les bases de performance entre candidats à la release, piloter les tests de charge et synthétiques à partir des données APM, détecter les régressions avant mise en production.
Administrateurs réseau Distinguer les problèmes réseau des problèmes applicatifs, surveiller le trafic service à service, valider le comportement des pare-feux et load balancers.
Ingénieurs sécurité Détecter des anomalies pouvant indiquer un abus (volume d’attaques par force brute, motifs d’erreur inhabituels aux endpoints d’authentification).
Direction technique et produit Suivre les KPIs de fiabilité, latence côté utilisateur, et impact du travail sur la performance sur les métriques métier.

APM et sécurité : détection, pas prévention

L’APM n’est pas un outil de sécurité, mais sa télémétrie constitue un signal de sécurité utile. Les motifs qu’APM peut révéler :

  • Pic soudain de trafic vers un endpoint spécifique (credential stuffing, scraping).
  • Motifs d’erreur inhabituels sur les endpoints d’authentification ou de paiement.
  • Appels sortants vers des destinations inattendues depuis des services compromis.
  • Nouvelles dépendances apparaissant dans les données de trace après un déploiement.

L’APM moderne s’intègre aux plateformes SIEM et SOAR (Splunk Enterprise Security, Microsoft Sentinel, Elastic Security, Datadog Cloud SIEM) en transmettant logs et traces annotés. Certaines plateformes proposent aussi désormais des add-ons IAST (Interactive Application Security Testing) et RASP (runtime application self-protection) qui s’appuient sur l’agent APM (Contrast Security, Datadog Application and API Protection — anciennement Datadog ASM — et la capacité IAST de New Relic dans le cadre de la gestion des vulnérabilités).

L’APM est une couche de détection. Il complète mais ne remplace pas un WAF, un scanner de vulnérabilités ou un EDR.

APM pour charges cloud-native et microservices

Les architectures cloud-native modifient quatre aspects de l’APM :

Volume de données. Un monolithe émet un ensemble de métriques ; un déploiement microservices de cinquante services émet cinquante ensembles, multipliés par les réplicas, multipliés par chaque span dans chaque trace. L’échantillonnage adaptatif (basé sur la tête, la queue ou probabiliste) est indispensable. Le processeur d’échantillonnage en queue de l’OpenTelemetry Collector est la solution standard.

Éphémérité. Les conteneurs et fonctions serverless vivent de quelques secondes à quelques minutes. La surveillance traditionnelle basée sur l’hôte perd le contexte au redémarrage d’un pod. Les identifiants de niveau service (nom de service, namespace, déploiement) remplacent l’identité hôte comme clé principale d’agrégation.

Complexité service à service. Identifier la cause racine d’un pic de latence nécessite de parcourir un graphe de dépendance impossible à mémoriser humainement. Les cartes de service générées à partir des données de trace (vue dépendances dans Jaeger, graphe de service Grafana Tempo, Service Map Datadog) sont la réponse pratique.

Environnements d’exécution hétérogènes. Une requête unique peut traverser un BFF Node.js, un service Go, un backend legacy Java, et une fonction serverless. La propagation du contexte de trace cross-langage d’OpenTelemetry (en-têtes W3C Trace Context) rend une seule trace possible à travers ce chemin.

Comment valider chaque région en dehors du datacenter. Les systèmes distribués échouent souvent région par région. Un mauvais routage d’un nœud CDN, un retard de propagation DNS, ou un échec de renouvellement de certificat régional peuvent laisser l’application saine en datacenter mais inaccessible depuis São Paulo ou Singapour. Pour le détecter, exécutez le même contrôle synthétique depuis chaque région d’intérêt sur une liste de cibles distincte. Dans Dotcom-Monitor, affectez les emplacements de monitoring par liste dans la configuration, et le tableau de bord isole automatiquement les différences régionales de latence et disponibilité. Ce dispositif détecte les pannes régionales AWS, incidents Cloudflare et basculements de routes BGP avant que les outils internes ne les signalent.

Les préoccupations spécifiques à Kubernetes méritent leur propre traitement : compte de redémarrages de pods comme indicateur avancé, kube-state-metrics pour signaux au niveau cluster, réactivité de l’Horizontal Pod Autoscaler, signaux de pression au niveau des nœuds, tous ces éléments doivent figurer dans un tableau de bord APM cloud-native.

APM pour charges IA et LLM

Les fonctionnalités basées sur LLM ont des modes de défaillance nouveaux que les métriques classiques ne capturent pas :

  • Time-to-first-token (TTFT) et latence inter-token comptent plus que la durée totale de la requête pour les réponses en streaming.
  • Coût en tokens par requête est à la fois métrique métier et métrique de capacité.
  • Contenu prompt et complétion (échantillonné, censuré) est nécessaire pour diagnostiquer hallucinions, tentatives d’injection de prompt, et dégradation de la qualité de sortie.
  • Dérive de modèle (variation mesurable dans la distribution de sortie dans le temps) nécessite une évaluation de sortie parallèlement à la latence.
  • Traces d’appels d’outils et de récupération dans les workflows agentiques : spans pour requêtes de magasins vectoriels, appels de fonctions et requêtes API en aval.

Les conventions sémantiques GenAI d’OpenTelemetry (introduites en 2024, toujours en statut Développement en 2026) définissent des attributs standard pour les appels LLM (gen_ai.provider.name, gen_ai.request.model, gen_ai.usage.input_tokens, gen_ai.usage.output_tokens). Les outils d’observabilité LLM spécifiques (Langfuse, Arize Phoenix, Helicone, LangSmith) coexistent avec les APM généralistes ayant ajouté le support GenAI (Datadog LLM Observability, New Relic AI Monitoring, Dynatrace AI Observability).

Comment surveiller un endpoint LLM avec Dotcom-Monitor. Créez un monitor WebView pointant vers l’endpoint LLM, par ex. POST /v1/chat/completions. Placez un prompt de test fixe dans le corps de la requête et la clé API ou token bearer dans les en-têtes. Définissez trois assertions JSONPath : choices[0].message.content doit être non vide, usage.total_tokens doit être dans une plage raisonnable (pour détecter les bugs de tokens hors contrôle), et le temps de réponse doit rester sous votre budget TTFT. Cette configuration détecte épuisement de quota, réponses de modèle déprécié telles que “model not found”, pannes côté fournisseur et limitations régionales de débit. Les outils internes d’observabilité LLM comme Langfuse, Helicone et LangSmith ne voient pas ces pannes car ils observent uniquement ce que l’application reçoit.

Bonnes pratiques de surveillance des performances applicatives

  • Instrumentez par défaut avec OpenTelemetry. Évitez le verrouillage propriétaire. Si un agent fournisseur offre une fonctionnalité absente d’OTel, superposez-la plutôt que de remplacer OTel.
  • Définissez les SLO avant les tableaux de bord. Décidez de ce que signifie “sain” en termes visibles par l’utilisateur, puis construisez tableaux et alertes pour le mesurer.
  • Alertez sur les symptômes, appelez sur consommation du budget d’erreur. Les alertes seuil hôte génèrent du bruit. Les alertes qui se déclenchent quand le budget d’erreur d’un SLO brûle trop vite respectent la sérénité des astreintes.
  • Associez surveillance synthétique et utilisateur réel. Les contrôles synthétiques détectent les pannes depuis des emplacements contrôlés selon un calendrier connu. Le RUM mesure l’expérience utilisateur réelle, incluant réseau en dernière mile et variabilité des appareils. Aucun des deux ne remplace l’autre.
  • Standardisez les noms de spans et métriques. Utilisez les conventions sémantiques OpenTelemetry. Résistez à la personnalisation par équipe.
  • Corrélez par ID de trace de bout en bout. Injectez le contexte de trace dans logs, messages de file et requêtes base (par ex., sous forme de commentaires SQL via sqlcommenter). Un ID de trace dans chaque ligne de log est l’investissement le plus rentable en observabilité.
  • Échantillonnez intelligemment. Échantillonnage en tête à 1–10 % pour services à haut volume ; échantillonnage en queue pour conservation des traces lentes et en erreur. Conservez 100 % des traces en erreur.
  • Considérez le collecteur comme une infrastructure de production. Exécutez l’OpenTelemetry Collector avec redondance, surveillance et marge de capacité.
  • Révisez et ajustez trimestriellement. La cardinalité des métriques, le volume de logs et la rétention des traces augmentent sans élagage actif. Prévoyez du temps pour supprimer ce qui ne justifie plus son stockage.
  • Organisez des exercices gameday. Injectez périodiquement des pannes (Chaos Mesh, Gremlin, AWS Fault Injection Service) et vérifiez que la pile APM les détecte. Une observabilité non testée est une observabilité non validée.

Glossaire APM

Agent. Logiciel installé à côté de l’application qui auto-instrumente les appels d’exécution et envoie la télémétrie.

Apdex. Indice de performance applicative. Score de satisfaction de 0 à 1 dérivé d’un seuil de latence.

Cardinalité. Nombre de combinaisons uniques d’étiquettes ou attributs sur une métrique. Une cardinalité élevée est coûteuse à stocker et interroger.

Traces distribuées. Pratique consistant à suivre une requête unique à travers plusieurs services via la propagation d’un ID de trace.

Budget d’erreur. Quantité d’indisponibilité tolérée par un SLO sur une fenêtre, consommée par les incidents.

Exemplar. Un ID de trace spécifique attaché à un point de données métrique, utilisé pour passer d’une anomalie métrique à une trace représentative.

Signaux dorés. Latence, trafic, erreurs, saturation. Les quatre métriques essentielles à exposer pour tout service.

Instrumentation. Code ou configuration produisant de la télémétrie à partir d’une application en fonctionnement.

OpenTelemetry (OTel). Cadre d’observabilité CNCF. Définit APIs, SDK, protocole OTLP et conventions sémantiques.

OTLP. OpenTelemetry Protocol. Format filaire pour l’envoi des traces, métriques et logs.

Méthode RED. Rate, Errors, Duration. Cadre métrique au niveau service.

Real User Monitoring (RUM). Données de performance capturées dans le navigateur ou l’appareil de l’utilisateur.

SLI / SLO / SLA. Indicateur de niveau de service (mesure), Objectif de niveau de service (cible interne), Accord de niveau de service (engagement contractuel).

Span. Une opération unique dans une trace, avec heure de début, durée et attributs.

Surveillance synthétique. Contrôles périodiques scriptés simulant le comportement utilisateur depuis des emplacements contrôlés.

Échantillonnage en queue. Échantillonnage des traces après leur fin en fonction de propriétés comme le statut d’erreur ou durée.

Télémétrie. Données émises par un système à propos de lui-même. En APM, cela signifie métriques, traces, logs, profils et événements.

Contexte de trace. Métadonnées transmises entre services pour lier des spans en une unique trace. Normalisé par W3C Trace Context.

Méthode USE. Utilisation, Saturation, Erreurs. Cadre métrique au niveau ressource.

Où aller à partir d’ici

Pour une vue externe des performances et de la disponibilité côté utilisateur, exécutez des contrôles synthétiques et navigateurs réels contre vos endpoints de production depuis plusieurs géographies. Dotcom-Monitor fournit cette couche : transactions navigateurs scriptées, surveillance API et rapports SLA depuis un réseau global de monitoring, conçus pour compléter une pile APM interne plutôt que la remplacer. Pour l’APM interne, commencez par l’instrumentation OpenTelemetry dans un service critique, envoyez les traces à un backend (Jaeger, Tempo ou une plateforme commerciale), définissez un unique SLO, puis étendez progressivement.

Frequently Asked Questions

En quoi l’APM est-il différent de la surveillance de l’infrastructure ?
La surveillance de l'infrastructure mesure les hôtes, les conteneurs et les dispositifs réseau (CPU, mémoire, disque, perte de paquets). L'APM mesure l'application fonctionnant sur cette infrastructure (latence des requêtes, taux d'erreur, traces). Les plateformes modernes combinent les deux, mais les questions auxquelles elles répondent sont différentes. La surveillance de l'infrastructure demande « l'hôte est-il en bonne santé ? » L'APM demande « l'application est-elle en bonne santé du point de vue de l'utilisateur ? »
APM fonctionne-t-il avec les fonctions sans serveur ?
Oui, avec des réserves. AWS Lambda, Azure Functions et Google Cloud Run prennent tous en charge les agents APM et l'instrumentation OpenTelemetry. Les contraintes sont le surcoût au démarrage à froid ajouté par l'agent (atténué par les extensions Lambda ou l'instrumentation fonctionnelle en tant que couche), et la courte fenêtre d'exécution, ce qui rend l'exportation groupée moins utile. Recherchez des outils qui prennent explicitement en charge le serverless (Datadog Serverless Monitoring, l'intégration New Relic AWS Lambda, la couche OpenTelemetry Lambda).
Combien de temps faut-il pour configurer APM ?
Un seul service avec auto-instrumentation : moins d'une heure pour les premières traces. Un déploiement en production multi-service avec SLO, tableaux de bord et alertes : généralement de deux à six semaines pour une petite équipe. La majeure partie du temps n'est pas consacrée à l'instrumentation technique mais à la définition des SLO et à l'ajustement des alertes pour qu'elles soient utiles.
Combien coûte APM ?
Les modèles de tarification varient. Les plateformes par hôte comme Datadog facturent l'infrastructure et l'APM séparément à environ 15 à 40 $ par hôte et par mois selon le tarif affiché. Les plateformes basées sur l'utilisation comme New Relic facturent en fonction des données ingérées (par Go) plus les places utilisateurs. La journalisation basée sur le volume de données ingérées (Datadog Logs, Elastic, Splunk) évolue en fonction du volume. OpenTelemetry avec une pile auto-hébergée (Prometheus, Tempo, Loki, Grafana) n'a aucun coût de licence mais entraîne un coût opérationnel réel. Pour un déploiement Kubernetes de taille moyenne, attendez-vous à dépenser de quelques centaines de dollars à un montant bas à cinq chiffres par mois sur une plateforme commerciale, selon le volume de données et la rétention.
Est-ce que APM peut remplacer la journalisation ?
Non. Les logs restent l'outil adapté pour les contextes à haute cardinalité et faible fréquence (la session d'un utilisateur spécifique, un événement commercial spécifique). Les traces et métriques APM sont l'outil adéquat pour les données de performance à haute fréquence et faible cardinalité. Les deux sont complémentaires, et les plateformes modernes les unifient sous une seule couche de requête.
APM prend-il en charge les applications mobiles ?
Oui. Les SDK RUM mobiles (Firebase Performance Monitoring, Datadog Mobile RUM, New Relic Mobile, Embrace, Sentry Performance) collectent le temps de démarrage de l’application, les transitions d’écran, les crashs, les requêtes réseau et les ANR (Android) ou blocages (iOS). Ils partagent le contexte de trace avec les services backend afin qu’un écran lent puisse être retracé jusqu’à l’appel backend qui l’a causé.
Quelles langues APM prend-il en charge ?
Les principales plateformes commerciales couvrent Java, .NET, Python, Node.js, Go, Ruby et PHP. La couverture linguistique d’OpenTelemetry est la plus large, avec des traces Rust stables et Swift disponible en tant que SDK communautaire. Erlang et Elixir sont pris en charge par la bibliothèque officielle opentelemetry-erlang, incluant l’auto-instrumentation pour Phoenix, Ecto et Cowboy. Les cibles moins matures (Crystal, Zig, environnements d’exécution embarqués) nécessitent généralement une instrumentation manuelle du SDK OTel.
Matthew Schmitz
About the Author
Matthew Schmitz
Directeur des tests de charge et de performance chez Dotcom-Monitor

En tant que Directeur des tests de charge et de performance chez Dotcom-Monitor, Matt dirige actuellement un groupe d’ingénieurs et de développeurs exceptionnels qui travaillent ensemble pour créer des solutions de tests de charge et de performance de pointe, répondant aux besoins les plus exigeants des entreprises.

Latest Web Performance Articles​

Démarrer Dotcom-Monitor gratuitement

Pas de carte de crédit requise