FORMATION KAFKA

Objectifs de la formation

Apache Kafka est un système de messagerie distribuée construit pour supporter des flux d’évènements liés au Big Data. Développé initialement par LinkedIn, il est dorénavant distribué en Open Source par la fondation Apache et connaît un fort déploiement en entreprise. À l'issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour : • Comprendre l’architecture en cluster de Kafka • Différencier ces différents cas d’utilisation • Utiliser les APIs Kafka de production/consommation de messages • Utiliser les APIs Kafka Connect/ Kafka Admin • Aborder les APIs Kafka Stream et le serveur kSQLDB • Configurer les topics en fonctions des contraintes de fiabilité et de débit de vos applications

À qui s'adresse cette formation ?

Public : Ce cours Apache Kafka s'adresse aux architectes d'entreprises, aux développeurs et à toute personne souhaitant comprendre et utiliser un système de messagerie distribuée à haut débit. Prérequis : Pour suivre cette formation Apache Kafka, il est recommandé d'avoir une bonne connaissance du développement Java.

Contenu du cours

Introduction à Apache Kafka Naissance, historique, objectifs du projet Les différents cas d'utilisation de Kafka Les composants du système : Zookeeper, brokers, topics, consumers, producers Les différentes APIs Prise en main d'un cluster Kafka Ensemble Zookeeper, rôle de l'ensemble Connexion cliente via zkCli.sh Configuration d'un broker Kafka Traces d'un broker Structure de stockage du commit log Utilitaires fournis par la distribution Travaux Pratiques : Démarrage ensemble zookeeper, connexion Démarrage d'un cluster Kafka 3 noeuds Création de topic, envoi et réception de messages via les commandes en ligne Kafka APIs Producers API Consumers API Exemple de frameworks Connect API AdminClient API Introduction à Streams API Travaux Pratiques : Développement d'un producteur de message, puis d'un consommateur, Exemple framework réactif, Connect API avec ELK, Réplication et fiabilité Stockage des partitions, segments et rétention Réplication, leader, followers, ISR Rôle du contrôleur, Arrêt d’un broker leader, d'un follower Démarrage d'un nouveau broker Fiabilité Producteur, Fiabilité consommateur Sémantiques At Most Once, At Least Once, Exactly Once Outils de validation d'une garantie de transmission Travaux Pratiques : Implémentation des différentes sémantiques de transmisssion, tests avec redémarrage de brokers et changement de consommateur

Objectifs de la formation

Kafka est un système de messagerie distribuée construit pour supporter les flux d’évènements liés au Big Data. Développé initialement par LinkedIn, il est dorénavant distribué en Open Source par la fondation Apache et connaît un fort déploiement en entreprise. À l'issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour : • Comprendre les services offerts par une infra Kafka • Installer un cluster Kafka, utiliser ses commandes en ligne • Garantir des niveaux de fiabilités sur les topics Kafka • Sécuriser un cluster Kafka • Remonter les métriques Kafka dans des outils de visualisation tel que Promotheus/Grafana • Avoir un panorama des outils d'administration disponibles

À qui s'adresse cette formation ?

Public : Ce cours Kafka s'adresse principalement aux administrateurs et aux architectes. Prérequis : Pour suivre cette formation Kafka, il est recommandé d'avoir une connaissance minimale système.

Contenu du cours

Introduction Le projet Kafka : historique, fonctionnalités, principe de fonctionnement. Présentation de l'achitecture et du rôle de chaque composant : broker, producer, consumer Liaison avec Zookeeper Installation Préconisations d'installation et prérequis Différentes distribution disponibles L'ensemble ZooKeeper, rôle, dimensionnement, client Cluster Kafka, Configuration d'un broker Kafka, Traces d'un broker, structure de stockage du commit log Utilitaires fournis par la distribution Travaux pratiques: Installation, mise en place de script de démarrage/arrêt d'une architecture cluster Kafka Création de topic et production/consommation de message les utilitaires Cas d'usage Kafka Kafka comme message Broker Kafka et Kafka Connect traitement d'évènements temps-réel Kafka, référentiel des données d'entreprise Travaux pratiques : Exécution d'applications implémentant les différents cas d'usage Réplication et fiabilité Stockage des partitions, segments et rétention Réplication, leader, followers, ISR Rôle du contrôleur, Arrêt d’un broker leader, d'un follower. Démarrage d'un nouveau broker Fiabilité Producteur, Fiabilité consommateur Sémantiques At Most Once, At Least Once, Exactly Once Outils de validation d'une garantie de transmission Administration Gestion des topics Gestion du cluster Politique de rétention Dimensionnement brokers, partition Monitoring : Traces, JMX, Grafana Autres Outils d'administration et surveillance Sécurité Alternatives pour la sécurité Cryptage avec SSL Authentification SASL ACLs clients Intégration avec d'autres systèmes

Objectifs de la formation

Kafka Streams est une librairie permettant de créer des applications et des microservices dont les données sont transmises depuis et vers un système de messagerie Kafka. ksqlDB pousse encore plus loin cette abstraction en fournissant une base de données dédiée aux applications de traitement d’événements. A l'issue de cette formation Kafka Streams & ksqlDB vous serez en mesure de : • Comprendre les fonctionnalités et les avantages de Kafka Streams par rapport aux autres infrastructures de traitement de flux • Appréhender l’offre de ksqlDB • Développer des micro-services qui transforment, enrichissent, filtrent et agrègent des flux d’événements • Construire, packager et déployer une application Kafka Streams • Monitorer une application Kafka Streams

