luchschen_shutter - Fotolia

APM : les 3 critères essentiels pour choisir le bon outil

Comparer et évaluer les solutions et fournisseurs d’outils de gestion des performances n’est pas tâche aisée. Voici les points essentiels à prendre en compte pour pouvoir s’en sortir et choisir l’application la plus adaptée.

Trouver le bon fournisseur de monitoring de la performance des applications (APM – Application Performance Management) peut être un vrai parcours du combattant. Lorsqu’il s’agit de comparer et d’évaluer les critères mis en avant par la longue liste de fournisseurs, le temps risque de manquer.

Pour vous faciliter la tâche, trois critères peuvent être davantage pris en compte que d’autres dans vos analyses : le monitoring, le reporting et l’analyse.

Le monitoring

Le monitoring est la caractéristique principale de chaque plateforme APM. Elle prend de nombreuses formes. Cependant, le type de monitoring peut varier considérablement d'une plateforme à l'autre, selon le marché cible.

Monitoring des serveurs et métriques

Les serveurs sont l'une des composantes universelles du développement d'applications ; ce qui en fait donc la pierre angulaire des solutions d'APM, quel que soit le fournisseur. Difficile de trouver un logiciel APM qui ne propose pas de monitoring de serveur. Il est également important de considérer comment un fournisseur applique cette fonction – quel est le design et l’utilisabilité -  et de déterminer comment cela pourrait avoir un impact dans votre entreprise.

Par exemple, Datadog arbore une interface utilisateur très raffinée, idéale pour le travail en équipes, mais la plateforme peut devenir couteuse si l’on scale. D'un autre côté, des outils Open Source, comme Nagios, mettent  l'accent sur leurs possibilités de configuration. Elles sont beaucoup plus abordables. Bien que ces différences peuvent certes apparaître faibles, la réalité est que ces détails auront au final un impact direct sur la façon dont votre équipe utilisera la plateforme.

Monitoring des utilisateurs réels

Si toutes les applications nécessitent un serveur pour s'exécuter, toutes les applications n'ont en revanche pas besoin d'utilisateurs. Le Real User Monitoring (RUM) est une forme de monitoring passif qui suit et analyse chaque action d'un utilisateur sur une application en utilisant à la fois des métriques côté client et côté serveur. Dans le cas d'une application Web, le RUM suit et agrège chaque page visitée par un utilisateur et chaque bouton sur lequel il a cliqué. Cela permet ainsi d'identifier l'impact de chaque action. Tout peut être pris en compte : de la vitesse de la requête sur le réseau à l'efficacité des requêtes effectuées sur les bases de données sous-jacentes - selon les fonctions de l’outil d’APM utilisé.

Par nature, on retrouve ce type de monitoring chez les fournisseurs d'APM spécialisées dans la surveillance des applications centrées sur l'utilisateur - généralement mobiles et Web. Par exemple, Stackify se concentre fortement sur l’analyse des applications web. New Relic surveille les utilisateurs web et mobile. D'autres fournisseurs, tels que Sensu, ciblent quant à eux le monitoring côté serveur et ne proposent aucune fonctionnalité RUM côté client.

Monitoring de la performance Web

Le monitoring de la performance Web est souvent utilisé en conjonction du RUM. En raison de l'utilisation croissante des frameworks JavaScript dans les applications et pour décrire la logique métier côté navigateur, il est plus important que jamais de comprendre l'impact sur les performances que certaines modifications peuvent avoir sur l’expérience utilisateur.

 Bien que cela soit souvent couplé avec le RUM, le monitoring de la performance Web se se base sur les indicateurs mis à disposition dans le navigateur, plutôt que sur une analyse complète de la satisfaction de l'utilisateur.

En règle générale, les fournisseurs d’APM qui analyse le RUM à partir du Web ont également tendance à offrir un suivi de la performance Web. L'outil APM de Dynatrace, par exemple, monitore le navigateur pour identifier les messages d'erreur JavaScript et suivre la latence du navigateur pour chaque requête. Parce que les applications disposent généralement d’un composant web, le monitoring de la performance web peut fournir des informations précieuses. La quantité de trafic qu'une application reçoit peut en effet provoquer un goulot d'étranglement si la configuration est mauvaise.

Monitoring synthétique

Tandis que la surveillance de la performance RUM et Web prend en compte l'utilisation réelle de l'application, le monitoring synthétique s’intéresse quant à lui à  l'utilisation courante de l'application. Plutôt que de suivre le comportement d'un utilisateur actif, il utilise un comportement préprogrammé pour identifier les changements dans les données de monitoring. Cela peut être utile pour desceller d’éventuels problèmes avant même que les utilisateurs réels ne les rencontrent.

Un excellent exemple de monitoring synthétique ciblé est Pingdom de SolarWinds. Cet outil d’APM monitore en permanence les performances et la disponibilité du site Web. Pingdom est certes une plateforme idéale pour les grandes applications web, son prix raisonnable et de ses fonctionnalités ciblées côté client en font une solution adaptée pour les applications plus réduites. D'un autre côté, les plateformes APM plus robustes, comme LogicMonitor, proposent des outils de monitoring synthétiques en plus d’une approche plus traditionnelle.

Reporting

