Développement de Solutions Edge Computing avec Open Source

Plan de Formation :

Durée Totale : 8 semaines (40 heures)

  • Sessions hebdomadaires : 2 sessions de 2 heures chacune

  • Labs & Hands-on : 4 heures par semaine

Semaine 1 : Introduction à l'Edge Computing et à l'Écosystème Open Source

Session 1 : Concepts de Base de l'Edge Computing

  • Objectifs pédagogiques :

    • Comprendre les concepts fondamentaux de l'Edge Computing

    • Identifier les avantages de l'Edge Computing par rapport au Cloud Computing

  • Contenu :

    • Introduction à l'Edge Computing : Définition, Avantages, Cas d'utilisation

    • Différences entre Edge, Fog, et Cloud Computing

    • Présentation des composants d'une architecture Edge : Appareils, passerelles, serveurs Edge

  • Hands-on :

    • Installation d'un environnement de travail basé sur Linux (par exemple, Ubuntu) pour le développement Edge

    • Installation des outils de base : Docker, Git, Node.js

Session 2 : Présentation des Outils Open Source pour l'Edge Computing

  • Objectifs pédagogiques :

    • Explorer l'écosystème open source pour le développement d'applications Edge

    • Identifier les outils et frameworks clés utilisés dans l'Edge Computing

  • Contenu :

    • Présentation de EdgeX Foundry, K3s, OpenFaaS, Node-RED

    • Introduction à Docker et à la conteneurisation pour l'Edge Computing

    • Introduction aux microservices pour l'Edge Computing

  • Hands-on :

    • Déploiement de Docker et création d'un premier conteneur simple

    • Exploration de l'interface de EdgeX Foundry et K3s

Semaine 2 : Déploiement d'une Plateforme Edge Computing avec EdgeX Foundry

Session 1 : Introduction à EdgeX Foundry

  • Objectifs pédagogiques :

    • Comprendre l'architecture et les composants de EdgeX Foundry

    • Apprendre à déployer EdgeX Foundry sur un appareil Edge

  • Contenu :

    • Architecture de EdgeX Foundry : Core Services, Supporting Services, Device Services, Application Services

    • Installation et configuration de EdgeX Foundry sur une machine locale ou un Raspberry Pi

    • Gestion des microservices avec Docker Compose

  • Hands-on :

    • Déploiement de EdgeX Foundry sur Raspberry Pi avec Docker Compose

    • Exploration des différents services EdgeX via l'API REST

Session 2 : Intégration des Capteurs et Actionneurs avec EdgeX Foundry

  • Objectifs pédagogiques :

    • Apprendre à connecter des capteurs et actionneurs à EdgeX Foundry

    • Configurer les services de collecte et de traitement des données des capteurs

  • Contenu :

    • Présentation des Device Services pour connecter les capteurs et actionneurs

    • Collecte et gestion des données de capteurs via EdgeX Foundry

    • Introduction aux règles et alertes pour automatiser les réponses aux données des capteurs

  • Hands-on :

    • Connexion d'un capteur de température/humidité (ex: DHT11/DHT22) à EdgeX Foundry

    • Création d'une règle simple pour déclencher une action en fonction des données du capteur

Semaine 3 : Conteneurisation et Orchestration avec Docker et K3s

Session 1 : Conteneurisation avec Docker pour l'Edge Computing

  • Objectifs pédagogiques :

    • Apprendre à conteneuriser des applications pour l'Edge Computing

    • Comprendre les avantages de la conteneurisation dans les environnements Edge

  • Contenu :

    • Concepts de base de Docker : Images, Conteneurs, Dockerfile

    • Création et gestion de conteneurs Docker pour des services Edge

    • Optimisation des images Docker pour des environnements à ressources limitées

  • Hands-on :

    • Création d'une image Docker pour une application Edge simple (par exemple, un serveur Node.js)

    • Déploiement et test de l'application conteneurisée sur un appareil Edge

