Qu'est-ce qu'une solution de gestion des performances des applications (APM)?
La surveillance et le suivi de la santé des applications distribuées d'aujourd'hui sont devenus une tâche complexe.
Alors que de nombreuses applications de production adhèrent toujours à quelque chose comme le modèle à trois niveaux (qui sépare les niveaux de présentation, de logique et de données), la mise en œuvre réelle de ces niveaux est tout sauf standard et peut désormais s'étendre sur site, cloud et multi -déploiements géographiques, même au sein d'une même application.
Ainsi, bien que votre front-end puisse être hébergé sur des serveurs exécutant Amazon Web Services (AWS), votre logique de calcul peut être hébergée dans Rackspace, et certains ou peut-être simplement les fichiers de données les plus sensibles peuvent encore être stockés dans votre centre de données sur site où vous contrôlez le pare-feu.
Cependant, même avec ces complications, les applications commerciales ne sont généralement pas un problème de gestion si l'application est suffisamment populaire pour justifier un agent dédié de la part de votre fournisseur de gestion des performances des applications (APM).
Le vrai défi vient des applications personnalisées développées en interne qui, le plus souvent, n'ont pas les mêmes crochets que les applications commerciales.
Mais si votre entreprise dépend fortement d'une telle application personnalisée, vous devrez porter une attention particulière à ce tour d'horizon des outils APM.
L'une des principales fonctions de tout outil APM doit être d'identifier tout événement de réseau ou condition d'infrastructure qui a un effet négatif sur les performances.
Cela peut provenir d'une multitude de sources et peut souvent être attribué à des produits tiers qui ne sont pas sous le contrôle du propriétaire de l'application.
La plupart des applications commerciales (bases de données, serveurs de messagerie et serveurs Web) ont un certain type d'interface de surveillance pour une utilisation directe et programmatique.
Tout outil APM doit avoir la capacité de se connecter à ces applications commerciales et de surveiller leur état.
Comprendre la conception d'une application interne avec suffisamment de profondeur pour inclure tous les points de connexion externes est un facteur critique lors du choix des bons paramètres de performance à surveiller.
Pour certaines applications, il devrait être possible de surveiller simplement les points de connexion qui existeraient à une base de données, un serveur Web ou un service Web.
Une inspection plus approfondie des applications nécessite généralement de recompiler et de lier le code à une DLL fournie par l'outil de surveillance.
Cela peut ne pas être une option viable pour certaines applications personnalisées, mais fournit généralement un meilleur aperçu du fonctionnement interne d'une application.
La quantification du niveau de surveillance requis pour vos applications critiques est un excellent point de départ pour une évaluation.
Si votre organisation ne dispose que de quelques sites Web et d'un back-end de base de données, vous n'aurez probablement pas besoin de certaines des fonctionnalités haut de gamme et ne devriez pas avoir à les payer.
Certains des produits de ce tour d'horizon sont spécifiques à Microsoft, vous devrez donc chercher ailleurs si vous utilisez une base de données autre que Microsoft SQL ou un composant open source.
Si vous disposez d'une application complexe à plusieurs niveaux et que vous la considérez comme essentielle à votre mission, vous voudrez alors examiner de manière approfondie certains des outils dotés des fonctionnalités de surveillance des applications plus approfondies.
Principales fonctionnalités de surveillance APM
Les principales fonctionnalités de gestion et de surveillance des applications commencent par le processus de configuration.
La connexion à des applications commerciales bien connues ne devrait pas prendre plus de quelques clics en plus de saisir les informations d'identification de l'administrateur.
La prise en charge des bases de données commerciales les plus populaires, notamment IBM DB2, Microsoft SQL et Oracle, devrait être assurée, de même que la couverture des bases de données open source les plus populaires, notamment PostgreSQL et MySQL.
De plus en plus, vous souhaiterez élargir cette liste pour inclure le paysage en croissance rapide des offres de bases de données cloud telles qu'Amazon SimpleDB et Microsoft Azure SQL Database.
La configuration et l'activation des alertes déclenchées par des événements d'application spécifiques est une fonctionnalité clé que chaque outil devrait avoir.
Les alertes doivent pouvoir déclencher la notification d'une partie responsable en utilisant soit le courrier électronique, soit le SMS ou même l'intégration avec un outil d'alerte dédié tel que PagerDuty.
Un avantage supplémentaire ici serait la possibilité de résoudre automatiquement certains problèmes en fonction d'un ensemble d'étapes de flux de travail prédéfinies.
Creuser sous les couvertures d'une application Web nécessite la surveillance et le décodage du trafic entre les différents niveaux.
Avoir la capacité de capturer ce trafic, puis de le décoder pour localiser les problèmes est une fonctionnalité que l'on ne trouve généralement que dans les outils haut de gamme.
La présentation de graphiques de performances pour des requêtes SQL individuelles ou des mises à jour de bases de données apporte une dimension totalement différente à la surveillance de base.
Au moins un des produits testés (Stackify) rend cela possible à un coût très raisonnable.
L'analyse des fichiers journaux a connu un regain d'intérêt ces dernières années.
Savoir quelles entrées extraire d'un journal d'application, puis transformer ces données en informations utilisables nécessite généralement un produit d'analyse de journal.
Stackify propose un module complémentaire à leur outil de gestion de base pour faire exactement cela.
D'autres produits de ce tour d'horizon fournissent des capacités d'analyse de fichiers journaux à différents niveaux intégrées à leur produit de base, tandis que d'autres offrent cette fonctionnalité sous forme de plug-in.
Comment nous avons testé les solutions APM
Il convient de préciser d'emblée que l'objectif principal de cet examen n'était pas un examen approfondi des nuances plus fines de la surveillance des performances des applications, mais plutôt un examen de haut niveau des outils disponibles pour aider à suivre les applications critiques pour l'organisation.
—Et les ressources réseau et les conditions critiques pour eux.
Le point de départ de cette évaluation concerne le niveau de difficulté requis pour mettre en place et configurer la surveillance des applications commerciales sur étagère (COTS) et personnalisées développées en interne.
L'ajout de la capacité de surveillance à une application personnalisée doit être aussi peu intrusif que possible et bien documenté pour inclure un exemple de code.
Certains des produits examinés ne nécessitent que quelques lignes de code, tandis que d'autres nécessitent des modifications plus poussées.
Si votre application dispose déjà d'un certain niveau de journalisation des erreurs, vous n'aurez peut-être pas besoin d'apporter de modifications.
Les rapports sur les applications peuvent entrer dans la catégorie des accords de niveau de service (SLA) pour des applications spécifiques.
La création de rapports personnalisés avec des requêtes spécifiques ne doit pas être difficile.
L'exportation de ces rapports vers une variété de formats de fichiers devrait également être une chose facile à faire.
Les tableaux de bord doivent avoir le même niveau de flexibilité et de personnalisation.
Les graphiques présentés représentant des erreurs doivent permettre à un administrateur de déterminer le problème sans trop creuser.
Voici comment acheter
La définition des exigences d'un outil APM robuste doit être le point de départ de toute évaluation sérieuse.
Les éléments fondamentaux incluent la possibilité de voir des informations détaillées sur les applications commerciales clés et la communication entre les différents niveaux.
De nombreuses organisations n'ont pas le personnel pour surveiller les écrans d'ordinateurs 24h / 24 et 7j / 7.
Dans ce cas, l'alerte et la correction automatisées sont sans aucun doute une exigence clé pour aider à réduire la main-d'œuvre administrative requise.
Les rapports et la surveillance basés sur les tendances aident à déterminer les niveaux d'utilisation et à identifier les goulots d'étranglement potentiels avant qu'ils ne deviennent un problème.
De bons outils de reporting seraient une autre exigence pour inclure la possibilité de créer des rapports et des requêtes personnalisés.
Une fois que vous avez cette liste d'exigences essentielles, vous devriez être en mesure d'examiner chacun de ces produits et de déterminer s'il répond ou non à ces exigences.
Si plusieurs produits sont éligibles, vous devrez effectuer vous-même des tests pour voir lequel correspond le mieux à vos besoins.
Les prix varient, en commençant par la gratuité, puis d'un bas de gamme, par serveur, par mois de 1,24 USD, jusqu'à un prix d'achat de 1995 USD pour un maximum de 50 appareils.








