singkham - Fotolia
AppDynamics surveille aussi les performances des microservices
Le spécialiste de l’APM intègre à sa plateforme un moteur spécialisé dans la surveillance, l’optimisation et la gestion des microservices.
Si les microservices représentent un modèle d’architecture qui implique de repenser la conception d’une application, les outils de contrôle et de gestion des performances applicatives doivent la prendre en compte. Ce constat, la société AppDynamics, positionnée depuis 2008 sur le segment de l’APM (Application Performance Management) l’a réalisé avec la dernière mouture de sa plateforme App IQ, présentée début août. Cette plateforme, historiquement placée sur le monde Java, s’est vue doté d’un 6e moteur de traitement et de corrélation dont la vocation est justement de pouvoir surveiller le bon fonctionnement et l’optimisation des microservices qui motorisent une ou plusieurs applications, d’en détecter les éventuels dysfonctionnements, pour au final offrir des possibilités de remédiation.
Les microservices sont devenus un modèle d’architecture applicative qui, comme hérité des concepts de la SOA – mais sans sa lourdeur - , vient décomposer une application en une kyrielle de services applicatifs, qui, grosso modo, correspondent chacun à une infime fonction. Ce principe de microservices est arrivé sur le devant de la scène avec d’autres concepts, comme le DevOps et l’agilité – car les microservices offrent une importante flexibilité - , mais également des conteneurs et les APIs REST, qui permettent de traduire techniquement cette flexibilité. Sans oublier le Cloud, évidemment.
A tel point qu’aujourd’hui, si l’on en croit Pejman Tabassomi, Sales Consultant chez AppDynamics, les les microservices « sont une vraie réalité ». Les entreprises sont très réceptives à cette idée et plancheraient sérieusement sur le sujet. Toutefois, sans outil de mesure et de contrôle automatisé (tout comme pour les autres modèles applicatifs) de cette architecture très découplée et ramifiée, les entreprises pourraient bien y rester frileuses.
D’où la volonté d’AppDynamics d’inclure cette brique à sa plateforme et à son outillage qui la composent. Microservices IQ permet de réaliser 3 étapes dans la surveillance, l’optimisation et la gestion des microservices.
Trois composants pour cartographier, suivre et réguler les microservices
La première, Service Endpoint, cartographie automatiquement les microservices d’une application et détecte chaque service. De là, explique Pejman Tabassomi, sont collectés des indicateurs clés (KPI) liés par exemple au temps de réponse, au nombre d’erreurs par minute et aux appels par minute. Ces données sont collectées en continu, pendant l’exécution.
« IQ est aussi auto-apprenant. Une courbe d’activité est réalisée et si une déviation est enregistrée, le collecte des données sera plus détaillée », note le responsable. Chaque microservice dispose d’un ID unique - ce qui permet aussi d’isoler uniquement le composant en cas de problème - , identifié à un instant T, et permet donc d’être « écouté » en continu. Un moteur de corrélation vient comparer, disséquer et analyser les KPI des données historisées et stockées dans un référentiel. « Cela permet aussi de faire la corrélation entre un service défaillant et les autres services impactés par cette défaillance ainsi que l’impact que cela a sur l’utilisateur », explique encore Pejman Tabassomi.
L’autre module porte quant à lui sur l’analyse même du code. Contention Analysis permet donc d’analyser les requêtes, et d’identifier les éventuels threads bloqués afin de faire évoluer les microservices. Cette analyse est effectuée en temps réel et permet d’éviter un volume d’appels concurrents qui ne peut pas être supportés.
Microservices IQ suit également l’évolution des nœuds sur lesquels sont posés les microservices, dans des conteneurs ou dans le Cloud par exemple – un environnement qui évolue sans cesse. Ces données sont encore stockées afin de comparer les comportements et les performances dans le temps , résume le responsable d’AppDynamics.
Enfin, et c’est un point important, à l’image des autres moteurs de la plateforme, Microservices IQ bénéficie également d’un mécanisme de remédiation (Signal IQ). Ce dernier permet de définir des règles (Health Rules) qui déclenchent des actions (des alertes, des capacités auto-scaling pour accroître les ressources) et propose également des scripts pour modifier les paramètres appliqués au système.