smart solutions for smarter enterprises

Complex Event Processing : la résurrection ?

Par Salah Rekik, Consultant Architecte Sentelis en collaboration avec Jérôme Besson 

# Réduire le temps entre information et action

Face aux nouveaux enjeux économiques, sociétaux, réglementaires et technologiques, les entreprises cherchent à optimiser le temps entre information et action. Mais, face à la multiplication des sources de données en variété, volumes et vélocité, aux scénarios d’interaction omni-canaux et d’intégration hybride, l’orchestration, la corrélation et la supervision des événements au cœur de l’exécution des processus métier est plus que jamais un véritable casse-tête.

Prendre en compte tous les événements qui circulent dans le système d’information, les réconcilier et les analyser pour prendre la bonne décision et réaliser la bonne action en temps réel est par nature complexe, mais incontournable pour l’entreprise digitale, notamment, mais pas uniquement, pour celles fortement impactées par l’Internet-of-Everything, la BlockChain et le Cloud Computing .

Migrer vers une architecture événementielle (Event Driven Architecture), où les composants du système d’information consomment et produisent des événements de façon autonome semble quasi inéluctable. Plusieurs questions de fond se posent cependant :  comment traiter et maîtriser ce tsunami d’événements ? comment garantir la stabilité de cette architecture réactive, son niveau de performance ? comment modéliser et motoriser les patterns pour ordonnancer les événements lorsque nécessaire ? comment faire face à des événements imprévus ? comment définir les événements ? etc.

Autant de questions qui remettent sur le devant de la scène IT, le Complex Event Processing (CEP). Un concept et des technologies qui pourraient enfin trouver un champ d’application massif dans l’entreprise, au même titre que le Big Data a dopé le marché des moteurs de recherche.

# Evénement…vous avez dit événement ?

Un événement apporte un contexte à une donnée : sa raison d’être, sa date et son lieu d’apparition, son émetteur, sa nature…Il peut être de nature variée : technique (e.g. réception d’un fichier) ou métier (e.g. réception d’un bon de commande). Il est déclenché en lien à un changement qui peut être lui aussi de différentes natures (réalisation d’une transaction, franchissement d’un seuil, changement d’état…). Un événement est souvent la conséquence d’autres événements pouvant se produire de façon prévisible et ordonnée ou imprévisible et désordonnée.

Le Complex Event Processing (CEP) permet d’adresser cette complexité. L’événement n’est pas forcément complexe, ce qui l’est c’est avant tout sa gestion.  Le CEP est à la fois un concept, une approche et des technologies pour effectuer en temps réel des traitements et des analyses avancées sur des flux d’événements bruts (on parle de stream events) ainsi que sur des nuages d’événements (on parle de cloud events) et corrélativement déclencher des nouveaux événements ou actions. Le CEP permet aussi de détecter des patterns complexes à partir de l’observation des événements, voire des anti-patterns à partir du comportement nominal.

Mais, malgré tout ce potentiel et si les cas d’usage candidats ne manquent pas, force est de constater qu’à aujourd’hui, les principales références entreprises sont dans le secteur financier, et souvent sur de la détection de fraude en temps réel ou sur de la supervision de processus.

# Des cas d’usages boostés tout particulièrement par l’IOT

Dans le vaste champ d’application du CEP, nul doute que l’IoT qui vise à rendre, via l’utilisation massive de capteurs toutes choses inertes intelligentes et communicantes, et au-delà faire de toute personne un « objet connecté»  soit le terreau et le catalyseur de démultiplication du CEP et ce dans tous les secteurs fortement consommateur d’IoT : la  distribution pour l’optimisation de la chaîne d’approvisionnement, l’énergie pour l’optimisation des ressources, la construction pour la surveillance structurelle des bâtiments, l’assurance pour la prévention des risques…

Dans cette chaîne de valeur « IoT to Business Process », le CEP s’impose que le pivot essentiel pour corréler et orchestrer les flux et nuages d’événements issus des systèmes opérationnels (domaine des Operational Technologies) en amont des systèmes de gestion (domaine des Information Technologies).

Des nuages d’événements qui s’amplifient en regard de la complexification  des processus d’entreprise. Ces derniers sont de plus en plus un mix complexe

  • de scénarios d’interaction (Ubiquitous & Engaging User Experience),
  • de processus collaboratifs repensés autour de registres distribués et de contrats intelligents s’exécutant de façon autonome (Blockchain & smart Contracts),
  • de robots logiciels assurant la glue entre les processus linéaires et non-linéaires (Robotics Process Automation) ou prenant en charge directement les interactions humaines (Bot), les tâches répétitives (Robotics Desktop Automation)
  • et enfin de systèmes, d’applications et de services hybrides on-premise/off-premise (Cloud computing).

Maîtriser leur exécution nécessite une approche à base d’événements, ne serait-ce que pour la supervision et la sécurité de l’ensemble.

