agsandrew - Fotolia

Les 5 fondamentaux du traitement d'événements complexes

Comment les équipes de développeurs devraient gérer le traitement d’événements complexes ? Comment peuvent-ils les intégrer aisément ? Cet article met avant 5 fondamentaux dans ce domaine.

L’architecture logicielle des entreprises se complexifie et devient de plus en plus distribuée. Les terminaux génèrent de plus en plus de données liés à toute sorte de facteurs. Dans ce contexte, il est difficile de maintenir cet écosystème sans rencontrer des problèmes de capacité, de compatibilité et de données non utilisées.

Le traitement d’événements complexes (ou Complex event processing, CEP) vise à surpasser ce phénomène. Les éditeurs développent des solutions de ce type depuis les années 1990, mais elles prennent toute leur importance à l’ère du Big Data, de l’IA et de l’IoT.

1. Le temps réel, une meilleure approche que l’analyse post-événement

Le CEP peut agréger les données de manière intelligente. Cette technique permet aux entreprises d’analyser et tirer de la valeur de différents flux d’informations, tout en s’assurant que les fonctionnalités d’un logiciel soient opérationnelles sur un parc d’appareils. Le traitement d’événements complexes réclame de respecter 5 fondamentaux pour profiter au mieux d’un moteur dédié.

Celui-ci peut analyser les informations après le déroulement d’un événement. Par exemple, il est devenu un outil pour enquêter après une cyberattaque ou un plantage. Cependant, le véritable intérêt d’un tel service réside dans ses capacités de supervision en temps réel. Aujourd’hui certains systèmes disposent d’une précision à la milliseconde.

2. Le traitement Edge computing pour gérer les dispositifs IoT

Les entreprises adoptant un CEP devraient avoir pour objectif de l’utiliser de cette manière. Après tout, il est préférable de repérer un potentiel piratage à l’aide de prévisions, plutôt que de le faire après ladite attaque.

Les capteurs IoT génèrent énormément de données, mais toutes ces informations ne sont pas utiles. Par exemple, un objet connecté qui remonte une température à intervalle de 5 minutes peut être ignoré si la valeur indiquée reste dans les limites prescrites. Si le terminal en lui-même dispose d’une couche d’intelligence de type edge computing, il est préférable de ne pas prendre en compte les données non désirées le plus vite possible. Cela minimise la taille du flux à gérer par le réseau et améliore le temps de réponse de l’analyse.

3. Les standards sont là pour une raison

Les données proviennent de sources multiples quand il est question d’applications basées sur la remontée d’événements. Malheureusement, chaque source envoie les informations dans des formats spécifiques. Souvent, ceux-ci ne correspondent pas aux standards des sociétés. Le traitement localisé sur les équipements permet de capturer les données et de les convertir dans des fichiers compatibles avec des bases de données open source ou XML. Ainsi, la synchronisation des sources est à la fois un gain de temps et un moyen d’améliorer le traitement des données en temps réel.

4. Choisir un éditeur porteur d’une vision d’avenir

La majorité des systèmes CEP dépendent de règles définies par les utilisateurs. Cela veut dire que les moteurs de traitement d’événements reposent sur des logiques « if then then that ». Cette approche rigide peut être une contrainte et diminuer leur efficacité. Il est préférable qu’une telle plateforme bénéficie d’une forme d’intelligence embarquée. L’apprentissage supervisé permet alors de s’adapter aux changements de l’entreprise à travers le temps.

Ainsi, la plateforme pourrait être utilisée pour détecter de nouvelles menaces ou opportunités, tout en y apportant les réponses adéquates. Se renseigner auprès des éditeurs concernant la feuille de route produit permet de s’assurer de son évolutivité. Certains éditeurs proposent des produits complets, d’autres offrent des briques technologiques. Par exemple, un IBM fera partie de la première catégorie tout comme Software AG avec Apama, tandis qu’un Databricks de la deuxième. Il est également possible de concevoir son propre CEP dans le cas où l’on maîtrise les briques open source comme Apache Spark et Storm, par exemple.

5. Minimiser les erreurs au départ

Le traitement d’événements complexe gagne en popularité auprès des développeurs d’architecture logicielle et des responsables IT. Cependant, il n’est pas rare de choisir le mauvais système ou d’en implanter un de manière erronée. Planifier le déploiement est la clé, après avoir choisi le bon outil.

Celui doit répondre à des besoins actuels tout en disposant d’une marge de manœuvre à l’avenir. Remplacer le moteur CEP, effectuer de lourdes modifications en s’appuyant fortement sur des plugins, ajoutent une charge de travail évitable si le choix de départ est le bon.

Pour approfondir sur Architectures logicielles et SOA

Close