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