Fermer

novembre 25, 2020

Un guide sur l'architecture événementielle d'entreprise


Les entreprises s'appuient fortement sur la technologie pour créer des entreprises évolutives, agiles et hautement disponibles. L'architecture événementielle est en train de devenir une pierre angulaire permettant aux entreprises modernes de fonctionner en temps réel, de s'adapter rapidement aux changements et de prendre des décisions commerciales intelligentes.

«L'architecture pilotée par les événements (EDA) est un paradigme de conception dans lequel un composant logiciel s'exécute en réponse à la réception d'une ou plusieurs notifications d'événements.»

Gartner

Combinant des méthodologies agiles avec une plate-forme qui peut répondre rapidement aux événements en temps réel permet aux entreprises de prendre des décisions intelligentes manuelles ou automatisées et d'atteindre une véritable agilité d'entreprise. Les événements provenant de diverses sources, des serveurs aux appareils portables, peuvent ensuite être exploités pour prendre en charge un certain nombre de cas d'utilisation industrielle.

Les grandes organisations qui adoptent de telles architectures doivent traiter les événements comme des citoyens de première classe de leur plate-forme, ainsi que de leurs API et services commerciaux.

Ce guide décrit comment l'architecture pilotée par les événements (EDA) peut profiter aux organisations, une approche étape par étape pour adopter l'EDA basée sur les technologies OpenSource, des pratiques agiles qui peuvent soutenir l'innovation rapide et quelques cas d'utilisation réels. Il explorera également comment l'intégration numérique en tant que service (DIaaS) et l'intégration Red Hat de Wipro peuvent soutenir l'adoption par une organisation d'une architecture événementielle.

Modèles d'adoption de l'architecture événementielle

Les entreprises qui adoptent une architecture événementielle peuvent tirer parti des avantages d'une communication en temps réel évolutive et fiable. Cela peut aider à conduire de nombreuses initiatives stratégiques dans les domaines de l'IoT, du commerce électronique, de l'intégration de données dans les systèmes, des données et des applications, de la détection des fraudes de périphérie et financière, entre autres.

Les entreprises qui ajoutent une architecture événementielle à leurs systèmes et applications peuvent améliorer l'évolutivité et la réactivité des applications. Ils peuvent également accéder aux données et au contexte nécessaires pour prendre de meilleures décisions commerciales, qu'il s'agisse du traitement de flux, de l'intégration de données ou du suivi de l'activité du site Web.

Les événements sont capturés à mesure qu'ils se produisent à partir d'un éventail de sources d'événements. À un niveau élevé, ces événements sont classés en deux catégories: commercial / fonctionnel ou technique.

Guide de déploiement d'une architecture de référence événementielle

Toutes les entreprises produisent des événements sous une forme ou une autre. Ils pourraient tout simplement ne pas avoir un système qui peut utiliser ces événements pour produire une valeur commerciale tangible. Alors que les entreprises commencent à adopter l'EDA, il est important pour elles d'identifier leurs besoins spécifiques tout en créant la bonne architecture. Ces événements peuvent couvrir une variété de modèles tels que les événements et décisions en temps réel, le traitement des flux et le traitement d'événements complexes.

La mise en place d'une telle plate-forme événementielle pour commencer à récolter les avantages d'une architecture événementielle peut être simple, mais comme pour chaque voyage, il est utile d'avoir une carte pour atteindre la destination. Le guide suivant décrit ce qu'une organisation devrait envisager et délibérer, les mesures qu'elle devrait prendre pour mettre en place une ADE solide qui puisse répondre à une multitude de modèles et d'exigences commerciales.

Considérez ceci comme une architecture de référence et choisissez les bons éléments et modèles en fonction des besoins spécifiques de chaque organisation, ce qui peut aider à créer de nouveaux cas d'utilisation et à réaliser une grande valeur commerciale.

1. DÉFINITION: ARCHITECTURE ET TECHNOLOGIE

