Ajouter un commentaire

Par :
Mickael Wozniak

lun, 30/10/2017 - 16:13

A l'ère des plateformes Cloud, des architectures microservices et des conteneurs, les environnements applicatifs n'ont jamais été aussi complexes. La performance des applications n'a également jamais été aussi critique pour les organisations. Comment une solution d'APM peut aujourd'hui répondre aux défis de la complexité applicative ?

Qu'est-ce qu'une application performante ?

Les applications digitales sont plus que jamais au cœur de l'activité des organisations et constituent un moteur incontournable de leur croissance. Toutes les entreprises sont désormais « technologiques » : la dématérialisation de leurs processus est incontournable dans une économie digitale de plus en plus prégnante. Le succès d'une organisation, quelle que soit sa taille ou son activité, repose aujourd'hui en grande partie sur sa capacité à fournir des applications performantes pour répondre aux besoins de ses clients-utilisateurs. Des consommateurs hyperconnectés et hyper-exigeants, dont les maîtres-mots sont disponibilité, rapidité et sécurité.

A défaut, les organisations s'exposent à des conséquences potentiellement critiques. Tout d'abord en termes économiques : par exemple, des temps de chargement trop longs peuvent entraîner un mauvais taux de conversion pour un site de e-commerce, ou une baisse de productivité dans le cas d'une application d'entreprise. En termes d'image de marque ensuite : l'entreprise peut être taxée d'incapable à délivrer un service de qualité, et dévalorisée par rapport à ses concurrents. Enfin, côté IT, les exercices de troubleshooting privent de ressources précieuses d'autres projets et tâches à plus forte valeur ajoutée. Sans compter que, si le problème tarde trop à être résolu, c'est toute la crédibilité des équipes IT qui en pâtit au sein de l'entreprise.

D'où la nécessité pour les entreprises de mettre en œuvre un outil de gestion de la performance applicative (APM - Application Performance Management), qui consiste à surveiller et analyser les performances de leurs applications afin d'identifier et de résoudre plus rapidement les ralentissements susceptibles d'impacter les utilisateurs. Ce faisant, elles peuvent avoir une approche proactive des problèmes, limiter leurs effets et améliorer la satisfaction de leurs utilisateurs.

Les premières solutions de gestion de la performance, apparues au milieu des années 1990, concentraient leurs efforts sur la qualité des réseaux et la puissance des postes utilisateurs. Puis elles ont évolué au fur et à mesure des avancées technologiques successives. Au cours des vingt dernières années, les architectures applicatives sont ainsi passées d'un modèle monolithique type mainframe à un modèle distribué type SOA (Service Oriented Architecture), jusqu'aux environnements Cloud et aux architectures microservices aujourd'hui en plein essor.

Cloud, microservices... : la performance face à la complexité

Comme les précédentes, les dernières avancées en matière d'architecture applicative soulèvent de nouvelles problématiques et de nouveaux enjeux quant à la gestion de la performance. Comment, en effet, comprendre et analyser des millions de dépendances et de métriques, au sein d'architectures digitales de plus en plus complexes, dynamiques, modulaires, élastiques et évolutives, où cohabitent un nombre croissant de technologies ?

Les solutions de monitoring applicatif doivent, par exemple, fournir des informations sur l'infrastructure Cloud elle-même, pour permettre notamment de répondre à la question cruciale : « a-t-on ce pour quoi on paye ? » Ce qui fait notamment référence au nombre de CPU, à la taille de la mémoire, aux performances du réseau, à la disponibilité, etc. Les instances Cloud ont tendance à être instables et à tomber sans prévenir. Est ce que cela conduit nécessairement à des problèmes de performance ou est-ce que cela peut être contourné à la volée en déplaçant la charge ou en lançant de nouvelles instances ? La nature éphémère des instances Cloud rend le monitoring plus complexe, puisque les données doivent être cartographiées correctement à travers plusieurs instances.

Le monitoring du réseau est lui aussi essentiel. D'abord, parce qu'un réseau est, par essence, une ressource partagée, particulièrement dans les environnements Cloud. Son débit et sa latence dépendent de nombreux facteurs externes, et évoluent sans cesse. Il est donc important d'en comprendre l'impact sur la performance des applications, sur différentes zones géographiques mais aussi localement, sur le trafic entre les différents composants de l'application.

