Supervision applicative : un élément essentiel du contrôle qualité du SI

La surveillance applicative est un des piliers de l’assurance qualité d’un système d’information. Elle a pour but d'aider à identifier et résoudre un problème de fourniture de service au regard de sa criticité.

Au cœur même de l’assurance qualité d’un système d’information, la surveillance applicative en est un des piliers. De par la criticité sans cesse croissante des outils informatiques mis en œuvre pour assurer l’activité économique et sociale (administration, industrie, soins médicaux …), celle-ci retient, à ce titre, la plus grande attention afin d’atteindre une qualité de service optimale.


Qu'est ce que la supervision applicative ?


Les applications sont l'essence même du service fourni par le système d'information aux utilisateurs finaux et aux métiers. La qualité de service, ou QoS (Quality of Service), fournie aux utilisateurs par un outil informatique est évaluée via de multiples indicateurs. Généralement déterminés à partir d'un accord sur la qualité de service (Service Level Agreement - SLA), ceux-ci varient fortement d'une application à l'autre en fonction  de sa spécificité et de sa criticité au regard de l'activité de l'entreprise.

Ces indicateurs sont généralement regroupés en trois grandes familles :
- La disponibilité du service,
- La performance de l'application,
- L'intégrité des données.

De fait, outre l'intégrité des données,  la supervision applicative, en tant que service de contrôle et d'assurance de service régulier, mesure la qualité de service fourni aux utilisateurs en termes de performance et de disponibilité de l'application. En ce sens, elle conduit à une évaluation du ressenti utilisateur par rapport à la fourniture du service, ainsi qu'à l'identification de l'origine du problème et fournit une aide à la résolution de celui-ci.


Quels sont ses buts ?

La supervision applicative a pour but d'aider à identifier et résoudre un problème de fourniture de service, pour pouvoir agir le plus rapidement possible au regard de l'urgence ou la criticité de celui-ci, en fonction de l'impact sur l'activité de l'entreprise et des risques encourus (techniques, économiques, juridiques...).


Identification et aide à la résolution d'un problème 

- Confirmer l'incident : dégradation des temps de réponse, indisponibilité totale ou partielle de l'application, impossibilité d'accès aux serveurs (gateway, data processing server, database server) et le dater (date et plage horaire de survenance).
- Mesurer l'impact : nombre et pourcentage utilisateurs, pages ou transactions lentes ou inaccessibles (performances réseau, serveur et poste client ...).
- Isoler le domaine en cause : réseau, serveur applicatif, base de données, application, poste client ...
- Alerter les exploitants, les superviseurs et les administrateurs de l'application et/ou du système, par messagerie électronique et/ou traps SNMP (Simple Network Management Protocol) pour suivi sur console de pilotage.

Aider à identifier dans les délais les plus brefs
- La criticité par rapport aux transactions impactées,
- Le nombre d'utilisateurs impactés,
- Les sites et Data Center impactés,
- La durée des dégradations ou indisponibilités de service.

Agir le plus rapidement possible en fonction de l'impact sur l'activité
- Dégradation partielle ou générale des temps de réponse ,
- Indisponibilité totale ou partielle de l'application ou des systèmes.


Quels types d'outils ?

Pour pouvoir être assurée, la supervision applicative nécessite la mise en oeuvre d'outils robot, ou synthetic agent, simulant l'activité des utilisateurs par le déroulement de scénarios d'enchaînement de transactions ou d'outils sans agent, ou agentless, qui épie l'activité réelle des utilisateurs de l'application.

- Robots ou Synthetic Agents
Après sélection de transactions étalons, la surveillance de l'application est activée, certes de façon partielle, par exécution de ces transactions critiques à partir de postes clients, mais de manière proactive.
- Sans agent ou Agentless
Après sélection du périmètre applicatif à superviser, partiel ou total, la surveillance permet d'avoir une vision totale de l'activité réelle des utilisateurs sur le domaine supervisé et ce de manière réactive.

Critères de sélection de l'outil de supervision à mettre en oeuvre
Cette sélection dépend de la criticité de l'application, et/ou de certaines transactions de celle-ci, et du besoin de pro-activité ou de réactivité au regard des enjeux économiques et stratégiques de l'activité de l'entreprise, ceci devant aussi être corrélé avec la volonté des responsables opérationnels à se concentrer sur l'ensemble de l'activité réelle et non pas sur une brique fonctionnelle métier.