La première étape concerne les composants technologiques de base qui forment l'environnement d'exécution du maillage d'événements. Cela inclut les technologies qui ingèrent, mettent en file d'attente, traitent, stockent et diffusent des événements. Une grande entreprise typique peut avoir une ou plusieurs plates-formes Pub-Sub Message Broker, une plate-forme de streaming d'événements, des plates-formes de messagerie cloud et des consommateurs et producteurs d'événements répartis dans une grande variété de technologies et d'emplacements. Ces plates-formes ont tendance à résider dans des silos et ne sont pas considérées comme faisant partie d'un maillage d'événements unifié. Pour résoudre ce problème, les organisations doivent:

  • Identifier les exigences relatives aux architectures basées sur les événements qui peuvent exister dans les groupes d'intégration, d'architecture d'application et d'analyse
  • Créer une vision d'un maillage d'événements unifié avec tous les composants existants
  • Mettre en placez un plan pour combler les lacunes qui pourraient exister dans les capacités technologiques requises pour répondre aux exigences de traitement des événements de l'organisation.
  • Configurez des architectures de référence et définissez des implémentations de référence pour des modèles tels que ceux permettant de gérer les transactions logiques et l'intégrité des données dans plusieurs bases de données, Événement Sourcing et CQRS.
  • La boîte à outils technologique pourrait être un mélange de plusieurs composants à travers la diffusion de messages en utilisant Kafka, un courtier JMS ou un courtier de messages, ou AMQ Interconnect pour construire un réseau de messagerie à grande échelle.

Streaming

Apache Kafka reste le choix par défaut pour tous les cas d'utilisation de streaming, avec une épine dorsale solide et ultra-rapide pour la diffusion d'événements. C'est un outil pour de nombreuses utilisations, y compris le suivi des activités, l'agrégation de journaux, le traitement de flux, la capture de données modifiées, la télémétrie de l'Internet des objets (IoT), etc. Red Hat AMQ Stream s facilite l'exécution et la gestion natives d'Apache Kafka sur Red Hat OpenShift via le projet en amont Strimzi.

Traitement des flux d'événements et traitement des événements complexes

La plate-forme d'événements a également besoin de cadres de traitement qui fournissent des styles de traitement tels que le traitement des événements complexes (CEP), les styles de traitement des flux d'événements les plus courants et plusieurs niveaux d'abstractions de programmation, y compris SQL pour interroger les données en mouvement rapide. Le cadre de traitement doit également être en mesure de s'intégrer aux cadres d'apprentissage automatique pour évaluer les modèles. La plupart des frameworks de traitement de flux, y compris les flux AMQ, prennent en charge tous ces modèles de programmation. Red Hat Decision Manager fournit une base solide pour CEP et pour prendre des décisions intelligentes.

Real-Time Insights for Business Users

La plupart des événements sont directement liés à des concepts commerciaux et, s'ils sont placés entre les mains des utilisateurs professionnels, seront des outils puissants pour l'agilité des entreprises. Une interface utilisateur permettant aux utilisateurs de définir des règles de traitement en fonction de l'occurrence d'un événement ou d'une combinaison d'événements dans une fenêtre temporelle serait un excellent levier pour l'agilité commerciale. Wipro DIaaS Business Insights apporte précisément cela pour aider à fournir des informations en temps réel.

Les microservices en tant que consommateurs d'événements

Une fois les événements reçus, ils doivent être consommés et traités par des microservices pour apporter une valeur commerciale à l'organisation . Quarkus, qui est un Java supersonique subatomique, est l'un de ces environnements d'exécution qui permet l'unification des paradigmes de programmation impératifs et réactifs (événements), possède une excellente prise en charge intégrée de la messagerie et est parfait pour créer des microservices EDA qui nécessitent durées d'exécution haute performance.

Architecture événementielle sans serveur

