Qu’est ce qui justifie cette formation ?

Comme vous pouvez le constater vous-même, de plus en plus de cas d’usage et de modèles économiques s’appuient sur des données générées en streaming. Il peut s’agir de la publicité en ligne avec la facturation par clic, l’analyse du parcours client, la recommandation en temps réel, la détection de fraude, la cyber-sécurité (spécialement avec l’utilisation des SIEM), le tracking des achats, l’analyse omnicanal, ou encore les objets intelligents (compteurs Linky, robots industriels, etc.). Ces cas d’usage ont atteint leur paroxysme avec les objets connectés, l’intégration des capteurs dans les objets de la vie courante (voiture, réfrigérateur, télévision, etc.). Le Streaming est devenu une  problématique sérieuse et préoccupante du Big Data !

 A la différence des données batch, qui sont historisées dans des systèmes de stockage long terme comme le HDFS, les données streaming quant à elle sont générées au fil de l’eau et doivent par conséquent être traitées au fur-et-à-mesure qu’elles arrivent, sinon elles perdent tout leur intérêt métier.  

Pour tirer profit de ce nouveau type de données et surmonter toutes les contraintes qu’elles soulèvent, les entreprises ont besoin d’un nouveau type d’équipement, que je qualifierais de “chaîne streaming“, (par imitation de “chaîne décisionnelle”). 

Tout comme une chaîne décisionnelle est composée d’un ensemble de technologies (un ETL + un Data Warehouse/Data Mart + un cube OLAP + un outil de reporting), une chaîne streaming est également composée d’une série de technologies précises : Un Producer + un Système de messagerie Publish-Subscribe + un Consumer + un système de traitement streaming  

Aujourd’hui, la chaîne streaming dans une entreprise est constituée de 5 composants principaux : Au moins un Producer Kafka + Kafka Connect + un Cluster Kafka + un Cluster Spark Streaming + Au moins un consumer Kafka  

D’ailleurs, je sais qu’en ce moment, dans votre entreprise, vous voyez ou entendez de plus en plus de déploiement Kafka. C’est parce que Kafka est devenu incontournable dans la valorisation de données streaming.  

Les entreprises ont énormément besoin de profils techniques, capables de développer des applications streaming et de les déployer en production.  Là il ne s’agit pas simplement de pouvoir concevoir la solution streaming, mais de la coder avec un langage comme Scala à partir de zéro et la déployer entièrement !  

L’objectif de la formation est de vous rendre capable de développer les applications de toute la chaîne streaming, du Producer aux indicateurs streaming en partant de zéro, et de les déployer (les applications de la chaîne) en production. Qu’est ce que cela veut dire ? Cela signifie qu’à la fin de cette formation, vous  serez capable de développer les applications à tous les niveaux d’une chaîne streaming, donc :

 1 – développer un Producer Kafka : le Producer est le point d’entrée de la chaîne streaming, car c’est elle qui qui collecte les données de la source streaming (comme un capteur, ou une application), et la pousse dans un topic. Vous serez capable de développer toute sorte de Producer Kafka.    

 2 – configurer un cluster Kafka : le cluster Kafka est le système de messagerie Publish-Subscribe distribué dans lequel les données streaming arrivent et sont persistées temporairement. Vous serez capable de configurer le cluster Kafka (nombre de partitions, création de topics, offsets, sémantique, etc..) pour le projet ou cas d’usage spécifique de l’entreprise.

3 – développer des indicateurs streaming avec Spark streaming : la motivation d’un projet streaming est généralement la même que celle d’un projet BI classique, à savoir l’analyse de données pour des fins décisionnelles. Cela signifie qu’au final, ce qui importe à l’utilisateur ce sont les indicateurs de performance (KPI) qui drivent ses prises de décisions au quotidien. Dans la formation, nous vous apprenons à développer des applications de calcul d’indicateurs streaming avec Spark Streaming. 

4 – développer des applications Kafka Connect : le calcul d’indicateurs streaming ne s’appuie pas toujours sur des sources de données streaming. Dans de nombreux cas, vous serez emmenés à utiliser ce que l’entreprise considère comme étant “des données chaudes“, c’est-à-dire des données déjà existantes dans l’entreprise qui ne sont pas streaming à la base, mais dont elle considère importante pour le cas d’usage. Il vous faudra alors récupérer ces données, et les publier dans des topics Kafka. Dans la formation, nous vous apprendrons à développer des applications Kafka Connect qui publient dans des topics Kafka diverses sources de données internes (fichiers plats, tables MySQL, bases de données, etc…). 

5 – développer des Consumer Kafka : le Consumer est le dernier composant d’une chaîne streaming. Il permet de lire les données des topics Kafka  (ou les indicateurs streaming) pour les afficher aux yeux de l’utilisateur final. Dans la formation, vous apprendrez à développer toute sorte de Consumers Kafka. 