Outils Open Source, surveillance externe  et outils propriétaires


- Outils open source
Outre leur gratuité, les logiciels libres offrent généralement la disponibilité du code source et la possibilité de le modifier pour l'adapter à la spécificité du besoin auquel est confrontée l'entreprise.
Il s'avère cependant souvent difficile d'obtenir du support si ce n'est par des participations à des forums où des communautés d'utilisateurs et de développeurs participant à l'amélioration de ces outils apportent une assistance à leurs collègues.
Parmi ceux offrant la possibilité de faire de la supervision applicative, je citerai, sans vouloir faire ombrage à leurs nombreux concurrents, OpenSMART (http://opensmart.sourceforge.net), Nagios (http://www.nagios.org) ou encore Zabbix (http://www.zabbix.com).

- Surveillance externe
Le monitoring à distance de sites Web et services accessibles depuis Internet peut être mis en oeuvre à l'aide d'outils de supervision en ligne. Cette surveillance est assurée au moyen de sondes réparties sur différentes zones géographiques. A titre d'exemple, l'outil Datamétrie de la société IP-Label.newtest permet, à partir de sondes réparties chez différents fournisseurs d'accès internet, de superviser la qualité d'accès aux sites Web et des services fournis aux utilisateurs des applications de l'entreprise accessibles depuis internet.

- Outils propriétaires
Face à l'utilisation sans cesse croissante de leur système d'information par les entreprises, la plupart des acteurs majeurs de l'édition logicielle leur proposent aujourd'hui des outils complets de supervision pour répondre au mieux à leur besoin de disponibilité toujours plus grande de leur infrastructure informatique.

Parmi les éditeurs logiciels les plus connus, proposant des outils complets de supervision applicative, nous retrouvons :
· BAC (Business Availability Center) d'HP,
· VRUM (Vantage Real User Monitoring) de Compuware.


Retours d'expérience

- Mise en oeuvre de surveillance avec outil agentless
A titre d'exemple, les utilisateurs d'une de nos applications se plaignaient régulièrement de dégradation des performances. Suite à la mise sous surveillance de cette application à l'aide de l'outil VRUM (Vantage Real User Monitoring), l'analyse des graphes de temps de réponse a permis de cibler les laps de temps au cours desquels survenait ce problème. En affinant l'analyse au niveau des différents sites utilisateurs, nous avons pu constater que cette dégradation était générale.

L'outil permettant de descendre au niveau des requêtes elles-mêmes, les plus consommatrices en temps et en ressources ont pu être immédiatement identifiées. L'analyse du code a permis de détecter la fautive. Cette requête, très mal programmée, n'utilisait pas d'index pour accéder aux données. Suite à sa correction, les temps de réponse sont redevenus acceptables et nous n'avons plus reçu de plainte utilisateurs à ce sujet. A ce jour, comme de nombreuses autres, cette application est toujours sous surveillance. Ce qui nous permettrait, en cas de nouvel incident, d'intervenir de suite.

- Mise en oeuvre de surveillance avec outil robot
Autre exemple, la surveillance d'une application Web à l'aide de l'outil BAC (Business Availability Center) a déclenché des alertes sur l'impossibilité d'accès à la page d'accueil de celle-ci depuis les différents sites d'hébergement des sondes, ceci  alors qu'aucun utilisateur réel n'était en cours d'activité à cet instant.

Forts de ce constat, nous avons focalisé notre analyse sur le serveur applicatif. Ceci  a permis de constater très rapidement que le service était tombé. Suite à sa remise en route, l'application a de nouveau été accessible sans aucun impact sur l'activité puisque les utilisateurs ont ensuite pu travailler sans aucun problème.


Complémentarité de la supervision applicative et de la supervision système


Afin d'avoir l'assurance de la qualité de l'ensemble du périmètre technique  supervisé (application et infrastructure), cette surveillance applicative est à compléter par la mise en oeuvre de la supervision système (surveillance de la machine hébergeant l'application et ses ressources) et réseau (contrôle de bon fonctionnement  des communications et de performance des liens).

Appliqué à l'intégralité du système d'information de l'entreprise, et indépendamment de la forme et de l'origine des données résultantes, ceci nous mènerait à l'hypervision et donc à la centralisation des informations émanant des différents outils de supervision en vue de leur mutualisation pour pouvoir agir au mieux avec la plus grande précision possible et dans les délais les plus brefs.