Des formations et des retours d'expérience animés par des experts

Maitriser les fondamentaux d’Apache Kafka

Architectures, concepts, bonnes pratiques autour de Kafka

REF S022

Introduction

Apache Kafka est une technologie qui a le vent en poupe, car elle permet de mettre en place un système de distribution et de stockage des données centralisé et performant.

A l’origine, cette technologie a été mise au point chez LinkedIn, pour résoudre des problèmes d’intégration de données en temps réel sur la plateforme Data de l’entreprise. Depuis, Kafka a été mis à disposition sous licence Apache et ses cas d’utilisation se multiplient :
Comprendre la démarche « Data Driven »

  • Brique essentielle des systèmes d’ingestion Big Data
  • Support pour les solutions de Data Streaming
  • Pur middleware de distribution (messaging) inter-applicatif
  • Event Sourcing

Plateforme scalable, résiliente et ultra performante, Apache Kafka intéresse de plus en plus d’entreprises. Nous vous proposons une formation d’une journée pour comprendre les concepts, l’Architecture et les bonnes pratiques de cette technologie. A la suite de cette formation, vous aurez en main toutes les informations vous permettant d’apprécier l’adéquation d’Apache Kafka avec votre besoin.

Concepts et fondamentaux de Kafka

Apache Kafka est un MOM (Message Oriented Middleware) qui se distingue des autres par son Architecture et par son mécanisme de distribution des données. Dans ce chapitre, nous aborderons entre autres les notions suivantes :

  • Les topics et les partitions
  • Les brokers
  • Les « consumers » et les « producers » de messages
  • Le mécanisme d’offset

Haute Disponibilité et Résilience

Apache Kafka a été conçu pour être naturellement scalable et résilient, ce qui le distingue de bon nombre de solutions concurrentes. Cependant, ces capacités viennent aussi avec une dose de complexité qu’il est essentiel de connaître et de maîtriser. Dans ce chapitre, nous vous proposons d’aborder les sujets suivants :

  • Les composants à mettre en place pour créer un cluster
  • Le mécanisme de réplication assurant la résilience d’un cluster
  • Le sharding des données mis en place pour assurer la scalabilité d’un cluster

Configurer un système intègre et fiable

Par sa nature distribuée, la configuration d’un cluster Apache Kafka fiable peut être complexe. Certaines questions commencent à se poser dès que l’on rentre dans le détail de la configuration comme par exemple :

  • Quels paramètres de réplication choisir ?
  • Comment s’assurer qu’aucun message n’est perdu ?
  • Et bien d’autres encore…

De plus, configurer le cluster Kafka ne suffit pas, les applications productrices ou consommatrices de messages portent aussi une grande responsabilité dans la fiabilité des échanges.
Ce chapitre permettra d’aborder les différentes options qui s’offrent à vous pour mettre en place un système fiable autour d’Apache Kafka.

Solutions complémentaires autour de Kafka

Depuis sa création, des solutions ont vu le jour pour compléter Apache Kafka afin de :

  • Permettre de construire des applications de Data Streaming
  • Faciliter l’intégration de Kafka avec des systèmes tiers
  • Rendre l’administration opérationnelle plus simple et plus fiable

Dans le monde open source, les solutions suivantes sont proposées :

  • Kafka Connect qui permet d’alimenter Apache Kafka à partir de différentes sources ou de déverser les données de Kafka dans d’autres systèmes
  • Kafka Stream qui permet de traiter en temps réel les données qui transitent via Apache Kafka

D’autres solutions sont aussi disponibles dans la distribution Confluent d’Apache Kafka. Ces solutions permettent d’augmenter les capacités d’Apache Kafka pour en facilité l’utilisation et l’administration.

Confluent met à disposition les solutions suivantes :

  • Confluent Schema Registry : solution de gestion des schémas des messages
  • Confluent Replicator : solution de réplication fiable de clusters Apache Kafka
  • KSQL : solution de Data Streaming SQL-like
  • Confluent Automatic Rebalancer: solution d’administration automatique de la répartition de charge sur un cluster

Nous vous proposons de détailler ces solutions et les usages associés dans ce chapitre.

Sécuriser un cluster Kafka

La sécurité est toujours au centre des projets informatiques et de leur infrastructure physique et logicielle. Apache Kafka, dans sa déclinaison open source ou éditeur, propose des options permettant de :

  • Stocker les données de manière sécurisée
  • Sécuriser les échanges
  • Gérer l’accès aux données grâce à un système de permission

Nous détaillerons dans ce chapitre les fonctionnalités puis leurs déclinaisons techniques proposées dans les distributions Kafka open source et Confluent. Les fonctionnalités nécessaires d’une plateforme Data.

Déploiement Multi-Datacenter

Mettre en place une infrastructure technique haute disponibilité et scalable nécessite de déployer Apache Kafka sur de multiples Datacenters. Dans ce chapitre, nous étudierons les différentes possibilités de déploiement d’Apache Kafka sur plusieurs Datacenters et les contraintes associés :

  • Topologies de déploiement possibles
  • Mécanisme de réplication proposé en open source
  • Solution apportée par la distribution Confluent

Objectifs

Comprendre
le fonctionnement
de Kafka

Public

DSI
Architecte SI
Responsable
Innovation

Prérequis

Aucun

Durée

1 jour

Prix

950€ HT/Participant

Téléchargez notre catalogue de formation