Bien que le monitoring soit la pierre angulaire de tout logiciel APM, la quantité de données que cela génère peut vite devenir inexploitable sans la possibilité de faire remonter les anomalies. Tout comme le monitoring, tous les outils d’APM proposent au moins une fonction de reporting.

Reporting des erreurs au niveau de l’application

Dans le développement de logiciels, les erreurs sont inévitables, mais il peut être difficile de les identifier et de les corriger avant qu'elles n'aient un impact sur l'utilisateur final. À un niveau élevé, les rapports d'erreurs ne portent que sur une simple agrégation des logs et une analyse des erreurs critiques. Mais les logs ne sont pas le seul repère. De nombreux outils APM s'intègrent directement aux frameworks et aux langages de programmation pour détecter les erreurs au niveau de l'application et du serveur.

Mais la valeur réelle de ce reporting d’erreur est aussi liée à la capacité d'un fournisseur d’APM non seulement d'agréger et de lister les anomalies, mais aussi d'identifier des tendances. Dynatrace, par exemple, développe un outil d’APM évolutif qui agrège les erreurs au niveau de l’application et identifie la fréquence des erreurs rencontrées par les utilisateurs. De leur côté, Splunk et Grafana reposent sur des architectures de plug-in pour intégrer de rapports d'erreurs plus personnalisés.

Tests de charge et alertes

Toutes les applications n'ont pas besoin d'être scalables. Les outils internes et les produits de niche peuvent souvent faire l’impasse sur les tests de charge. En revanche, les applications grand public à grande échelle exigent un niveau élevé de disponibilité, ce qui signifie que les tests de charge et les rapports sur l'utilisation des ressources sont une priorité élevée. Bien que le test de charge soit un facteur important dans ces applications, sa véritable valeur provient des données que la plate-forme APM agrège.

L'identification de patterns, calculés à partir de différents niveaux de charge exercés sur l’infrastructure,  peut contribuer grandement à la planification et à la durabilité. Pour faciliter cela, les fournisseurs d'APM comme AppDynamics et New Relic s'associent à des partenaires afin de fournir un environnement intégré de bout en bout. Vous pouvez également utiliser des plateformes Open Source, comme Nagios, pour identifier manuellement les patterns qui indiquent un pic inhabituel de  charge et pour définir des alertes en conséquence.Analyse

De nombreux outils d’APM offrent des capacités d'analyse, ce qui peut être extrêmement utile pour comprendre toutes les données générées. Si repérer les erreurs et les pics de charges est très important, les applications les plus complexes ont tout à bénéficier d'outils qui automatisent l'analyse des problèmes.

Analyse

Analyse des causes profondes

Lorsqu'il s'agit de défauts logiciels, il est souvent difficile d'identifier la cause première de l’erreur. Une mauvaise configuration de la base de données peut causer une page d'erreur dans le navigateur, ou une sur-utilisation du serveur peut provoquer un problème de latence de la base de données. L'analyse des causes profondes est une fonction qui permet de rapprocher la partie diagnostic de la correction des défauts et de mieux identifier ce qui se passait lorsque l’erreur est intervenue.

En raison de la quantité de données à conserver, les outils d’APM avec analyse des causes profondes fonctionnent souvent mieux chez les grandes entreprises. New Relic et CA Technologies cartographient en temps réel l’état et l’historique d'une application. Ces plateformes permettent d'identifier le comportement d’usage et d'obtenir une meilleure visibilité. Elles proposent également des outils de dépannage en se reposant sur certaines données telles que les paramètres de débit, les taux d'erreur et les temps de réponse des utilisateurs finaux - en plus des données spécifiques aux services.

Intelligence artificielle

Avec l'intelligence artificielle, une plateforme APM standard devient auto-apprenante. Elle peut réellement apprendre et automatiser le diagnostic, jusqu’alors manuel, et  l’analyse de la cause fondamentale. Au final, cela donne plus de temps pour optimiser l’application.

Dynatrace propose par exemple des fonctionnalités très impressionnantes pour détecter les relations de cause à effet entre anomalies. L'IA ne convient peut-être pas aux entreprises qui ont déjà mis en place des processus de gestion des performances. En revanche, cela peut être une solution pour les petites entreprises avec moins de ressources.

 Capacités d'intégration

Grâce au Cloud, les administrateurs effectuent rarement le développement de façon isolé. L'intégration à des services tiers est devenue plus une règle qu'une exception.  C'est pourquoi les outils d’APM s’intègrent aujourd’hui à de nombreux services Cloud. L'avantage de cette intégration est que cela permet d'ajouter des données à l'ensemble, sans avoir à adapter à son outil d’APM.

Si la plupart des logiciels de gestion des performances repose sur une architecture à base de  plug-in ou douée de fortes capacités d'intégration, Datadog et Grafana sortent du lot. Ils offrent tous deux une vaste bibliothèque de passerelles d'intégrations pour agréger et analyser les données de presque tous les grands fournisseurs de services.

Si l’APM est un excellent moyen pour garder une longueur d'avance en matière de stabilité et rapidité, le choix du bon fournisseur et de la bonne plateforme sera déterminant dans les résultats que vous obtiendrez.

Pour approfondir sur Administration de systèmes

Close