L’audit d’application permet de constater les problèmes de performance en apportant des données quantitatives mais pas seulement.
Problèmes de performance applicative : de quoi parle-t-on ?
Lorsque l’on parle de performance applicative, on évoque le plus souvent la vitesse d’exécution d’un logiciel complet ou d’un traitement spécifique ou encore d’un écran ou d’une page en particulier. Cela concerne donc la rapidité à laquelle l’élément concerné se charge ou réalise l’action demandée.
De ce fait, les problèmes de performance applicative se concrétisent souvent par des temps de réponse qui s’allongent, la multiplication des bugs liés aux dépassement de délais (timeouts) voire un arrêt de l’application.
Ces problèmes de performance applicative prennent leur source :
– en amont de la mise en production de l’application : exemple, problème de conception de l’application ?
– ou en aval : exemple, problème de dimensionnement de plate-forme ou évolution de l’application dans le temps ou des volumes de données qui impactent les performances
Bien évidemment, cela impacte l’utilisation même de l’application et la productivité de ses utilisateurs. Il s’agit donc d’un enjeu stratégique pour les entreprises où une dégradation des performances d’un logiciel métier ou de gestion peut être problématique. C’est aussi un enjeu pour les éditeurs de logiciels qui peuvent fortement décevoir leurs clients. Ceux-ci sont aussi confrontés aux enjeux du SaaS, qui peuvent apporter leur lot spécifique de difficultés liées à la consolidation des environnements clients sur une plate-forme multi-tenant.
Trouver la cause, le rôle de l’audit applicatif :
Diagnostiquer est un véritable enjeu car les problèmes logiciels peuvent être assez profonds et divers : suivi des bonnes pratiques de développement, problème de réseau, application mal dimensionnée pour son utilisation, architecture logicielle mise en cause, base de données saturée ou mal indexée, fuite mémoire, scalabilité horizontale non prévue, etc.
L’audit applicatif permet ainsi d’identifier les problèmes et surtout d’apporter des pistes d’optimisations et des recommandations actionnables afin de résoudre les problèmes rencontrés et améliorer les performances applicatives.
Au-delà de résoudre les problèmes existants à l’instant T, les optimisations préconisées permettent de préparer les futures montées en charge de l’application.
Le déroulement d’un audit de performance applicative :
Les différents axes d’analyse de l’audit d’application dans le cas de problèmes de performances sont davantage détaillés dans ce livre blanc.
L’audit de performance applicative se déroule en plusieurs étapes :
– Récupération des informations nécessaires pour la mise en place de l’audit : il s’agit entre autres de tests de montée en charge et de suivi d’indicateurs de performance (KPIs) lié à l’application. Il s’agit également d’auditer le code source.
– Réalisation de l’audit par l’analyse des différentes données récoltées et conception des livrables. Ceux-ci prennent la forme de recommandations actionnables et priorisées dans une matrice de décision prenant en compte la priorité et la complexité.
– Restitution des livrables et réponses aux questions.
SoftFluent possède plus de 200 audits à son actif, ce qui nous a permis de concevoir une méthodologie d’audit d’application éprouvée.
Comme nous avons pu le faire avec de nombreux clients, SoftFluent peut vous accompagner ou vous conseiller dans la mise en place concrète des recommandations, que vous en reteniez uniquement certaines ou la globalité.
C’est le cas de cet acteur de l’optique qui a constaté des problèmes de performances suite au déploiement d’une application et qui a fait appel à notre expertise pour avoir un avis extérieur sur leur application.
Notre analyse s’est attachée à étudier :
– L’architecture,
– L’environnement de l’application
– Et l’étude du code (complexité, analyse code source, etc.)
Nos axes d’améliorations, que nous avons mis en place par la suite, se sont ensuite étendus sur différentes dimensions, comme entre autres la navigation, l’ergonomie, l’utilisation des données, etc…