Session 2 : Orchestration de Microservices avec K3s

  • Objectifs pédagogiques :

    • Comprendre les concepts d'orchestration de conteneurs avec Kubernetes

    • Déployer et gérer des applications conteneurisées avec K3s, une version légère de Kubernetes pour l'Edge

  • Contenu :

    • Introduction à Kubernetes : Concepts de base, Pods, Services, Deployments

    • Présentation de K3s : Installation et avantages pour l'Edge Computing

    • Gestion des microservices et déploiement d'applications avec K3s

  • Hands-on :

    • Installation de K3s sur un Raspberry Pi

    • Déploiement d'une application multi-conteneurs avec K3s et gestion de son cycle de vie

Semaine 4 : Développement d'Applications Serverless au Bord avec OpenFaaS

Session 1 : Introduction au Serverless Computing et OpenFaaS

  • Objectifs pédagogiques :

    • Comprendre le concept de Serverless Computing et son application à l'Edge

    • Explorer les fonctionnalités et l'architecture d'OpenFaaS, une plateforme open source pour le Serverless

  • Contenu :

    • Concepts de base du Serverless Computing : Fonctions as a Service (FaaS), événements déclencheurs

    • Présentation d'OpenFaaS : Architecture, API Gateway, gestion des fonctions

    • Déploiement d'OpenFaaS sur une plateforme Edge

  • Hands-on :

    • Installation d'OpenFaaS sur une infrastructure K3s

    • Déploiement d'une fonction Serverless simple avec OpenFaaS (par exemple, une fonction de traitement d'images)

Session 2 : Développement et Déploiement de Fonctions Serverless

  • Objectifs pédagogiques :

    • Apprendre à développer des fonctions Serverless pour des environnements Edge

    • Gérer les fonctions Serverless et les intégrer avec d'autres services Edge

  • Contenu :

    • Développement de fonctions Serverless avec OpenFaaS : Langages supportés, structure des fonctions

    • Intégration des fonctions Serverless avec des événements IoT (capteurs, actionneurs)

    • Gestion des logs et surveillance des fonctions Serverless

  • Hands-on :

    • Développement d'une fonction Serverless pour traiter des données de capteurs en temps réel

    • Déploiement et test de la fonction avec OpenFaaS sur un appareil Edge

Semaine 5 : Sécurisation des Solutions Edge Computing

Session 1 : Sécurisation des Communications et des Données au Bord

  • Objectifs pédagogiques :

    • Apprendre à sécuriser les communications entre les appareils Edge et les services

    • Mettre en œuvre des techniques de sécurisation des données au repos et en transit

  • Contenu :

    • Sécurisation des communications avec TLS/SSL, VPN, et MQTT sécurisé

    • Chiffrement des données au repos et en transit

    • Gestion des certificats et des clés pour les appareils Edge

  • Hands-on :

    • Mise en place d'une communication sécurisée MQTT entre un capteur et EdgeX Foundry

    • Chiffrement des données de capteurs stockées localement sur un appareil Edge

Session 2 : Sécurisation des Services et de l'Infrastructure Edge

  • Objectifs pédagogiques :

    • Comprendre les menaces spécifiques à l'Edge Computing et mettre en place des mesures de protection

    • Sécuriser l'infrastructure de déploiement (conteneurs, microservices) et les accès

  • Contenu :

    • Sécurisation des conteneurs et des microservices : Bonnes pratiques, outils (ex: Docker Bench, kube-bench)

    • Gestion des accès et des autorisations : RBAC, secrets, et configurations sécurisées

    • Surveillance et détection d'intrusions sur les plateformes Edge

  • Hands-on :

    • Exécution d'un audit de sécurité sur les conteneurs Docker et les services K3s

    • Mise en place de RBAC sur K3s et gestion des secrets avec Kubernetes

Semaine 6 : Analyse et Gestion des Données au Bord

Session 1 : Collecte et Traitement des Données en Temps Réel

  • Objectifs pédagogiques :

    • Apprendre à collecter, traiter et analyser les données en temps réel au niveau Edge

    • Utiliser des outils open source pour l'analyse des données en temps réel

  • Contenu :

    • Introduction au traitement des flux de données en temps réel

    • Utilisation de Node-RED pour l'orchestration des données IoT

    • Intégration de services d'analyse en temps réel (ex: Apache Kafka, InfluxDB)

  • Hands-on :

    • Configuration de Node-RED pour collecter et traiter des données de capteurs

    • Déploiement d'un flux de données en temps réel avec Node-RED et InfluxDB pour l'analyse

