Big Data ou Big Mess ?
Comment éviter que le Big Data ne devienne un « Big Mess » ? C’est pour répondre à cette question qu’en 2009 les équipes de LinkedIn, confrontées à des problématiques d’intégration de données auxquelles les outils disponibles ne répondaient pas, élaborent un nouveau bus de messages distribué : Kafka.
Placé en 2011 sous l’égide de la fondation Apache, ce broker de messages connaît depuis une adoption croissante. Pour une raison essentielle : Kafka est dans la pratique bien plus qu’un bus. Et sa nature profonde en fait une brique de choix pour outiller les projets Big Data et, plus précisément, les scénarios qui recourent au Data Streaming. Explications.
Apache Kafka, bien plus qu’un bus
Quand les équipes de LinkedIn se penchent sur le cahier des charges de leur bus idéal, c’est notamment par comparaison avec les limites des solutions existantes. Voilà pourquoi elles se fixent notamment comme objectif de concevoir un bus qui :
- Garantit le découplage entre producteurs de données et consommateurs
- Supporte des consommateurs multiples
- Permet une forte scalabilité horizontale via une Architecture distribuée
- Met en œuvre la persistance des données
Et c’est bien ce que permet Kafka aujourd’hui. La solution se distingue par sa capacité à gérer des débits très élevés de messages, ce que les consultants Nexworld ont pu vérifier lors de différentes évaluations.
Caractéristique clé : la persistance .
Autre spécificité, avec Kafka les messages ne disparaissent pas aussitôt qu’ils sont consommés mais persistent dans des « topics » auxquels sont abonnés des consommateurs. Cette persistance est une caractéristique clé. Confluent, co-fondé par l’équipe à l’origine de Kafka et qui développe des solutions et services complémentaires, revendique ce positionnement haut et fort : « Kafka est basé sur une abstraction d’un commit log distribué (…) et a rapidement évolué du broker de messages vers une plateforme de streaming à part entière ».
Data Streaming, le terrain de prédilection de Kafka
Et, de fait, les usages actuels de Kafka confirment ce positionnement. Dans une étude menée l’an passé (350 organisations interrogées dans 47 pays), si 50% des interrogés mentionnent « le messaging » parmi les tâches confiées à Kafka, 66% évoquent le « streaming process ». Parmi les cas d’usages, se détachent les data pipelines (81% de mentions), les Microservices (50%), ou encore la supervision temps réel (43%).