Kafka 0.10

Kafka 0.11

Kafka 1.0

Kafka 2.0

(CEO of DataCumulus, une boite parisienne, fondée en juillet 2018, spécialisé en Kafka + AWS)

(CEO of DataCumulus, une boite parisienne, fondée en juillet 2018, spécialisé en Kafka + AWS)

Introduction

Alors que dans la plupart des systèmes d'information, la donnée est vue comme un élément sujet au cours du temps à de nombreuses modifications et qu'il faut entreposer sous toutes ses formes (en ajoutant en plus des couches de caches pour des raisons de performances et des couches d'audit pour savoir par qui, quand et comment la donnée a été modifiée) et que les inévitables migrations de ces entrepôts sont perçues comme des projets pharaoniques voire insolubles, il y a des solutions qui vous proposent de sortir de ce carcan et de vous offrir une vision en flux, permettant de fournir une plus grande flexibilité dans les systèmes d'information. Avec nombre d'avantages complétant cette vision, Kafka est de ces solutions.

Depuis sa sortie en 2011 au sein de LinkedIn, Kafka est devenu une plateforme hautement recommandée, voire quasiment incontournable, dans le monde de la data. Open Source via le modèle de la fondation Apache (comme Hadoop, Spark ou Cassandra) et fortement soutenu par Confluent (la société fondée par les créateurs de Kafka), Kafka a déjà des adeptes importants comme Netflix, Uber, Twitter ou Goldman Sachs. Et en Europe, il y a Criteo, ING, Natixis, EDF, etc.

Kafka est librement téléchargeable. Mais ce framework est aussi inclue à des distributions Hadoop. Par exemple, Hortonworks le propose dans son offre DataFlow (HDF). Nous pouvons aussi trouver Kafka en tant que service managé auprès des cloud providers. Cette plateforme est ainsi disponible chez Confluent (avec une plateforme dédiée) et AWS.

Ce qui fait la particularité de Kafka, ce qui le différencie des approches alternatives, c'est que Kafka impose une vision distribuée et hautement disponible, tout en proposant une API bas niveau — ainsi, il est facile de rentrer dans les méandres de la plateforme et de son architecture. Pour paraphraser Confluent, il s'agit d'un gage de performance.

Nous allons dans cet article revenir les différentes utilisations de Kafka, puis nous verrons l'architecture de Kafka et observer assez rapidement son écosystème, tout en nous intéressant aux apports.