Architecture IT : l’event-streaming au service de la libération de la data

Ditto architecture IT@2x

Dans le secteur bancaire, que cela soit pour conseiller et personnaliser l’expérience client, évaluer le risque de crédit ou répondre aux obligations réglementaires, la data est au centre des produits et de la relation bancaire. Chez Ditto, nous avons entrepris de construire une toute nouvelle plateforme qui mettra nos services bancaires et technologiques au service des entreprises désireuses d’enrichir leur offre et/ou d’améliorer leur expérience client, en prenant le parti de mettre la data au coeur de notre architecture.

Nos équipes produit et développement se sont soumises à une exigence bien particulière pour atteindre cet objectif : faire appel aux dernières technologies comme le font les géants du web tels que Instagram, LinkedIn ou Netflix, et fonder cette plateforme sur la méthode la mieux à même de garantir, by design, résilience, scalabilité, flexibilité et conformité : l’event-streaming. 

1 – L’ “événement” : l’unité de référence de l’architecture IT en event-streaming

Avant de s’arrêter sur ce qu’est une “architecture basée sur les événements”, intéressons-nous à la définition même d’un événement dans un contexte IT.
Toute nouvelle information (nouveau client créé dans le système, client qui se connecte,  passage à l’heure d’été), mise à jour, requête … au sein d’une plateforme est considéré comme un événement. Pour simplifier, un événement apparaît lorsqu’il “se passe quelque chose” sur ladite plateforme et ces événements ont des répercussions dans l’ensemble du système ! 

Ainsi, mettre l’événement au coeur de son architecture c’est effectuer le suivi des ajouts ou nouvelles informations de façon très précise et de tenir l’évolution de son architecture tel un livre d’écritures comptables. Chaque événement est répertorié dans un même endroit qui garde l’historique de chaque écriture précédente. L’intérêt ? Garantir un partage en temps réel de l’information pour toutes différentes entités de la plateforme, et par là même ses utilisateurs. Ce suivi précis de tous les changements de la plateforme permet également d’être assuré de ne pas perdre de données, rendant la plateforme beaucoup plus fiable et repositionnable à n’importe quel instant dans le passé pour auditer, détecter l’origine de potentielles erreurs ou simuler des scénarios différents.

2 – Une architecture basée sur les événements : un “tchat géant” pour libérer l’usage de la data

Pour pouvoir mettre l’événement au coeur d’une architecture tech, il est nécessaire d’être en mesure de les inscrire à un endroit donné, qui servira de source officielle et universelle et répertoriant tous ces événements, sans avoir à en faire la demande. 

Imaginez donc un “tchat géant” comme peuvent l’être les messageries instantanées d’entreprises, organisées par grands thèmes et informant l’ensemble des entités de la plateforme par notifications push.  

La révolution est profonde. Si auparavant la data était disponible dans le service opéré et fermé aux autres entités du système, elle fait à présent partie du système en lui-même et est donc accessible à tous. Dans cet état d’esprit, le partage et surtout l’utilisation de la data est largement encouragé puisque c’est ce qui permettra de l’enrichir et d’apporter de la valeur ajoutée, outre le temps gagné grâce à son accessibilité facilitée. C’est bel et bien la porte ouverte à des services nouveaux et plus performants, développés plus rapidement et de façon plus autonome.  C’est aussi la garantie de plus de scalabilité : la donnée étant centralisée, la création d’un nouveau service peut capitaliser facilement sur tout ce qui existe déjà dans le système.

3 –  Kafka : la plateforme de management des architectures en event streaming originelle et la plus utilisée 

C’est une histoire étonnante qui est à l’origine de sa création. Retour en 2009, chez…. LinkedIn! Les équipes, confrontées à des problèmes d’intégration des données provenant des différents systèmes en place au sein de l’infrastructure de l’entreprise, se sont attelées à trouver un moyen efficace de centraliser ces flux de données. C’est ainsi que Kafka, système de messagerie distribuée, est né! Dix ans après, c’est LA solution la plus avancée et éprouvée sur le sujet du data streaming. Chez Ditto, c’est le choix qui s’est naturellement imposé pour construire notre nouvelle plateforme. 

LinkedIn donc, mais aussi Microsoft, Netflix, Twitter, Spotify, Uber … les entreprises utilisatrices de Kafka sont toujours plus nombreuses, faisant transiter des trillions de messages par jour dans le cluster dédié chez LinkedIn. 

*******

Cette libération de l’usage de la data n’empêche aucunement d’imposer des droits d’accès. Mieux encore, une telle architecture permet intrinsèquement, (ou by design) une auditabilité et traçabilité des événements. 
En termes business, les nouvelles opportunités de création de valeur sont quasiment infinies et certaines s’imaginent déjà de manière très concrète.