L'architecture événementielle joue également un rôle important dans les environnements sans serveur. Les applications sans serveur répondent à la demande et s'adaptent automatiquement à la hausse et à la baisse selon les besoins et peuvent se faire via un modèle d'exécution basé sur les événements. Red Hat OpenShift Serverless fournit une plate-forme sans serveur de niveau entreprise qui apporte portabilité et cohérence dans les environnements hybrides et multicloud.

2. CONFIGURATION: PRATIQUES DE GOUVERNANCE

Alors que l'adoption d'architectures événementielles atteint une échelle où des dizaines d'événements sont publiés et consommés, il devient essentiel d'avoir des pratiques et des outils formels pour régir la définition, la conception, la création et Consommation d'événements. Ceci est analogue aux fonctionnalités fournies par les plates-formes de gestion des API pour les API.

Voici quelques considérations lors de la mise en place de la gouvernance et des pratiques pour assurer le succès.

  • Un langage de définition d'interface qui fournit une définition lisible de la structure de données d'un événement et les mécanismes, protocoles et URL de localisation pour consommer l'événement. Les normes émergentes telles que AsyncAPI offrent cette capacité. Il existe également un effort connexe pour étendre Open API afin d'ajouter également la prise en charge des API événementielles. La structure d’un événement ferait référence à la définition de données d’entreprise et la réutiliserait.
  • Registre de tous les événements consultable . Tout comme avec une API, le registre d'événements fournit un magasin interrogeable pour les métadonnées des événements. Le registre devrait être en mesure de classer et d'organiser les événements par domaine d'activité et de permettre aux propriétaires d'événements de définir des règles de visibilité et des restrictions d'accès sur leurs événements.
  • Un portail de développement d'événements qui comprend le registre susmentionné ainsi que des outils qui assurent la collaboration entre les développeurs et les propriétaires d'événements, donnent accès à la documentation, aux meilleures pratiques, aux modèles, aux bibliothèques clientes, etc.
  • Tableaux de bord Analytics qui fournissent des mesures d'exécution liées à la publication et à la consommation d'événements. [19659037]

    Wipro DIaaS Events Hub fournit les fonctionnalités énumérées ci-dessus et s'intègre avec Red Hat Service Registry et Developer Portal pour fournir une vue unifiée des événements et des plates-formes de gestion des API. Il prend également en charge l'association des spécifications AsyncAPI pour chaque événement.

    3. ACTIVER: OPÉRATIONS ET GESTION UNIFIÉES

    L'étape suivante consiste à mettre en place une capacité de surveillance unifiée qui fournit une vue de tous les événements publiés et consommés dans le paysage. Cette console unifiée doit fournir un soutien au personnel opérationnel pour (a) surveiller efficacement la plate-forme, (b) surveiller les événements ayant échoué et (c) modifier les charges utiles et les republier, à nouveau, sur tous les courtiers de messages à partir d'une console unifiée. [19659002]

    Une autre fonctionnalité essentielle est une vue des graphiques de lignage d'événements qui montrent la connexion entre un événement, son parent et ses événements enfants. Le graphique donne une vue complète de la transaction globale couvrant plusieurs services et systèmes qui coordonnent leur travail à l'aide d'interactions pilotées par les événements. Cette fonctionnalité est également très utile lorsqu'un événement doit être republié et pour vérifier les effets secondaires en aval de cette action.

    Wipro DIaaS Events Hub fournit les capacités de surveillance et d'exploitation décrites ci-dessus. Il s'intègre à Red Hat AMQ Streams et à d'autres plates-formes de messagerie JMS populaires, et permet une surveillance et une gestion unifiées de tous les courtiers d'événements de l'organisation.

    Red Hat AMQ Streams prend également en charge l'installation et la configuration automatisées sur les plates-formes Kubernetes via un ensemble de frameworks Red Hat Operators pour AMQ Streams. Ces opérateurs sont responsables du déploiement et de la gestion des clusters Apache Kafka, des rubriques Kafka et des utilisateurs Kafka.

    Adoptez une architecture événementielle pour en tirer de la valeur commerciale

    Traditionnellement, les clients comptent beaucoup sur les API car ils disposent d'une interface standard pour l'échange de données et HTTP est populaire parmi les développeurs. Pour tirer parti de l'EDA, il est important de fournir les bons outils et une plate-forme de développement unifiée qui aide à surmonter les restrictions techniques existantes et à convaincre les développeurs.

    Discutons de quelques recommandations pour une adoption plus rapide des événements dans les architectures héritées et nouvelles.

    • Identifiez les cas d'utilisation orientés métier pour créer des pilotes qui définiront des modèles appropriés tels que les événements simples, les événements Streaming, Complex Event Processing.
    • Choisissez les bons composants dans l'architecture de référence décrite dans la section précédente afin de créer les modèles appropriés en fonction des besoins de l'entreprise
    • Facilitez l'adoption par les développeurs en donnant accès à l'architecture, aux technologies et Processus via une activation interne et une formation approfondie.
    • Permettez à EDA dans les applications héritées de tirer le meilleur parti de la plate-forme d'événements.
      • Commencez à capturer des événements via Change Data Capture (CDC) pour créer des événements basés sur une base de données
      • Utilisez des améliorations et des CR dans les applications existantes comme un catalyseur pour créer des événements requis
      • Synthétiser des événements à partir d'applications héritées existantes
    • Créez de nouveaux cas d'utilisation avec la boîte à outils technologique disponible dans l'architecture de référence pour accélérer davantage la transformation de l'entreprise et en tirer des avantages.

    Wipro DIaaS avec Red Hat AMQ sur Red Hat OpenShift Container Platform fournit une plate-forme solide pour les entreprises pour créer leurs applications événementielles agiles, évolutives et distribuées afin de permettre une transformation numérique rapide. Red Hat AMQ fait partie de Red Hat Integration qui apporte une plate-forme native cloud open source complète pour l'intégration numérique afin de prendre en charge des fonctionnalités telles que la gestion des API, les connecteurs Camel pour l'intégration, le streaming de données et la capture de données modifiées. Lorsque les organisations l'utilisent conjointement avec Red Hat Process Automation, elles peuvent mieux concevoir et contrôler la gestion des événements pour créer des EDA efficaces et résilientes.

    L'EDA génère une valeur commerciale: des histoires vraies

    1. Créer un nouveau modèle commercial via de nouveaux canaux

    Emirates NBD utilise Red Hat Fuse et Apache Kafka sur Red Hat OpenShift pour prendre en charge les opérations bancaires en temps réel et les interactions avec les partenaires.

    2. Amélioration incroyable de l'expérience client

    Un leader mondial des services financiers met en œuvre une solution de campagne en temps réel qui a permis une augmentation d'environ 60% des taux de conversion des campagnes

    3. Amélioration opérationnelle mesurable et efficace

    Un fournisseur logistique mondial utilise un tissu d'événements pour fournir une visibilité en temps réel des expéditions sur son vaste réseau mondial

    4. Dans le domaine de l'IoT

    Un fabricant mondial d'appareils électroniques a utilisé une surveillance proactive basée sur les événements pour réduire de 45% le nombre d'appels de maintenance. L'analyse des flux d'événements a permis de reconnaître les modèles et de hiérarchiser les réponses aux alertes.

    5. EDA pour la communication inter-microservices

    Une banque européenne a utilisé une architecture événementielle pour améliorer ses relations avec ses clients. Une solution légère basée sur le bus d'événements a permis de maintenir la synchronisation des applications et de fournir une vue unique des données client qui a permis de rationaliser l'expérience client.

    En savoir plus sur la manière dont Wipro et Red Hat aident les clients dans leur parcours de modernisation numérique ici .

    Les auteurs tiennent à remercier Danesh Hussain Zaki de Wipro pour sa contribution significative à cet article.




Source link