Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Contenu détaillé

Apache Kafka est un outil de journalisation des commits (Eng., commit log service) distribué, partitionné et répliqué qui joue le rôle d’un système de messagerie. Kafka tourne sur des clusters de machines où chaque nœud est appelé un broker. Le cluster Kafka reçoit, au travers du réseau, des messages provenant d’applications que l’on appelle producers puis les met à disposition des applications cibles que l’on appelle les consumers. L’organisation des messages au sein du cluster Kafka se fait sous forme de catégories appelées topics. Le plus grand avantage de Kafka c’est ça capacité de traitement de très gros paquets de données sous une latence de l’ordre de quelques millisecondes (à temps réel). Chaque broker peut traiter des centaines de méga bytes d’I/O chaque seconde en provenance/destination de centaines de clients. 

Objectifs

  • Comprendre les usages de Kafka  dans  l’entreprise
  • Maîtriser l’architecture de Kafka et son mode de fonctionnement dans un contexte multi-clients.
  • Adopter les outils et les langages permettant l’interaction avec un cluster Kafka.
  • Réaliser les principales opérations disponibles sur Kafka.
  • Sécuriser les données à destination et en provenance du cluster Kafka.

Programme détaillé

Introduction à Kafka

  • Historique de Kafka.
  • C’est quoi Kafka ?
  • Apperçu sur l’architecture fonctionnelle de Kafka : brokerstopicsproducersconsumers.
  • Les pricipaux cas d’usage de Kafka.
  • Votre première intéraction avec Kafka : installation, configuration et manipulation de quelques opérations basiques de Kafka.
  • Présentation de l’ecosystème de Kafka : les outils interagissant avec Kafka.

API et configurations 

  • Producer API.
  • Consumer API.
  • Configuration du Broker.
  • Configurations du Producer.
  • Configurations du Consumer.

Conception de Kafka

  • Motivations.
  • Principe du fonctionnement interne de Kafka.
  • Avantages et performances de Kafka.

Implémentation de Kafka

  • La conception des APIs : APIs Consumer  et APIs Producer.
  • Cas d’usages.
  • La couche réseau et le format des messages.
  • Les Logs.
  • La distribution des données.

Kafka en pratique

  • Opérations fondamentales de Kafka : Ajout/supression d’un topic, modification d’un topic, l’arrêt progressif, etc.
  • Datacenters.
  • Configuration de Kafka.
  • Matériel et OS.
  • Monitoring.
  • Zookeeper.

La sécurité

  • Présentation de la problématique de la sécurité.
  • Cryptage et authentification en utilisant SSL.
  • Authentification en utilisant SASL.
  • Autorisation et ACLs.
  • Authentification Zookeeper.

Interactions entre Kafka et les systèmes externes

  • Aperçu sur l’outil Kafka Connect.
  • Guide d’utilisation de Kafka Connect.
  • Guide pour le développement de nouveaux connecteurs personnalisés.