Qu’est-ce que le Edge Computing ?
L’IoT (Internet Of Things) ou l’internet des objets est avant tout un catalyseur de transformation numérique. Il qualifie un réseau d’appareils électroniques interconnectés avec la capacité de communiquer des informations via internet.
La donnée est le nouveau pétrole brut de notre époque. Transformée via la Business Intelligence, les applications web ou l’intelligence artificielle, elle contribue à créer de nouveaux services, à aiguiser la capacité de prise de décisions et finalement à rationaliser la manière d’opérer, en jaugeant et en mesurant le monde qui nous entoure. Et cela en réduisant fortement le niveau d’incertitude, notamment en utilisant des capteurs comme dans l’IoT.
Dans cet article, nous nous intéresserons au Edge Computing, qui déporte la capacité de calcul au plus proche des objets connectés.
Chaîne de valeur IoT
L’IoT suscite l’intérêt du monde industriel et économique, à cause du nombre très important de machines et de capteurs déployés, et de ceux qui vont l’être dans le futur. La quantité de données produite est donc vouée à croître de façon considérable.
Ces appareils et capteurs peuvent fonctionner et communiquer via Internet selon deux méthodes :
Complémentarité Cloud et Edge (Référence)
- a- Les appareils communiquent les données directement vers le cloud, ce qui implique qu’ils aient suffisamment de ressources hardware et software pour communiquer via les réseaux de transmission vers internet.
- b- Les appareils communiquent les données qui seront d’abord agrégées, nettoyées et préparées autour de gateway et de PC industriels qui font office de zones de transit, avant de les envoyer via les réseaux de transmission vers internet.
2- Qu’est ce que le Edge Computing ?
Le Edge Computing est un concept relativement nouveau, il vise à traiter les données au plus près de la source où elles sont produites.
Le traitement de données se fait au niveau d’une gateway ou bien d’un ordinateur industriel qui se trouve géographiquement très proche de l’appareil qui génère la donnée. Par exemple, dans une usine, au plus proche de la machine de production. Le traitement intervient souvent pour filtrer, agréger et stocker la donnée mais aussi pour faire de la détection avancée des anomalies, du machine learning ou bien de la maintenance prévisionnelle.
L’ensemble des algorithmes d’analyse et de traitement doivent être déployés à distance depuis le cloud via un outil de gestionnaire de périphériques.
Le volume massif de données peut être difficile à gérer entièrement sur le réseau Cloud. Pour relever ce défi, le Edge Computing offre une capacité de calcul complète ou partielle qui peut traiter les données à la périphérie du réseau. Il permet donc une faible latence, une réponse plus rapide, et une analyse complète des données.
Si il y a quelques années, les appareils envoyaient généralement les données vers le Cloud pour les traiter, avec le développement continu de l’Edge Computing, aujourd’hui une grande partie du traitement est faite directement sur le Edge, minimisant ainsi la latence globale de l’application et réduisant l’infobésité sur le Cloud.
3- Les composants d’un framework de Edge Computing
Le Edge Computing comporte un certain nombre de fonctionnalités indispensables, et implémentées en général dans une architecture microservices sous forme de conteneurs Docker, orchestrés par un outil situé au niveau du cloud.
Ce framework est souvent installé dans un PC industriel ou une gateway et comporte les composants suivants :
- Gestion des périphériques : comporte la gestion de la flotte d’appareils connectés, cela est intrinsèquement lié à l’outil de gestion des conteneurs au niveau du cloud, qui s’occupe de la mise à jour des programmes, des versions et fournit des informations sur la santé de chaque appareil.
- Collecte de données : permet de communiquer avec des machines industriels via des bus de terrain. Par exemple : Modbus ,OPC-UA … et par la suite récupérer les données avec un format adapté ex: JSON , XML.
- Monitoring et supervision : se charge de surveiller la santé des services et de la connectivité, et donc ce composant fait du logging et de la notification.
- Data processing : ce composant s’occupe principalement de faire l’ensemble des traitements de données nécessaires : la préparation, le filtrage, l’agrégation et la validation de la donnée.
- Sécurité et authentification : ce composant assure la sécurité de la chaîne de valeur de la donnée, de l’appareil qui produit de la donnée jusqu’au cloud, avec des mécanismes comme l’authentification et le chiffrement de la donnée en transit et au repos.
D’autres composants pourraient aussi s’ajouter à ceux cités, comme le stockage intermédiaire pour sauvegarder des données si besoin, l’Auto-enregistrement des appareils ( Plug and Play) pour automatiser l’accueil des appareils connecté s,l’Action à distance pour donner des instructions à des appareils à distance, ou le Jumeau numérique (Digital Twin) pour disposer d’une copie numérique de l’appareil réel.
4- Cas d’usage de l’Edge Computing
Le Edge Computing se généralise dans plusieurs domaines et secteurs, par sa capacité à créer une véritable valeur ajoutée en déportant une partie de la prise de décision tout près du lieu de la création de la donnée, c’est-à-dire les objets ou les machines connectés.
Parmi les cas d’usages du Edge Computing les plus pertinents, citons :
- Les capteurs portables, également appelés Wearable, pour suivre la santé et la sécurité des travailleurs. Par exemple, les casques de chantier connectés.
- La maintenance prévisionnelle pour détecter les premiers signes de détérioration des performances et les risques de défaillance.
- L’exploitation des données des capteurs issues des outils et équipements de l’atelier pour améliorer la qualité et le rendement de la production, et en présentant des KPI qui sont directement calculés près de la machine.
- La vidéosurveillance, avec des caméras dotées de capacités de calcul en temps réel accrues pour détecter les objets, les humains ou même pour alerter sur des situations bien définies, par exemple la détection de mouvement.
- Bâtiments intelligents : le Edge Computing permet aux bâtiments de mieux gérer la consommation énergétique mais aussi d’offrir des services enrichis avec l’IA comme la gestion de l’éclairage intelligent.
- Enceintes connectées: la capacité à interpréter les instructions vocales localement afin d’exécuter des commandes de base. Par exemple, allumer ou éteindre les lumières, régler les paramètres du thermostat, et ce même en cas de défaillance de la connexion Internet.
- Conduite de véhicule autonome : la décision de s’arrêter devant un piéton pour un véhicule autonome (AV) doit être prise immédiatement. Compter sur un serveur distant pour gérer cette décision n’est pas envisageable, d’où l’intérêt du Edge Computing qui permettra de prendre des décisions rapidement et avec une faible latence.
5- Hardware du Edge Computing
Le hardware utilisé pour faire le calcul pour le Edge Computing se divise globalement en 3 parties :
Type | Hardware | OS | Langage |
Edge Device | Carte ou appareil électronique à base de microcontrôleur avec des capacités de calcul et de mémoire très réduites. | Sans OS (Bare Metal ) ou bien avec un RTOS type FreeRTOS, QNX, VxWorks …) | C /C++ |
Edge Gateway | Appareil à base de système sur une puce (SoC) basé souvent sur du ARM Cortex-A : exemple RaspberryPI ou bien Jetson nano | Linux Yocto OpenWRT | C / C++ Python GoJava |
PC / Serveur Industriel | Ordinateur basé souvent sur une architecture Intel X86-64 avec des interfaces de communication et une protection hardware respectant des normes industrielles. | Linux Ubuntu Linux Debian Windows 10 IoT | C / C++Python Java NodeJsC # |
Hardware dans le edge computing
6- Framework et solutions Edge Computing
Il existe plusieurs framework et outils qui implémentent les fonctionnalités de l’Edge Computing. En voici quelques-uns :
- EdgeX Foundry : un framework de Edge Computing industriel et open source, conçu et maintenu par Linux Foundation. Au cœur de cette solution se trouve un ensemble de microservices faiblement couplés, organisés en différentes couches.
- Azure IoT Edge:
Azure IoT Edge est un service managé et développé par Microsoft Azure qui implémente les fonctionnalités du Edge Computing. Il permet de déployer les charges de travail Cloud (intelligence artificielle, services Azure, services tiers ou même code propriétaire) pour les exécuter sur des appareils IoT Edge via des conteneurs standard. En déplaçant certaines charges de travail à la périphérie du réseau, les appareils passent moins de temps à communiquer avec le cloud, réagissent plus rapidement aux changements locaux et sont plus fiables, même pendant les longues périodes hors connexion.
Il est composé de 3 modules :
IoT Edge modules : ce sont des conteneurs (compatible Docker) qui lancent des services Azure, des services de sociétés tiers ou du code propriétaire. Ces modules sont déployés au niveau de la machine IoT Edge et exécutés localement sur ces machines.
IoT Edge runtime : une sorte de système d’exploitation qui gère les modules déployés.
Interface Cloud : Interface de management et de monitoring des machines IoT Edge.
Azure IoT Edge
- IoT Greengrass :
AWS IoT Greengrass est un service Cloud open source qui permet de créer, déployer et gérer des logiciels d’appareils Edge. AWS IoT Greengrass est utilisé pour des applications IoT sur des millions d’appareils dans les maisons, les usines, les véhicules et les entreprises.
En implémentant les fonctionnalités du Edge computing, il permet donc d’agir localement sur les données générées par les appareils connectés, exécuter des prédictions basées sur des modèles d’apprentissage automatique, filtrer et agréger les données, et ne transmettre que les informations nécessaires au cloud.
Le diagramme suivant montre comment un appareil AWS IoT Greengrass interagit avec le service cloud AWS IoT Greengrass et d’autres services AWS dans le cloud AWS :
AWS IoT Greengrass
7- Exemple d’implémentation du Edge Computing chez nos clients
Dans le cadre de la transition numérique, l’un de nos clients dans le secteur industriel a souhaité développer une nouvelle solution de gateway intelligente pour apporter des améliorations techniques à l’existan,t et aussi pour introduire des traitements de données dans le Edge.
Devoteam Revolve a donc répondu à ce challenge technique en proposant une solution Hardware open-source avec une couche de sécurité de la donnée de bout en bout, appuyée par les services AWS et une couverture réseau à l’international. La solution permet de faire du traitement de données issues de machines communicantes avec le protocole CAN et aussi de s’interfacer avec des cartes électroniques en 4-20 mA.
La passerelle intelligente permet de faire du traitement de données avancé (filtrage, agrégation, validation) mais aussi de l’alerting et de la configuration à distance, via une interface utilisateur développée spécifiquement pour notre client.
8- References :
Real life use cases for Edge Computing
Edge Computing, an overview of framework and applications
The drivers and benefits of Edge Computing
Présentation du runtime Azure IoT Edge et de son architecture
AWS IoT Greengrass v2 Workshop
Use of Edge Computing for predictive maintenance of industrial electric motors
Livre : IoT and Edge Computing for Architects: Implementing Edge and IoT Systems from Sensors to Clouds with Communication Systems, Analytics, and Security, 2nd Edition Par Perry Lea – ISBN:9781839218873, 1839218878