Performance applicative et impact business

Les problèmes de performances peuvent surgir à tout moment du fournisseur de l'application jusqu'à l'utilisateur final. Plus un problème est détecté tard, plus il coûte cher à corriger. D'où l'importance de prendre les devants.

Trop souvent, la performance des applications est considérée dans les entreprises comme un enjeu purement technique. A tort. En effet, les directions métiers sont les premières concernées par cette question. Qu'il s'agisse d'applications utilisées en interne ou destinées aux clients, toute baisse du service ou indisponibilité a des conséquences immédiates sur l'activité : baisse de productivité pour les collaborateurs, découragement et fuite des clients vers des sites concurrents, dégradation de l'image de marque...

Les problèmes de performances peuvent surgir à tout moment et à n'importe quel endroit d'une chaîne technologique complexe qui va du fournisseur de l'application jusqu'à l'utilisateur final. La liste est longue, par exemple le non respect des engagements de qualité de services de la part des opérateurs de télécoms et des fournisseurs d'accès, une mauvaise compatibilité des navigateurs, des limites de capacités réseau, des pages trop lourdes, des charges non maîtrisées, des conflits de bande passante, ou encore une mauvaise optimisation du routage...

Dans tous les cas, l'entreprise est perdante, et plus encore lorsque ces problèmes concernent des applications stratégiques tels que les sites marchands, les applications métiers stratégiques comme les ERP ou le CRM, les systèmes de paiement électronique...

De la performance applicative à la performance métier

La fréquence et l'impact de tels problèmes ne doivent donc jamais être sous-estimés. Dans une enquête menée en 2010 par Equation Research pour Compuware, 80 % des consommateurs interrogés se sont retrouvés au moins une fois dans l'incapacité de mener à bien des transactions financières ou commerciales en ligne. Parmi eux, près de la moitié (47%) n'ont pas hésité à quitter des sites sur lesquels ils ne pouvaient pas terminer leurs tâches au cours des trois derniers mois. Autant de revenus en moins pour les entreprises concernées, dont certaines, parions-le, n'ont même pas eu connaissance du problème ! Difficile en effet d'identifier des clients perdus quand ceux-ci n'ont même pas pu se faire connaître de l'entreprise, faute de pouvoir accéder en ligne à ses services. Une direction générale peut-elle prendre éternellement le risque de jouer avec la patience et la fidélité de ses clients ? A ce jeu, l'entreprise est certaine de perdre. Parfois beaucoup.

On le voit, les problèmes de performance applicative ont un impact direct sur la performance métier. Ils ont toujours un coût, d'autant plus élevé lorsqu'ils surgissent en environnement de production. En effet, plus un problème est détecté tard, plus il coûte cher à corriger, notamment car les conditions de son apparition sont difficiles à reproduire en environnement de test.

Les enjeux de performance applicative présentent donc un risque important pour l'entreprise, risque qu'il faut être capable de prévenir, mais aussi de traiter le plus rapidement possible, si malgré tout un problème survient.

Gérer les risques, une tâche difficile

La complexité des applications et des architectures actuelles rend la tâche ardue : applications accessibles sur mobile, recours au Cloud Computing et à des fournisseurs tiers, virtualisation, diversité des navigateurs, autant d'environnements et de plates-formes pour lesquels les outils de test et d'analyse de performance classiques ne suffisent plus. Dans un tel contexte, il ne suffit pas de tester quelques cas théoriques pour refléter la diversité des utilisations futures. De même, il est imprudent de se limiter à une surveillance de l'environnement interne, qui laisse trop de zones d'ombre potentielles et ne décèle pas les nombreux autres facteurs susceptibles de nuire au fonctionnement des applications : services fournis par des tiers qui ralentissent voir bloquent le chargement, problèmes venant des fournisseurs d'accès, JavaScript désactivé, etc.

Pour gérer efficacement les risques liés à la performance applicative, il faut être capable non seulement d'analyser isolément le comportement de chaque brique de l'application, mais aussi d'inclure les paramètres externes à l'entreprise, celle-ci n'étant pas toujours seule en cause. Enfin, et surtout, il importe d'être capable d'analyser les performances de bout en bout, dans des conditions similaires à celles rencontrées en environnement opérationnel. Autrement dit, il s'agit de se placer "dans la peau des utilisateurs", pour décortiquer le fonctionnement de l'application depuis l'extérieur de l'entreprise.

D'un point de vue métier, ce qui compte au final, ce n'est pas le bon fonctionnement de la base de données ou du réseau interne, mais bien l'expérience du client ou des salariés, autrement dit leur ressenti : que celui-ci soit négatif, et c'est un client potentiel en moins, un collaborateur mécontent et démotivé, voire des transactions critiques qui ne peuvent être menées à bien.

Prendre en compte la diversité des utilisateurs

Pour les équipes IT, cela signifie être capable de tester et de mesurer  :

- ce que font les clients et utilisateurs finaux (pages et transactions clés) ;
- les lieux où ils le font (différents emplacements géographiques, fuseaux horaires variés) ;
- la manière dont ils le font (dispositifs mobiles, systèmes d'exploitation, navigateurs et clients clés) ;
- quand ils le font (utilisation normale et pics d'utilisation).

 En "production", tous ces éléments doivent être surveillés en permanence, afin de détecter les problèmes en temps réel et non a posteriori, lorsque les activités métiers ont déjà été impactées.

Suivre les performances de bout en bout, c'est possible !

Des solutions existent pour gérer la performance applicative selon le point de vue de l'utilisateur, la seule manière d'adresser efficacement les risques : ces solutions permettent de prévenir les problèmes par le biais de tests de performance approfondis et par une surveillance des applications "en production" ; elles aident également à les traiter en donnant les moyens de détecter les problèmes dès l'instant où ils apparaissent. En mesurant l'expérience des utilisateurs finaux;, on est aujourd'hui capables de déterminer avec précision le  nombre d'utilisateurs touchés par un problème, ainsi que l'impact de ce problème sur l'entreprise. On arrive ainsi au but : isoler la cause profonde du problème et le résoudre rapidement.