À qui s'adresse cette formation ?

Public : Ce cours Kafka Streams & ksqlDB s'adresse aux architectes d'entreprise, aux développeurs et plus généralement à toute personne impliquée dans la construction ou l’exploitation d’un système de traitement massif d’événements. Prérequis : Pour suivre cette formation Kafka Streams & ksqlDB, il est nécessaire de posséder une connaissance préalable de Kafka

Contenu du cours

DevOps : Les outils Introduction à Apache Kafka Streams Event-processing vs database centric applications Évolution des architectures des systèmes, rôle du message broker Enjeux du Big Data et Stream Data, Real-time Analysis Kafka Streams vs Apache Spark ou Apache Storm Rappels sur Apache Kafka, Cluster, Topics et Partitions, APIs, Garanties de livraison Travaux Pratiques : Démarrage d’un cluster Kafka Rappels sur les fichiers de configuration Les principes de Kafka Streams Typologie des processeurs, topologie de processeurs, scalabilité et tâches Évènements et horodatage, fenêtre temporelle Dualité des streams et des tables, agrégation Gestion d’états, les state store, requêtes interactives Partitionnement de flux, modèle concurrentiel et garantie d’ordre Développer une application Kafka Streams Alternatives aux développements, dépendance, mise en place Configuration et test d’une application Kafka Streams Mise en place d'une programmatique de topologie DSL comparaison avec la processor API Sources et destinations Kafka Transformation stateless Transformations stateful : agrégations, jointures, fenêtrage Requêtes interactives Travaux Pratiques : Processor APIs Cas de tests DS Agrégations Jointures Fenêtrage ksqlDB ksqlDB vs Kafka Streams Cas d’utilisation de ksqlDB Écosystème de ksqlDB Alternatives de mise en place Syntaxe SQL appliquée aux Streams Opérateurs et fonctions API Rest Cas d’utilisation typiques : mise à jour automatique de vues, Pipeline ETL, microservices piloté par évènements Travaux Pratiques : Déploiement standalone, atelier de démarrage suivi des trois cas d’utilisation typique Déploiement Formats de packaging et plateformes d’exécution Modèles de sécurité Gestion des schémas Tracing Monitoring Travaux Pratiques : Déploiement orchestrateur de conteneurs RBAC et secrets Gestion de schémas

Objectifs de la formation

Cette formation Architecture microservices avec Spring Cloud Stream et Kafka, destinée à des développeurs ou architectes SpringBoot, commence par présenter les architectures visées par le couple SpringCloud/Kafka, puis approfondit avec les concepts de Spring Cloud Stream et les caractéristiques de la messagerie distribuée Kafka À l'issue de cette formation, vous aurez acquis les connaissances et les compétences nécessaires pour : • Mettre en place l'environnement de développement Spring Cloud Data Stream • Concevoir une architecture microservices basée sur Kafka et Spring Cloud • Adopter une programmation fonctionnelle • Mettre en place une topologie de processeurs Kafka avec SpringBoot • Surveiller et récolter les métriques d’une telle architecture

À qui s'adresse cette formation ?

Public : Ce cours Spring Cloud Stream et Kafka s'adresse aux développeurs et architectes ayant déjà une certaine maîtrise de Spring et SpringBoot. Prérequis : Pour suivre cette formation Spring Cloud Stream et Kafka, il est nécessaire de connaître au préalable Spring et SpringBoot.

Contenu du cours

Introduction aux architectures microservices Architectures microservices orientés événements : avantages attendus Rôle du message broker dans l’architecture, les spécificités de Kafka Transformer une architecture monolithique en microservices Programmation réactive Préparation de l’environnement de développement Atelier Installation de Kafka et mise en place de l'IDE Concepts de Spring Cloud Stream Historique du projet, Spring Integration Modèle applicatif de Spring Cloud Stream, fat-jar, Dockerisation, Déploiements vers Kubernetes, Serverless L’abstraction binder Support pour la persistance Groupe et types de consommateurs et partitionnement Modèle de programmation : Binding, Structure des messages, Function vs Legacy Gestion et routage des erreurs Tests et Débug des microservices Ateliers Mise en place de deux microservices avec deux topics Kafa, puis démonstration de l’évolutivité La messagerie distribuée Kafka Historique, objectifs du projet et cas d’usage, distributions OpenSource et commerciales Architecture en cluster, rôle de Zookeeper Concepts de base des topics, des records, et du journal partitionné Les APIs et CLI Rôle des partitions et des groupes, conséquences sur les instances du cluster Configuration des topics Kafka Binder dans SpringCloud : les options de configuration Gestion des erreurs, des transactions, et du partitionnement Kafka Stream Binder Ateliers Mise en place d’un cluster trois nœuds Kafka Partitionnement de topic et gestion des transactions Kafka Stream et SpringCloud KafkaStream et DSL Notions de Flux et de Tables, Agrégations, Jointures, State-store KafkaStream Binder. Modèle de programmation, Style fonctionnel Sérialiastion et désérialisation d’événements State-store et service de requêtage État de santé, Métriques et visualisation de la topologie Atelier Mise en place d’un Kafka Stream avec différents state store via Spring Cloud Spring Cloud Data Flow Présentation du projet Intégration de SpringCloud Stream Architecture et alternative d’infrastructure Ateliers Installation SpringCloudDataFlow et déploiement des microservices précédemment développés