6 – déployer toute la chaîne en production : une fois que vous aurez développé tous ces composants, vous serez capable de les déployer dans un environnement de production et les monitorer.   

Comme vous pouvez le constater, la formation couvre toutes les activités du cycle de vie d’un projet de Big Data Streaming. A la fin , vous serez capable de développer les applications de toute la chaîne streaming, du Producer aux indicateurs streaming en partant de zéro, et  les déployer en production. 

Programme de formation

La formation est composée de 64 sessions vidéo pratiques d’une durée de    25 h 35 min. Les 25 h 35 min sont réparties selon le programme suivant : 

  1.   Installation et setups de démarrage : 41 min Dans cette partie, nous vous apprenons à installer et configurer une chaîne streaming complète et son écosystème (Kafka, Kafka Connect, Spark Streaming, IntelliJ, Git, Maven, Scala, JDK,  SDK, etc.) tel que vous le retrouverez dans de vrais projets d’entreprise. 
  2. Développer des Producer et  Consumer  streaming : 4 h 04 min Une fois que l’environnement est mis en place, on commence par les bases. nous vous apprenons à développer des Producers et des Consumers Kafka classiques. 
  3. Publier des données streaming en temps réel Kafka : 4 h 36 min  Là on va sur des cas avancés, et nous vous montrons comment développer un Producer Kafka qui se connecte à une source streaming (comme un capteur ou une application streaming), récupère ses données et les publient dans Kafka. Nous prenons à titre de référence, Twitter. Nous illustrons avec la source Twitter comment récupérer en temps réel des tweets et les publier dans Kafka. Twitter est juste utilisé à titre illustratif.
  4. Consommer une source de données streaming en temps réel : 5 h 20 Dans cette partie, nous vous apprenons à consommer les données d’un topic Kafka. Elle est subdivisée en 4 sous-parties, car consommer les données de topics topic Kafka soulève 4 contraintes qui ont des impacts très importants sur la chaîne streaming et sur la façon de développer toutes les applications streaming de la chaîne, à savoir : comment garantir la cohérence des données streaming, comment lire les données dans l’ordre dans lequel elles sont arrivées ? Que faire en cas de panne du Producer ? Comment garantir sa sémantique de livraison ? Nous vous apprenons à coder dans vos applications streaming, les choix relatifs à ces différentes questions.
  5. Développer des KPI streaming avec Spark Streaming : 2 h 40 min  Là, nous vous montrons comment  développer des applications de calcul d’indicateurs streaming avec Spark Streaming, car l’enjeu d’un projet Big Data Streaming est le même que celui d’un projet BI classique : l’analyse de données à des fins décisionnelles. Spark Streaming est l’outil de référence pour ce type de travaux à large échelle.
  6. Consommer les indicateurs Streaming : 2 h 45 min  L’idée dans cette partie est de vous montrer comment utiliser Kafka Connect pour alimenter les indicateurs streaming, car dans la majorité de projets, les données internes de l’entreprise vont être utilisées pour renforcer les analyses décisionnelles. Il va donc falloir développer des producers qui se connectent des sources de données internes de l’entreprise tels que les fichiers plats, les bases de données, le HDFS, le Data warehouse, Salesforce, etc… pour les publier dans Kafka. Cela ne peut se faire qu’avec Kafka Connect. Dans cette partie, nous apprenons à développer des applications Kafka Connect pour récupérer les données de fichiers plats, et bases de données. MySQL sera utilisé à titre d’illustration. 
  7. Déployer une application Streaming en production: 4 h 20 min  La phase finale de vos travaux. Dans cette partie, nous vous apprenons à déployer une application streaming en production. En réalité, cette partie est séparée en 2. Dans un premier temps, nous vous montrons comment déployer individuellement chaque composant d’une chaîne streaming en production (le Producer, le Kafka Connect, le Cluster Kafka, l’application Spark Streaming, le Consumer). Ensuite, nous vous montrons comment les déployer pris ensemble; cela inclut paramétrer correctement les applications pour la production, compiler le code scala, créer le package .jar, et le déployer en ligne de commande. 
  8. Monitorer une application Streaming en production : 23 min  Ici, nous vous apprenons à monitorer la chaîne streaming et les applications streaming que vous avez déployées en production, et effectuer leur MCO (Mise en Condition opérationnelle).

