Accueil > Comment superviser sa plateforme d’Intégration : enjeux et bonnes pratiques
Guillaume David
17 octobre 2024
Read this post in English

Comment superviser sa plateforme d’Intégration : enjeux et bonnes pratiques

Comment superviser sa plateforme d’Intégration : enjeux et bonnes pratiques

Dans ce cinquième et avant-dernier article de cette série consacrée à l’intérêt d’avoir une plateforme d’Intégration au sein d’un Système d’Information (SI), nous allons aborder une composante très importante, mais souvent négligée, voire reléguée au second plan lors de la construction d’une plateforme. Pourtant, cette composante est essentielle et doit être prise en compte dès la conception afin d’assurer d’une part la résilience de la plateforme, et d’autre part un bon niveau d’information tant sur sa santé que sur son activité. Il s’agit de l’Observabilité de la plateforme.

Dans cet article, nous examinerons les enjeux et les défis de l’Observabilité, puis nous détaillerons les différents types de KPIs (Key Performance Indicators) ainsi que leurs caractéristiques. Nous poursuivrons en explorant les outils d’Observabilité que Microsoft met à notre disposition dans Azure, et nous conclurons en examinant les moyens de restitution de ces indicateurs via des tableaux de bord.

 

L’observabilité : enjeux et défis

 

Dans le passé, avec des plateformes d’intégration On-Premise ou SaaS comme BizTalk, Tibco, etc., toute la supervision de l’outil et le suivi des messages étaient réalisés au sein de l’outil lui-même. Cependant, dans Azure, le paradigme change, car cette plateforme est composée d’une suite de composants hétérogènes, ce qui offre des possibilités supplémentaires, mais aussi des défis différents.

 

Enjeux d’une plateforme d’intégration dans Azure

Les trois grands enjeux d’une plateforme d’Intégration dans Azure sont donc :

 

Résilience et performance

Une plateforme d’intégration est une pièce importante au sein du SI par son rôle central dans les échanges interapplicatifs. Cet aspect entraîne une criticité majeure, et son bon fonctionnement doit être une priorité, car il facilitera grandement son adoption par les autres équipes. C’est pour cela que la plateforme doit être résiliente et performante, capable de résister aux pics de charge, tout en maintenant des temps de traitement acceptables pour les équipes business.

 

Traçabilité des échanges

Un des principaux enjeux est la capacité de suivre les échanges afin de s’assurer que leur traitement se fait de façon nominale, et de détecter au plus vite les éventuelles anomalies ou défaillances, que ce soit dans le traitement ou chez les partenaires impliqués, afin d’avoir le moins d’impact possible sur les activités du reste de la société.

Suivi des coûts

Contrairement aux plateformes legacy où le coût était fixé par les licences nécessaires pour utiliser l’outil, dans Azure, les coûts dépendent de chaque composant et peuvent varier fortement en fonction des choix des composants utilisés, du niveau de service choisi et de leur utilisation. Il est donc primordial de suivre de près la consommation de chacune des briques afin de pouvoir mettre en place des mécanismes de scaling, et d’adapter au mieux le coût de la plateforme à son utilisation réelle.

 

Défis d’une plateforme d’intégration dans Azure

Après avoir parlé des principaux enjeux, nous pouvons en tirer trois principaux défis qui en découlent. Bien sûr, il existe d’autres défis plus ou moins importants en fonction du contexte dans lequel évolue cette plateforme. Ces défis sont :

 

Surveillance dans les différents services Azure

 

Dans Azure, nous n’avons plus, à l’instar des solutions legacy, un seul outil à monitorer, mais une suite de services Azure hétérogènes dont il faut s’assurer du bon fonctionnement, et réagir au plus vite aux éventuelles pannes ou défaillances, qu’il s’agisse des services PaaS ou des services connexes, qu’ils soient liés aux réseaux, à la sécurité ou au stockage.

 

Suivi des messages

Dans la même lignée, il faut également être capable de suivre chaque message tout au long de son cheminement dans chaque service de la plateforme afin d’avoir une vue exhaustive du traitement et notamment de pouvoir superviser chaque « point of failure ». Un moyen d’assurer ce suivi est d’avoir un identifiant de corrélation unique et propre à chaque message (même si ce message est dupliqué ou scindé au cours de son traitement), qui permettra de superviser le message à chaque étape du traitement, et ainsi de faciliter sa réexécution en cas d’échec.

 

Visibilité pour les équipes consommatrices de la plateforme

 

