des objets connectés et des objets intelligents. Ces derniers ne fonctionnent pas seuls mais en synergie avec une plateforme centralisée (désignée par le “cloud”, par opposition à l’“Edge” qui désigne les éléments situés en “périphérie”). Je me propose donc de vous présenter les principes de l’Edge computing en m’appuyant sur une plateforme IoT, qui est la plateforme “classique” sur laquelle les objets connectés et intelligents s’appuient :
Trois éléments sont à considérer plus particulièrement dans le cadre de l’Edge computing :
L’agent Edge est le composant logiciel installé sur les objets connectés qui permet à la fois leur fonctionnement en autonomie ainsi que la collecte des données et leur transmission vers la gateway. Comme nous allons le voir par la suite, cet agent est capable de prendre en charge l’ensemble des problématiques évoquées plus haut.
La gateway est l’élément d’infrastructure permettant l’agrégation des données issues des différents objets connectés et leur transmission vers la plateforme IoT. Ce qui peut être intéressant de noter ici, c’est qu’un agent Edge peut également y être installé : cela va être le cas lorsque l’objet connecté n’est pas en capacité de supporter la complexité de l’agent.
Enfin, lorsque les objets connectés ou la gateway ne sont pas capables de prendre en charge la rupture de protocole, c’est la plateforme IoT qui s’en charge via la fonction d’ingestion. Celle-ci permet alors le traitement des données collectées malgré la diversité de leurs formats d’origine puisqu’elle permet à la plateforme de comprendre les protocoles implémentés nativement sur les objets connectés (MQTT, Zigbee, etc.) en les traduisant dans un standard qui va être compréhensible pour celle-ci.
Quelles sont les fonctionnalités d’un agent Edge ?
Faisons maintenant un zoom sur l’agent Edge qui est principalement responsable de l’ensemble des problématiques à adresser lorsque l’on souhaite rapprocher les traitements de la source de collecte des données.
Je précise que ce que je vais décrire ici s’appuie sur les éléments implémentés par un projet open-source baptisé EdgeXFoundry qui supporte l’ensemble des fonctions que l’on attend d’un agent Edge.
L’ensemble des fonctionnalités offertes par un agent edge peut être représenté par un modèle en couches (similaire au modèle OSI dans le domaine des Réseaux et Télécommunications pour les connaisseurs) dont la clé de lecture est la suivante : plus on monte dans les couches, plus on s’éloigne du matériel pour se rapprocher des services à valeur ajoutée.
Il y a 4 couches de fonctions, complétées par deux couches “transverses” que sont la “Sécurité” et la “Gestion”. Voyons plus précisément quelles fonctions sont offertes et quelles problématiques sont adressées par chacune de ces couches.
Cette couche assure la communication avec les objets connectés, transmet les ordres émis par la plateforme IoT aux objets connectés et traduit les informations générées par ces derniers dans un format compréhensible par la plateforme.
Cette couche permet à l’ « agent Edge » de gérer la diversité des types et modèles d’objets connectés grâce à la prise en charge de nombreux protocoles natifs (MQTT, Zigbee, …).
Cette couche dispose de la connaissance de l’objet sur lequel l’agent est installé, permet le stockage des données qu’il génère et gère les ordres d’actualisation émis par la plateforme.
Les capacités de stockage des données que fournit cette couche permet leur persistance et ouvre donc des possibilités de traitement en mode déconnecté.
Cette couche est celle qui permet l’ « intelligence » de l’agent Edge : gestion des règles métier, alertes et notifications, mais également analyse des données et prise de décisions.
Cette couche exploite les capacités de l’objet connecté pour réaliser les traitements en temps réel et permettre la mise en œuvre de fonctions relatives aux domaines de l’AI et de l’Analytics.
Cette couche fait le lien entre l’objet connecté et le « monde extérieur » puisqu’elle formate les données et permet leur transfert vers la plateforme IoT dans un format qui pourra être exploité par celle-ci voire adapté à des SI externes.
Cette couche prend en charge les aspects de compression et/ou de filtrage afin de garantir un transfert optimisé des données vers le cloud.
Cette couche assure l’authentification des objets connectés à la plateforme ainsi que l’intégrité et le chiffrement des données qu’ils lui envoient.
L’implémentation de cette couche permet un premier niveau de protection des données au plus près de la source, sur des équipements moins protégés nativement.
Cette couche fournit toutes les fonctionnalités qui permettent à l’agent de fonctionner : déploiement, démarrage/arrêt, supervision. Il peut également gérer les fonctionnalités d’enrôlement de l’objet connecté.
Cette couche met à disposition les fonctionnalités de gestion du parc des objets connectés pour avoir une vue d’ensemble de leur fonctionnement et de leur état de « santé ».
Quelle synergie entre l’Edge et le Cloud ?
Vous l’aurez compris, l’agent Edge rassemble l’ensemble des fonctions qui permettent à l’objet connecté ou intelligent de collecter toute information utile, issue de sa perception de l’environnement, et d’agir en conséquence. Néanmoins, une question subsiste : quelles règles suit-il lorsqu’il agit ?
En fait, son comportement est régi par des modèles (“si tu perçois X, alors déduis-en que tu es dans la situation Y, et déclenche l’action Z”) qui ont été élaborés au sein du “cloud”.
Plus précisément, il y a une véritable répartition des rôles entre le cloud et l’Edge qui contribue à une “amélioration continue” du système global en tirant profit des capacités de chacun :
Si je reprends l’exemple des caméras d’Alarmcorp, cela donne :
Ce qu’il faut bien comprendre, c’est que si ce couple peut bien fonctionner, c’est notamment en raison des capacités offertes par l’agent Edge. En effet, lorsqu’il est correctement implémenté, celui-ci :
Conclusion
Si un collègue et/ou ami vous demande de lui définir ce qu’est l’Edge computing en quelques phrases, dites-lui ceci :