Vous aurez 13 projets techniques à réaliser tout au long de la formation : La formation est exclusivement orientée-projet. Ici, on réalise des projets streaming tels qu’ils sont développés en entreprise. vous en aurez 13 à réaliser tout au long de la formation. Cliquez sur le lien du projet pour voir sur Git à quoi cela ressemble. Ainsi, vous aurez une idée sommaire de ce que vous serez capable de faire à  la fin de la formation  : 

  1. Projet #1 : développer un Consumer Kafka  
  2. Projet #2 : développer un Producer Kafka
  3. Projet #3 : développer un Consumer Spark Streaming
  4. Projet #4 : développer un Producer Kafka twitter avec HBC
  5. Projet #5 : développer un Producer Kafka twitter avec Twitter4J
  6. Projet #6 : développer un Consumer Spark twitter 
  7. Projet #7 : calculer des indicateurs Streaming
  8. Projet #8 : développer un Consumer d’indicateurs Streaming avec Kafka et Spark
  9. Projet #9 : développer une application Kafka Connect de lecture de fichier plat
  10. Projet #10 : développer une application Kafka Connect JDBC MySQL
  11. Projet #11 : déployer un Producer Kafka en production 
  12. Projet #12 : déployer un Consumer Kafka en production
  13.  Projet #13 : déployer une application Spark Streaming en production  

Vous voyez que nous avons tout prévu pour faire de vous de véritables référents techniques sur des projets Big Data Streaming. De toute façon, c’est notre promesse.   

Caratéristiques de la formation

Caractéristiques sommaires de la formation :

  • cette formation est 100% pratique, et exclusivement orientée-projet, de la première session à la 64 ème session. Cela représente   25 h 35 min de pratique 
  • La formation est illustrée par 13 projets completsavec des jeux de données réels – Nous assurons un support tchat et email exclusifs pour résoudre tout problème que vous rencontrerez pendant la formation.
  • Le support tchat et mail sont assurés tous les jours du lundi au samedi de 09h à 18h. De plus vous aurez accès à  un forum slack dans lequel vous pourrez interagir avec les autres participants. 
  • des séances de coaching par visio-conférence sont programmées directement avec Juvénal  lorsque vous rencontrez une difficulté particulière lors de la réalisation des projets (bug, erreur de configuration, d’installation, incompatibilité applicative, etc…)  
  • la formation a été développée en mode “bootcamp” (ou camp d’entraînement) pour  vous plonger émotionnellement et psychologiquement dans les conditions de développement réelles d’applications streaming dans de vrais projets.  
  • la formation est développée selon le principe de notice de micro-ondes. Cela signifie que nous avons découpé le travail de développement d’applications streaming en check-listes que vous aurez juste à suivre facilement. Les check-listes contiennent les dépendances à installer, les étapes à suivre, les jeux de données des cas d’usage, les versions des outils, les scripts de code et les spécificités de chaque facette du développement streaming. Vous trouverez ces check-listes dans la section “Ressources” de la formation. 

Pré-requis

Alors, je vais être honnête avec vous. Cette formation est avancée (voir très avancée en fonction de votre niveau de base), car elle a été conçue avec l’esprit de faire de vous des référents techniques Big Data. Nous supposons à l’intérieur que : 

  • Vous êtes à l’aise avec les concepts du streaming. Par exemple, si les notions comme système de messagerie Publish-Subscribe, sémantique de livraison des messages, traitement sans Etat, traitement avec etat, fenêtres de traitement, sémantique exactement-une-fois, Au-moins-une-fois, Kafka, Producer, Consumer, Kafka Connect, ne vous disent rient, alors réorientez-vous d’abord vers notre formation “Big Data Streaming” 
  • Vous êtes à l’aise avec la programmation Scala. En dehors d’un profil Java, si vous n’avez jamais fait de programmation,  alors cette formation n’est pas appropriée pour vous pour le moment. Redirigez-vous plutôt vers notre formation “Maîtrisez Spark pour le Big Data avec Scala“. 

De façon générale, si vous débutez dans le Big Data, alors cette formation n’est pas appropriée pour vous pour le moment. Privilégiez plutôt notre formation “Maîtrisez Spark pour le Big Data avec Scala“.

Pour qui a été conçu cette formation ?

Cette formation a été conçue pour  toutes les personnes qui aspirent devenir des référents techniques sur les projets Big Data. Plus spécialement, elle sera adaptée uniquement pour 3 types de profils : 

  • Les Ingénieurs  et consultants Big Data 
  • Les développeurs Java en pleine reconversion dans le Big Data 
  • Et ​les professionnels qui souhaitent se renforcer sur Kafka, Spark Streaming et tous les aspects techniques d’un projet Big Data Streaming.

Prix de la formation

La formation coûte  499 euros.

Comme toutes nos formations premium, cette formation bénéficie d’une  garantie SATISFAIT ou REMBOURSE de 14 jours. C’est une façon de vous dire : soit vous devenez référent technique sur des projets Big Data Streaming, soit alors vous êtes remboursés. 

Nous sommes déterminés à vous aider à travailler dans le Big Data et à devenir référent technique.  Je vous ai fait une promesse cette année, j’ai dit : “je ferais de vous des référents techniques sur des projets Big Data“, et je tiendrais ma promesse !  Cliquez ici pour vous inscrire à la formation

>