Mettre de l’intelligence dans L’APM ( Application Perfomance Monitoring)
La supervision de la performance applicative est devenue une problématique centrale, transformation numérique oblige, tout en se compliquant à mesure que les architectures des applications se complexifient. Pour détecter, identifier voire résoudre les problèmes, L’IA devient un passage obligé.
Qui peut prétendre ne jamais avoir été confronté à une application lente, voire tout bonnement inaccessible ? Qu’il s’agisse de sites web, d’applications mobiles ou encore d’outils métier, les problèmes de performance ont bien souvent un impact direct sur l’activité d’une entreprise. La situation la plus souvent citée est celle d’un site d’e- commerce qui chargerait lentement, ou afficherait des erreurs. Les clients, perturbés dans leur parcours d’achat, risquent d’abandonner leur panier, et même de se tourner vers un concurrent… soit des pertes de revenus pour l’éditeur du site défaillant. On peut imaginer un cas de figure similaire pour un CRM, auquel les commerciaux ne parviendraient pas à accéder, ou un logiciel de GPAO tournant au ralenti et affectant négativement une chaîne de production. En bref, la performance applicative est essentielle et il est devenu crucial de pouvoir corriger les problèmes rapidement, voire avant que l’utilisateur final ne soit touché. C’est ici que L’APM, pour Application Performance
Monitoring ( supervision de la performance applicative dans la langue de Molière) prend tout son sens, car elle répond à une question existentielle : « Que fait donc mon application, qui rame tant, dans cette galère ? » Pendant longtemps, quand l’application n’était qu’un bloc monolithique, mettre au jour la cause racine d’un ralentissement était une course, certes, mais regarder les métriques et les dépassements de seuil sur tel ou tel serveur ou routeur suffisait généralement à découvrir la raison du problème. Depuis, l’architecture applicative s’est considérablement complexifiée. Une application peut être éclatée entre serveurs on- premise et dans un Cloud, public ou privé, fragmentée et conteneurisée, avec des interdépendances entre ses différents composants et micro- services, sans compter les enjeux liés au edge ou à l’iot… En résumé, identifier la source d’un dysfonctionnement est loin d’être aisé et les approches traditionnelles de L’APM, qui reposent surtout sur des outils de diagnostic, ne suffisent plus.
Un monde dynamique et complexe
« Autrefois le métier de L’IT, c’était de supporter le business » , se souvient Erwan Paccard, Director Product Marketing chez Appdynamics. « Avec la transformation numérique, L’IT s’est retrouvée propulsée au coeur du métier puisque c’est par le biais de L’IT qu’on fait le business. Donc, les services informatiques sont sous pression pour faire mieux plus vite. » Plus agile en somme, d’où le choix du Cloud, qui vient retirer certaines tâches d’infrastructures. Puis la machine virtuelle, afin de répondre par exemple aux pics de charge et dimensionner l’infra… Là- dessus est arrivé le conteneur, plus agile encore, permettant encore plus de densité. « Pour nous, ça a tout changé » , nous explique Erwan Paccard. « La complexité a explosé. Avant, les applications étaient homogènes, statiques dans le temps, leur structure et comportements connus : quelques indicateurs permettaient de comprendre ce qu’il se passait et pourquoi. Désormais, nous sommes passé à un monde complètement dynamique, avec des micro- services qui s’exécutent en tous sens, se connectent et se déconnectent à la volée, qui sont créés et détruits à la volée. Un système hautement distribué avec des milliers d’instances qui communiquent entre elles et qui ont des durées de vie très courtes se comporte différemment et pose des problèmes différents des applications traditionnelles. » Et voilà que les silos, que cette même approche agile prétendait casser, repointent le bout de leurs nez. Y compris dans le monitoring, entre les outils fournis par les
« Un système hautement distribué pose des problèmes différents des applications traditionnelles »
Erwan Paccard, Director Product Marketing chez Appdynamics.
Cloud providers et ceux qui vont être plébiscités par chaque métier. Cette multiplication des outils non seulement a un coût, mais provoque aussi une perte de temps et de visibilité. Appdynamics a observé chez certains de ses clients jusqu’à une trentaine d’outils de supervision différents. Antoine Ferté, directeur technique Europe du Sud de Dynatrace, parle pour sa part d’ « hyperdivergence » . Les spécialistes de L’APM ont donc opté pour une approche transversale, cherchant à « prendre de la hauteur dans le monitoring » , selon Antoine Ferté. Soit des outils qui capturent l’intégralité de la chaîne d’une transaction, et évidemment 100 % des transactions.
Pour mémoire, L’APM consiste à déployer des agents logiciels là où s’exécute une application. Ces agents vont ensuite remonter l’ensemble des informations relatives au fonctionnement de l’application, arborescence incluse. On l’a vu, l’architecture d’une application s’est complexifiée, il est donc nécessaire que les outils
D’APM en fassent la cartographie et sachent quel composant discute avec quel autre, comment, dans quel sens, quels sont les temps d’exécution… Traditionnellement, ces informations vont alimenter des dashboards et des graphs qui serviront à détecter les problèmes. « Pendant longtemps, la détection des problèmes était une course : il fallait soit avoir constamment les yeux sur le graph, soit définir des seuils d’alerte » , signale le directeur technique de Dynatrace. « Or, cette méthode est assez lente et peu agile, notamment à l’égard des métiers, dont le focus est sur le fonctionnel plus que sur la performance. » L’intelligence artificielle entre alors en scène. Connaissant l’arborescence de l’application ainsi que son fonctionnement normal, L’IA est à même de détecter des comportements anormaux, s’affranchissant ce faisant de la notion de seuil, et de savoir où se situe le problème et quelles dépendances sont touchées.
Intelligence( s)
Car mesurer les métriques ( CPU, mémoire, disques, bande passante, etc.) ne suffit plus. « On peut avoir une application qui utilise 100 % du CPU sans que cela n’impacte l’utilisateur.
Il faut avoir une approche qui consiste à regarder la qualité de service » indique Antoine Ferté. Temps de réponse en tête. En effet, dans un monde dynamique, les anomalies susceptibles de déclencher une alerte de seuil peuvent être volontaires, à l’instar de la création d’un nouveau conteneur ou de sa suppression. En prenant la performance au sens large, on s’expose donc au risque de faux- positifs. Et pour découvrir si la modification entraîne une dégradation du modèle, ce sont des centaines de millions de lignes d’indicateurs sur lesquelles il faut se pencher. Une tâche difficilement imaginable pour un humain. « Aujourd’hui, on suit tout en temps réel. En cas de problème, une capture de données plus précise à l’instant T est faite afin que, par exemple, les développeurs puissent descendre jusqu’à la ligne de code voir quels codes s’exécutaient, quelles valeurs, quelles paramètres, etc. Lors d’une alerte de haut niveau, ils doivent donc se plonger dans ces captures de code et les analyser à la main » , décrit Erwan Paccard. « L’IA est aujourd’hui capable de regarder plusieurs milliers de captures de données en même temps et de dire « dans X cas, telle ligne de code a provoqué le plantage parce qu’il y avait tel paramètre anormal, dans X autres cas, c’est un problème de buffer dans la pile kafka. » L’IA va regarder toutes les données et réduire le champ de recherche pour l’expert humain qui devra trouver la racine du problème. » En effet, l’intervention humaine reste nécessaire, l’intelligence artificielle servant d’auxiliaire corrélant les alertes, les données et en connaissant le modèle de l’application et comment ses dépendances fonctionnent entre elles.
De même, L’IA peut contribuer à la résolution des problèmes de performances applicatives une fois leur cause découverte. Mais nous n’en sommes qu’au début : sur la partie auto- remédiation, une IA est capable de fonctions très basiques, redémarrer un service ou encore provisionner des ressources supplémentaires. Mais on est encore très loin d’avoir une IA omnipotente. Ni même, selon Erwan Paccard, un moteur d’intelligence unique transversale suivant à la fois les aspects applicatifs, infra et métier. Quand Appdynamics parle D’IA, il faut entendre des cognition engines, soit plusieurs moteurs spécialisés, chacun traitant une fonction. L’automatisation tout azimut, « on va y arriver graduellement, mais sous cinq à dix ans » . Rachetée par Cisco en 2017, Appdynamics représentait pour le géant des réseaux un pied dans la couche applicative. Une brique à laquelle de nombreux acteurs, issus aussi bien du monitoring d’infrastructures que de L’ITSM, prétendent. Ensemble, Cisco et Appdynamics développent un Central Nervous Systems, assez proche de cette idée d’une IA transversale. En effet, Cisco a les données sur les réseaux, sur l’infrastructure et sur les aspects sécurités, Appdynamics sur l’application. « On travaille ensemble au niveau de la structuration de la donnée pour pouvoir tout mettre au même endroit et afin que les différents moteurs IA puissent aller piocher dans ces données et comprendre le contexte de manière riche » , précise Erwan Paccard. Avec pour objectif final non pas une intelligence centrale de science- fiction mais « une plate- forme d’ingestion de données au- dessus de laquelle une collection de moteurs tourne, chacun ayant une fonction spécialisée, et, encore au- dessus, des méta- moteurs qui corrèlent tout ça. Parce que les IA généralistes capables de tout faire n’existeront pas avant longtemps » . ✖
« Il faut avoir une approche qui consiste à regarder la qualité de service »
Antoine Ferté, Directeur Technique Europe du Sud de Dynatrace.