Le succès d'un monitoring repose par ailleurs sur la richesse des données de contexte. Pour les départements IT, toute alerte sortie de son contexte représente autant de temps et d'efforts d'analyse et de compréhension. Chaque opération pour corréler les différents éléments est potentiellement source d'erreurs, mais aussi de frustrations et de frictions. C'est en particulier vrai dans des architectures microservices où l'identification manuelle de l'origine d'un problème revient à chercher une aiguille dans une botte de foin. D'où la nécessité d'avoir des outils qui fournissent des éléments de contextes clairs et des réponses pertinentes.

Les organisations doivent donc adopter une approche radicalement différente de la façon dont elles monitorent leurs applications et les environnements sur lesquels elles s'exécutent, si elles veulent en mesurer efficacement la performance et garder une approche proactive des problèmes. Les acteurs de l'APM, de leur côté, doivent reconsidérer leur approche, pour fournir aux entreprises davantage de valeur ajoutée que la simple identification de problèmes. Gérer la complexité : voilà le défi lancé par la nouvelle génération d'applications !

Quand l'APM devient intelligent

Les entreprises veulent (doivent) donc tout comprendre de toutes leurs transactions. Et seule une vision globale des performances applicatives leur permet de véritablement comprendre ce que font leurs utilisateurs, comment la performance impacte leur conversion, comment elles peuvent mieux protéger leur marque, et déterminer la meilleure stratégie d'investissement technologique. C'est pourquoi elles sont de plus en plus nombreuses à se tourner aujourd'hui vers le Management de la Performance Digitale (APM).

Dernière évolution en date de l'APM, qui met l'accent sur la capacité à capturer, de manière exhaustive, l'intégralité de chaque transaction pour chaque action utilisateur. Autrement dit, de l'ensemble de la chaîne complexe de métadonnées qui se cache derrière chaque clic, pour répondre à la requête d'un utilisateur, et ce quelle que soit la façon dont il interagit avec l'application.

Les entreprises attendent donc d'une solution d'APM, d'une part qu'elle découvre et cartographie, automatiquement et en temps réel, l'ensemble de leur environnement applicatif et de ses dépendances technologiques, d'autre part, qu'elle détecte et analyse, automatiquement et en continu, les anomalies de performances et leur cause.

C'est là que l'utilisation d'un moteur d'intelligence artificielle prend tout son sens. Cela fait des années que les sociétés de services financiers utilisent des analyses, des algorithmes prédictifs et des dispositifs d'automatisation, pour exécuter leurs transactions et mieux servir leurs clients. Intelligence artificielle, machine learning, algorithmes : quel que soit le nom qu'on leur donne, elles constituent une technologie éprouvée pour analyser (et répondre à) de gigantesques volumes de données en temps réel. Et c'est exactement ce dont on a besoin pour gérer la complexité croissante des applications de dernière génération.

Les moteurs d'intelligence artificielle sont ainsi capables d'apprendre le comportement et le niveau de performance habituels d'un environnement, et d'en détecter les anomalies. Quand un incident est identifié, ils scrutent des milliards d'évènements et utilisent des analyses Big Data pour identifier la cause du problème. L'avantage, pour les entreprises, à déployer des technologies d'intelligence artificielle, de machine learning ou d'algorithmes, en même temps que les analyses de leurs performances digitales, c'est qu'elles leur permettent de réduire les coûts associés à l'identification des problèmes et l'analyse de leurs causes. Elles n'ont plus besoin d'allouer leur capital humain le plus coûteux à des opérations de diagnostic ad hoc : elles peuvent le consacrer pleinement aux problématiques d'innovation pour lesquelles il a une réelle valeur ajoutée.

Les solutions de monitoring les plus récentes sont par exemple capables de s'intégrer de manière transparente avec les approches de livraison et d'intégration continues, et de fournir des données immensément riches. Elles peuvent comparer la nouvelle version d'une fonctionnalité aux précédentes, afin de révéler les changements en termes de qualité et de performance, sur des exécutions de tests plus ou moins longues. Le monitoring devient ainsi le principal outil d'amélioration de la qualité, tout au long du processus de développement, en identifiant la cause exacte d'un problème, et en permettant aux développeurs d'aller jusqu'à la ligne de code qui en est à l'origine.

L'intelligence artificielle constitue assurément un atout majeur en matière d'exploitation en temps réel de données dynamiques et complexes. L'avenir de l'APM appartient donc à ceux qui sauront, dès aujourd'hui, saisir cette chance pour mieux gérer la complexité inhérente aux applications de dernière génération.

A propos de l'auteur

Mickael Wozniak
Senior consultant APM Dynatrace

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 M   M  EEEE  ZZZZZ   QQQ    U   U 
MM MM E Z Q Q U U
M M M EEE Z Q Q U U
M M E Z Q QQ U U
M M EEEE ZZZZZ QQQQ UUU
Q