Enfin, le dernier défi est inhérent aux plateformes d’intégration depuis très longtemps : pour les équipes consommatrices de cette plateforme, celle-ci est souvent perçue comme une « boîte noire » où, une fois qu’un message est ingéré, il n’y a plus aucune visibilité sur le traitement en cours et les éventuelles anomalies rencontrées. Pour y remédier, il est essentiel d’avoir des solutions de supervision destinées aussi bien aux équipes chargées de l’exploitation de la plateforme qu’aux équipes consommatrices (ou business), afin qu’elles puissent suivre de manière autonome le traitement de leurs messages.

 

Pour répondre à ces différents enjeux et défis, nous allons maintenant examiner les indicateurs et les outils à notre disposition dans Azure pour assurer une observabilité optimale.

 

L’Observabilité technique vs fonctionnelle

 

Afin d’assurer la supervision de notre plateforme, nous avons deux grandes typologies d’indicateurs : les indicateurs techniques et les indicateurs fonctionnels. Nous allons voir leurs spécificités et leur intérêt.

 

Les indicateurs techniques

 

Les indicateurs techniques d’une plateforme d’intégration se divisent en deux principales catégories : les logs et les métriques. Ces indicateurs ont pour but de fournir des informations cruciales sur la performance, la disponibilité, les incidents et la sécurité de la plateforme. Les logs permettent de capturer les événements et les incidents qui se produisent au sein des différents services, tandis que les métriques fournissent des données sur l’utilisation des ressources, les temps de réponse et les taux d’erreur.

Ces indicateurs sont destinés et utiles pour les profils techniques, notamment les équipes chargées du run et des opérations, qui utilisent ces données pour surveiller la santé de la plateforme, diagnostiquer et résoudre les problèmes rapidement, et assurer une sécurité optimale contre les menaces potentielles. En suivant ces indicateurs, ces équipes peuvent maintenir une plateforme performante et disponible, capable de répondre efficacement aux besoins de l’entreprise.

 

Les indicateurs fonctionnels

 

Les indicateurs fonctionnels d’une plateforme d’intégration, principalement basés sur les logs, sont essentiels pour la surveillance des transactions, la détection des erreurs et exceptions, ainsi que l’assurance de l’intégrité des données. Ces indicateurs permettent de suivre en temps réel le déroulement des transactions interapplicatives, de repérer toute anomalie ou exception survenant lors des échanges, et de vérifier que les données transférées restent cohérentes et complètes. Ces informations sont destinées à un large éventail de profils, tant techniques que fonctionnels, incluant les équipes de run, les consommateurs de la plateforme, les opérationnels et les managers. En utilisant ces indicateurs, ces équipes peuvent garantir un suivi rigoureux des processus, intervenir rapidement en cas de problème, et maintenir une qualité optimale des échanges au sein du système d’information. Ces indicateurs permettent également d’avoir un aperçu global de l’utilisation de la plateforme par les différentes équipes du SI ainsi qu‘une cartographie complète entre les différentes applications.

Après avoir vu les différents types d’indicateurs, nous allons examiner quels services Azure sont impliqués dans leur collecte et leur stockage.

 

Les services d’Observabilité pour Azure AIS

 

D’un point de vue plus concret, nous allons voir quels sont les différents services impliqués dans la collecte des indicateurs permettant l’observabilité de la plateforme. Dans Azure, il existe deux principaux services complémentaires pour collecter les indicateurs (logs, métriques, etc.) des services PaaS :

  • Application Insights pour Data Factory, Function App, API Management et Logic App Standard
  • Log Analytics pour Event Grid, Service Bus et Logic App Consumption

 

Schéma des différents services de collecte de KPIs en fonction des services AIS

Schéma des différents services de collecte de KPIs en fonction des services AIS

 

Application Insights est un service de surveillance de la performance et de la disponibilité des services, dont les principales fonctionnalités sont :

  • Surveillance de la performance et de la disponibilité des services.
  • Suivi des performances et de la santé : temps de réponse, taux de succès et défaillances des requêtes pour identifier les points de souffrance et les anomalies.
  • Collecte et analyse des logs, métriques et événements personnalisés : diagnostic des erreurs et exceptions, et surveillance des appels externes et des services tiers utilisés par le service.
  • Visualisation des interactions au sein des services.

 

Azure Log Analytics est un service de gestion des logs qui permet de collecter, analyser et visualiser les données de télémétrie des services. Ses principales fonctionnalités incluent :

  • Collecte des données : agrégation des logs et des métriques provenant de divers services PaaS, ainsi que des services connexes essentiels à la plateforme, tels qu’Application Gateway et Key Vault.
  • Analyse des logs : utilisation du langage de requête Kusto (KQL) pour rechercher et analyser les données collectées.

Log Analytics sert également de réservoir pour les logs et les métriques restitués dans Application Insights.