# Vers une plateforme d’événement intelligente

A la base, les technologies de CEP s’articulent autour d’un moteur de règles, exécutant des règles déterministes c’est-à-dire préalablement et parfaitement définies par les experts métiers selon une méthode dite de forward chaining : un événement complexe inféré est réinjecté pour déduire d’autres événements plus complexes.

Face au nouveaux challenges de gestion des événements, les solutions historiques de CEP, qui ont peu évolué ces dernières années, de part le faible taux d’adoption en dehors de certaines niches d’usage, sont challengées. Les nouvelles exigences imposent une plateforme CEP augmentée autour de briques solutions intelligentes et élastiques sur les différents maillons de la chaîne de traitement des événements, rappelée ci-après (au périmètre du CEP) :

  • Ingestion des événements bruts provenant de différentes sources
  • Pre-processing des événements : application du fenêtrage (temporel ou selon le nombre d’événements) pour construire un contexte de traitement d’un sous-ensemble des événements ingérés en temps réel (Stream Processing). Une fois le contexte identifié, les événements peuvent être normalisés, enrichis ou filtrés et injectés in-Memory pour réaliser le Core Processing.
  • Core Processing de événements: analyse et pattern matching. Un moteur de règle est sollicité pour exécuter des règles métiers afin de détecter un pattern spécifique d’événements. Durant cette étape, les événements chauds et froids sont corrélés.
  • Post-processing des événements pour action: la détection d’un pattern déclenche une commande d’action. Cette action peut être matérialisée sous différentes formes et dirigées vers différentes natures de systèmes : une alerte à l’utilisateur, un ordre d’avancement d’un processus métier orchestré par un BPMS (Business Process Management System), une mise à jour d’un indicateur de pilotage porté par une solution de BAM (Business Activity Monitoring…), etc.

Les technologies CEP ne couvrent pas par nature la problématique de capture, ni de stockage des événements. Des maillons essentiels qui trouvent un atterrissage naturel respectivement dans les bus de données (data pipeliner, change data capture) et les lacs de données (data lakes), plus globalement dans les technologies Big Data : vélocité entre apparition des événements et mise à disposition pour traitement par le CEP, résilience si besoin de rejeu et élasticité en cas de pics d’événements by design, coût marginal de stockage réduit pour traçabilité et archivage des événements, capacité de traitement de masse économique, etc.

Surtout, les technologies CEP n’adressent pas l’imprévu alors que les situations non-déterministes vont se multiplier avec la complexité croissante de gestion des évènements. Et là, seules les technologies d’intelligence artificielle seront en mesure d’y faire face. Elles permettront notamment de générées des règles métiers automatiquement ou encore de prédire l’occurrence ou pas d’un événement.

Les plateformes de CEP nativement IA restent encore à inventer. Si certaines solutions historiques et plus récente (Open Source) permettent le débranchement vers des moteurs intelligents, la gestion complexe d’événement ne peut se réduire à une brique solution unique aujourd’hui. Il s’agit d’une solution composite à géométrie variable selon chaque contexte d’entreprise autour d’un triptyque CEP (historique) + AI (Machine Learning) + BIG DATA.

# Une articulation naturelle et complémentaire avec les plateformes d’Intelligent Automation

L’exigence d’immédiateté, l’évolution des comportements clients vers toujours plus de contextualisation et de personnalisation et les difficultés historiques rencontrées dans l’exploitation au fil de l’eau des informations ont engendré la résurrection du CEP, en tout cas un regain d’intérêt fort, sous d’autres appellations comme l’ESP (Event Stream Processing) ou le Stream Analytics et remis à l’agenda IT des « produits dérivés » de la gestion d’événements comme le BAM (Business Activity Monitoring) ou encore le BPM (Business Process Management).