**Session 2 : Visualisation et Gestion des Données

au Bord**

  • Objectifs pédagogiques :

    • Apprendre à visualiser les données collectées et à les gérer localement

    • Mettre en place des tableaux de bord pour le monitoring en temps réel

  • Contenu :

    • Introduction aux outils de visualisation open source : Grafana, Kibana

    • Création de tableaux de bord pour le monitoring des données IoT

    • Gestion des bases de données locales pour les solutions Edge

  • Hands-on :

    • Configuration de Grafana pour visualiser les données de capteurs collectées au bord

    • Création d'un tableau de bord en temps réel pour surveiller l'état des dispositifs Edge

Semaine 7 : Intégration Cloud-Edge et Gestion des Flux de Données

Session 1 : Intégration des Solutions Edge avec le Cloud

  • Objectifs pédagogiques :

    • Comprendre comment intégrer les solutions Edge avec des services Cloud

    • Développer des architectures hybrides pour une gestion efficace des données

  • Contenu :

    • Modèles d'intégration Cloud-Edge : Synchronisation des données, traitement distribué

    • Utilisation d'API pour la communication entre le Cloud et l'Edge

    • Gestion des flux de données entre le Cloud et l'Edge

  • Hands-on :

    • Intégration de EdgeX Foundry avec une plateforme Cloud (AWS IoT, Azure IoT)

    • Synchronisation des données entre le Cloud et l'Edge avec MQTT et REST API

Session 2 : Gestion des Flux de Données et Orchestration Hybride

  • Objectifs pédagogiques :

    • Apprendre à orchestrer les flux de données entre le Cloud et l'Edge

    • Gérer les workflows hybrides pour des solutions distribuées

  • Contenu :

    • Orchestration des flux de données avec des outils open source : Apache NiFi, StreamSets

    • Gestion des workflows complexes entre le Cloud et l'Edge

    • Optimisation des coûts et des performances pour les solutions hybrides

  • Hands-on :

    • Déploiement d'un flux de données avec Apache NiFi pour synchroniser les données entre le Cloud et l'Edge

    • Création d'un workflow hybride pour le traitement et l'analyse des données

Semaine 8 : Projet Final et Clôture de la Formation

Session 1 : Développement et Implémentation du Projet Final

  • Objectifs pédagogiques :

    • Appliquer toutes les connaissances acquises pour développer une solution Edge complète

    • Démontrer la capacité à concevoir, développer et déployer une solution Edge sécurisée et optimisée

  • Contenu :

    • Conception du projet final : Définition des objectifs et des exigences

    • Planification et développement du projet : Choix des technologies, architecture, intégration

    • Test, déploiement et documentation du projet

  • Hands-on :

    • Développement du projet final en équipe ou individuellement

    • Déploiement et test du projet sur une infrastructure Edge réelle ou simulée

Session 2 : Présentation du Projet et Clôture de la Formation

  • Objectifs pédagogiques :

    • Présenter le projet final et discuter des solutions mises en œuvre

    • Réviser les concepts clés de la formation et discuter des futures opportunités

  • Contenu :

    • Présentation des projets finaux devant les formateurs et les pairs

    • Discussion sur les points forts et les axes d’amélioration

    • Bilan de la formation et perspectives de carrière

  • Hands-on :

    • Présentation finale du projet : Démonstration et résultats

    • Discussion libre et échanges de feedback


Méthodologie Pédagogique

  • Approche Pratique : Apprentissage par la pratique avec des labs et des projets réels.

  • Progression Pédagogique : De la théorie à la pratique avec une complexité croissante.

  • Support Continu : Assistance et retours réguliers, discussions de groupe pour maximiser l'apprentissage.

  • Travail Collaboratif : Encouragement du travail en équipe pour les labs et projets finaux.

Ce programme de formation couvre l'ensemble des aspects du développement de solutions Edge Computing avec des outils open source, avec un focus sur l'application pratique et la mise en œuvre des concepts dans des systèmes réels. Les participants acquerront des compétences solides pour développer et déployer des solutions Edge de bout en bout, en utilisant les technologies open source les plus récentes.

Last updated