Par ailleurs, les deux composants partagent également des fonctionnalités communes telles que :

  • Dashboards personnalisés : création de tableaux de bord interactifs pour visualiser les indicateurs (logs ou métriques) en temps réel.
  • Alertes et notifications : configuration d’alertes basées sur des conditions spécifiques pour notifier les équipes en cas de problème ou pour procéder à des actions de remédiation.

Nous allons maintenant nous concentrer sur l’un des défis importants de la mise en place d’une plateforme : la visualisation des indicateurs de supervision. Cela permet, d’une part, de donner aux équipes business la possibilité de visualiser leurs échanges et, d’autre part, de suivre la consommation et la santé de la plateforme.

 

Solution de visualisation de supervision

 

À travers nos expériences d’accompagnement de mise en place de plateforme d’intégration chez nos clients, nous avons acquis la conviction qu’il est primordial de séparer les supervisions techniques et fonctionnelles, car ces indicateurs ne sont pas destinés aux mêmes personae d’utilisateurs, et n’ont pas les mêmes visées et temporalités. Nous allons donc voir deux solutions répondant aux différents besoins de supervisions.

 

Supervision des indicateurs techniques

 

L’ensemble des tableaux de bord pour la supervision technique est destiné au suivi de la santé de la plateforme, responsabilité qui incombe à une ou plusieurs équipes ayant des compétences techniques et des droits sur l’écosystème Azure afin de remédier aux éventuels incidents. Pour ces raisons, Microsoft offre un service de tableaux de bord directement intégré : les Azure Workbooks. Ces derniers ont l’avantage d’être directement utilisables depuis Application Insights ou Log Analytics sans coûts supplémentaires. Ils sont très intéressants, car il est possible d’utiliser des templates prêts à l’emploi fournis par Microsoft, ou de construire des templates sur mesure pour répondre aux besoins spécifiques de suivi d’indicateurs particuliers directement intégrés à la plateforme.

 

Exemple d’Azure Workbook de supervision technique

Exemple d’Azure Workbook de supervision technique

 

Pour en savoir plus sur le service Azure Workbook n’hésitez pas consulter nos précédents articles :

 

Supervision des indicateurs fonctionnels

 

Contrairement aux indicateurs techniques, les KPIs fonctionnels s’adressent à des profils plus larges. Bien sûr, les équipes en charge du suivi de la plateforme restent concernées, mais il ne faut pas non plus négliger les équipes consommatrices de la plateforme, qui ont également besoin d’une vue sur leurs échanges interapplicatifs pour plusieurs raisons :

  • Connaître la santé de leurs échanges.
  • Être autonomes dans la recherche de potentielles anomalies au cours du traitement.
  • Disposer de données chiffrées sur leur consommation.

Il est donc bénéfique de sortir cette supervision d’Azure afin de donner accès à ces différents profils, qui ne sont pas nécessairement familiers avec Azure et son portail, ou qui n’ont pas besoin d’y avoir accès pour des raisons de sécurité. C’est pourquoi il est avantageux d’utiliser des outils externes tels que Power BI, des outils customs ou des solutions du marché comme DataDog, Splunk, ou autres.

Chez Cellenza, grâce à notre expertise et à notre expérience, nous avons conçu « Integration Cockpit » un outil de supervision fonctionnel spécialement adapté aux besoins de l’intégration, permettant une supervision tout au long du traitement des échanges.

Exemple de dashboard Integration Cockpit

Exemple de dashboard Integration Cockpit

 

Observabilité : l’essentiel à retenir

 

Dans cet article, nous avons examiné les défis liés à la mise en place de l’observabilité d’une plateforme d’intégration dans Azure, compte tenu de l’hétérogénéité des services qui la composent. Il est donc primordial d’inclure la conception de cette stratégie de supervision dès la genèse du projet, à l’instar d’autres composants essentiels tels que la sécurité. En effet, la supervision technique permettra de faciliter le suivi de la santé de la plateforme ainsi que de surveiller de près ses coûts. La supervision fonctionnelle, quant à elle, encouragera l’adoption de la plateforme par les équipes business, tout en permettant d’établir une cartographie des échanges interapplicatifs et de leur volumétrie.

Dans le prochain et dernier article de notre série sur pourquoi et comment monter une plateforme d’intégration, nous aborderons la gouvernance et l’organisation à mettre en place pour mener à bien ce projet.

 

Vous souhaitez en savoir plus sur le développement d’une plateforme d’intégration moderne ? Consultez les autres articles de cette série :

 

Offre modern Integration Cellenza

 

Nos autres articles
Commentaires
Laisser un commentaire

Restez au courant des dernières actualités !
Le meilleur de l’actualité sur le Cloud, le DevOps, l’IT directement dans votre boîte mail.