Qu'est-ce que c'est?
Le streaming d’événements est la capture d’événements de données en temps réel à partir de nombreuses sources d’événements. Les sources peuvent inclure des bases de données, des applications logicielles, des capteurs, des appareils mobiles et des services cloud / d’infrastructure. Les événements sont capturés sous la forme de flux illimités et stockés durablement dans des journaux pour une récupération, une manipulation et un traitement ultérieurs. Les sources d’événements sont généralement appelées producteurs. Les consommateurs d’événements peuvent réagir en temps réel, rétrospectivement et peuvent également créer de nouveaux flux d’événements (traitement de flux).
Les plateformes de flux d’événements sont une large classe d’intergiciels orienté aux messages (Message-Oriented Middleware ou MoM) organisant les messages en sujets plutôt qu’en files d’attente de messages et sujets plus traditionnels. Ils diffèrent également dans l’ordre des messages, car dans les technologies MoM plus traditionnelles, l’ordre des messages n’est pas nécessairement garanti à moins qu’ils ne soient spécifiquement configurés pour le premier entré, premier sorti (FIFO).
Une autre différence clé par rapport à une file d’attente de messages traditionnelle est la persistance des enregistrements. Les files d’attente de messages traitent généralement un message, puis le rejettent. Les flux d’événements conservent un journal historique de toutes les transactions, ce qui en fait une source d’informations idéale pour l’analyse et l’intelligence générale des données.
Proposition de valeur de la capacité
Les plateformes de streaming d’événements peuvent généralement évoluer pour gérer des milliards d’événements par jour et offrir des garanties temporelles plus solides que les MoM traditionnels. Un flux d’événements est un journal d’ajout uniquement des événements ordonnés. Cela les rend très rapides et très durables là où les technologies de messagerie traditionnelles ignorent généralement les événements une fois lus dans une file d’attente ou une rubrique. La technologie est le fondement d’une architecture événementielle et est généralement appelée l’épine dorsale événementielle.
L’architecture événementielle est associée à un certain nombre d’avantages clés par rapport aux monolithes d’applications plus traditionnels:
- Couplage flexible entre composants et services.
- Véritable découplage des producteurs et des consommateurs.
- Capacité à mettre à l’échelle des composants et services individuels.
- Les composants et services peuvent être développés indépendamment les uns des autres.
- Affinité élevée pour le cloud.
- Messagerie basée à push asynchrone.
- Tolérance aux pannes et meilleure résilience.
- Capacité à construire des pipelines de traitement.
- Disponibilité de courtiers sophistiqués pour réduire la complexité du code.
- Flux d’événements en temps réel pour la science des données et l’apprentissage automatique.
L’architecture et la technologie vont de pair avec l’architecture des microservices, mais sont également de plus en plus utilisées dans des scénarios d’intégration de données plus traditionnels. Les connecteurs aux systèmes, applications et technologies communs permettent de proposer des données à grande échelle pour une consommation ailleurs dans l’organisation.
Les cas d'utilisation
- Messagerie, par ex. En remplacement d’un courtier de messages traditionnel.
- Suivi de l’activité du site Web, par ex. Suivi de l’activité des utilisateurs.
- Métriques, par ex. Données de surveillance opérationnelle provenant de plusieurs applications.
- Agrégation de journaux, par ex. Extraction des informations de journal à partir de la journalisation traditionnelle basée sur des fichiers
- Traitement de flux, par ex. Traitement des données dans des pipelines composés de plusieurs étapes.
De nombreuses organisations de tous les secteurs soumises à des initiatives de transformation numérique utilisent la diffusion d’événements en continu comme l’un des principaux catalyseurs technologiques. Presque tous les secteurs ont des scénarios dans lesquels une approche événementielle peut fournir des résultats révolutionnaires:
- L’automobile – suivi et surveillance des événements des véhicules, des voitures sans conducteur, des villes intelligentes, etc.
- La fabrication – événements d’usine, événements de ligne de fabrication à partir d’appareils IoT (Développement de secteur d’activité).
- Le soins de santé – événements pour les patients et les équipements hospitaliers.
- Le commerce de détail – comprendre les comportements des consommateurs, les événements de traitement des commandes.
- La logistique – Suivi des événements de la chaîne d’approvisionnement.
Les flux d’événements sont en fait des comportements et, en tant que tels, sont largement utilisés dans les scénarios d’apprentissage automatique et l’intelligence artificielle. Ils offrent également des opportunités pour des analyses en temps réel permettant aux organisations de prendre des décisions commerciales plus rapides et plus précises.
Les meilleures pratiques de mise en œuvre
Les meilleures pratiques de mise en œuvre avec la gestion des événements commencent par la conception des données autour des événements et plus particulièrement la granularité des événements. Comme les APIs, nous devons concevoir des événements avec un état d’esprit de consommation. Quel fardeau l’événement que nous produisons impose-t-il à un abonné à cet événement? Des événements à grains très fins peuvent obliger le consommateur à regrouper de nombreux événements avant de pouvoir agir. Un exemple peut être un événement pour chaque changement de champ dans un enregistrement qui doit être compilé en une seule mise à jour d’enregistrement. Si les événements sont trop grossiers, il est possible que le comportement de l’événement et la valeur sous-jacente que le flux d’événements puisse fournir peuvent manquer.
L’étape suivante consiste à regrouper les données d’événement associées. Il peut y avoir une tendance à dénormaliser toutes les structures d’événements, ce qui peut finalement les rendre difficiles à travailler, surtout à mesure que les structures d’événements changent. Le regroupement peut également conduire naturellement à la définition des exigences de traitement des flux. Nous devons accepter que les structures d’événements peuvent changer avec le temps, mais nous devons faire attention à ne pas briser les abonnés aux événements. Un couplage flexible ne signifie pas que nous avons une absence totale de contrat entre le producteur et le consommateur. Le contrat consiste à s’assurer que l’événement peut être interprété sans connaissance inhérente du système ou de l’appareil sous-jacent qui l’a produit.
Les organisations doivent structurer, dimensionner et partitionner leur architecture d’événements de façon appropriée. Les architectures événementielles sont généralement des affaires assez complexes. La refonte de la vente en gros n’est pas quelque chose que vous voulez vous retrouver à faire après la mise en œuvre. Les données d’événement sont partitionnées dans l’infrastructure et ce qui peut sembler être des modifications mineures peut avoir des effets plus larges que vous ne le pensez. Travailler avec le fournisseur de technologie et un partenaire comme Chakray pour assurer votre configuration peut vous aider à éviter des erreurs coûteuses sur la piste.
Comment ces technologies se différencient-elles?
Il existe un certain nombre de fournisseurs et de technologies dans l’espace de diffusion d’événements. Apache Kafka est l’un des plus connus et des plus largement utilisés. Cependant, Microsoft Azure Event Grid / Hub. Google Pub / Sub, Amazon Kinesis et Solace PubSub + ont également une forte adoption sur le marché. Les acheteurs trouveront également de nombreuses distributions de fournisseurs d’Apache Kafka, dont la plus populaire est Confluent Kafka. Cependant, Microsoft, Amazon et Aiven fournissent tous une implémentation prise en charge de Kafka.
Confluent s’est démarqué par sa contribution et son parrainage continus du projet Apache Kafka, ayant des membres fondateurs du projet au sein de leur organisation. Confluent fournit un certain nombre de composants et de services uniques pour Apache Kafka qui ne sont pas disponibles ailleurs sur le marché.
La sélection d’une technologie appropriée pour la diffusion d’événements peut bien être motivée pour certaines organisations par leurs investissements existants dans l’infrastructure cloud. Les organisations fortement investies dans Azure peuvent choisir Event Grid ou Event Hubs. Ceux qui investissent dans Google peuvent choisir Google Pub / Sub. Les mêmes principes de réussite s’appliquent quelle que soit la technologie sous-jacente.
Voilà pourquoi Chakray?
En tant qu’experts des données et de l’intégration, nous aidons les organisations à naviguer dans leurs parcours de diffusion d’événements. Poser les bonnes bases, déployer la bonne architecture et établir les bonnes capacités au sein de l’organisation. Chez Chakray, nous considérons les événements comme une autre partie d’un cadre d’intégration agnostique. C’est un outil et une capacité que nous déployons pour résoudre un problème commercial ou répondre à un besoin commercial.
Peut-être que ça peut vous intéresser…
Plus d'informations et de lecture sur des sujets liés à cette page
Talk to our experts
Parlez-nous des capacités que vous cherchez pour mettre en œuvre ou à améliorer dans votre organisation
Contactez-nous