Ce nouveau naming ou rebranding du CEP, mot quasi devenu tabou en tout cas moins hype, cache une vraie réalité architecturale et des gammes de solutions complémentaires :

  • L’ESP décrit la première couche de traitement des évènements. On parle des flux d’événements en grande volume et en haute vélocité. Les solutions ESP permettent d’appliquer du requêtage continu sur les flux d’évènements au plus près de leur apparition pour effectuer des opérations simples (normalisation, filtrage …) et en temps réel (sans latence) pour déclencher des réponses, des microprocessus et où actions immédiates (Edge Computing) lorsque le pattern recherché est détecté. L’ESP permet ainsi de filtrer et traiter en amont du CEP un certain nombre de situation événementielle qui demandent une ultra-réactivité à l’horizon des évènements. L’ESP passe ensuite la main au CEP, généralement sous la forme d’un événement de plus haut niveau que l’événement de base, et emblématique du pattern détecté à la volée.
  • Le CEP intervient généralement en aval de l’ESP, en 2ième rideau/couche et constitue le core processing de traitement des événements, là où se concentre la complexité. Là où l’ESP se « cantonne » de traiter en masse des événements de même nature et sans corrélation complexe, le CEP lui est capable de corréler des événements complexes et de nature très variée. Le CEP permet ainsi la détection de situations métiers basées sur des patterns complexes , requérant des corrélations asynchrones de flux d’événements multi-sources. Le CEP est donc beaucoup plus proche des processus métiers que l’ESP. Sa plage de performance est à l’échelle des secondes ou des minutes selon la complexité de pattern à détecter. On parle de quasi-temps réel. Fondamentalement, le CEP essaie de construire un contexte à partir d’un nuage d’événements et pas d’un flux d’événements pour en déduire une situation métier, généralement sous la forme d’un événement de haut niveau ayant un sens processus.
  • Le Stream Analytics s’apparente à l’ESP en termes de mécanismes, mais apporte une intelligence supérieure au traitement des événements notamment par l’usage de l’intelligence artificielle. Il permet de booster la chaîne de valeur de traitement des événements au niveau de l’ESP, plus souvent au niveau du CEP où se concentre l’intelligence métier.Les événements de haut niveau ainsi produits permettent ensuite de déclencher les réponses structurées de l’entreprise au sein de processus orchestrés et supervisés. Ils viennent ainsi alimentés les solutions de type BPM, ACM et RPA et BAM, tout à la fois consommateur et producteur d’événements.

 

# Un passage à l’échelle simplifié pour les entreprises disposant d’un SI Data Centric

La mise en place d’une architecture pilotée par les événements (EDA) à l’échelle de l’entreprise ne se résume pas à l’addition des technologies précitées. Elle nécessite d’optimiser l’ensemble des maillons de la chaîne de valeur de gestion des événements sur les plans métiers (définition et normalisation des événements) et techniques et de définir une trajectoire de transformation pour passer d’un système d’information généralement siloté, noué, batch et aux traitements ordonnancés en séquences stables à un système d’information fortement découplé, au fil de l’eau et recomposé autour de composants réactifs à des événements prévus et aussi imprévus .

Dans cette perspective, les entreprises ayant déployé une architecture data-centric autour d’une plateforme de données ont un avantage certain. Elles disposent en effet d’une capacité ‘data’ capable de supporter ce que l’on désigne souvent par puits d’événements, c’est-à-dire une plateforme capable d’ingérer en masse et de stocker tout type de donnée, donc d’événements (Event Storage), de pouvoir les mettre à disposition (Event Hub) sous forme d’API ou de flux normalisés où optimisés, de pouvoir opérer certains traitement notamment de contextualisation pour rapprocher les événements entre les différentes sources et d’en tirer de la valeur à moindre coûts (Event Fabric) et enfin d’en assurer la sécurité, traçabilité et l’audibilité (Event Management).

En y adjoignant des moteurs de Stream Processing, de Machine Learning, des solutions de Stream Analytics et au-delà de Complex Event Processing, elles disposent de tout l’arsenal architectural et technologique pour leur cas d’usage event-driven.

#  On-Premise ou cloud ? plus vraisemblement hybride

Pour motoriser leur architecture event-driven les entreprises doivent d’abord et avant-tout identifier les cas d’usages prioritaires, caractériser les événements et la localisation des sources d’événements actuelles et en tendance et définir là où il convient le mieux d’opérer les différents maillons de la chaîne de valeur des événements au prisme performance/coût. Il est plus que probable que la bonne architecture soit une architecture hybride. Elle le sera par nature pour les entreprises fortement impactés par l’IoT, mais aussi pour toutes celles qui sont engagées dans une Cloudification, même partielle de leur système d’information.

# Conclusion :  Réincarnation plus que résurrection

Selon Mordor Intelligence (Prestataire spécialisé en études de marché à Hyderabad, Inde) le marché du CEP va tripler d’ici 2020. Les solutions historiques de CEP, si elles conservent l’avantage sur certains cas d’usages pointus sont fortement concurrencées par des briques solutions des écosystèmes Big Data et Artificial Intelligence.

La mise en place d’une solution de gestion des événements doit impérativement être précédée par une étude des cas d’usages, de l’état actuel du système d’information et de la maturité d’événement de l’entreprise.  La notion d’événement n’y est d’ailleurs souvent pas définie. Elle doit passer par une phase de preuve de valeur et de preuve de technologies. Elle doit chercher à déjà valoriser les assets informatiques et compétences actuels avant d’en introduire des nouveaux pour ne pas augmenter l’entropie du système d’information et disperser les investissements. Les entreprises disposent généralement de capacités d’intégration, de moteurs de règles, et de plus en plus de plateformes data étendues, piliers de la gestion d’événements et qui sont généralement amplement suffisantes pour démarrer.

Laisser une réponse

*