Fog computing : approche décentralisée des clouds IdO
L’IdO Internet des Objets transforme le paysage informatique mondial. Encore plus que la mise en réseau des objets du quotidien, ce qu’on appelle l’usine intelligente (Smart Factory) présente de nouveaux défis pour les architectures cloud conventionnelles. Dans le cadre de l’Industrie du futur l’IdO devient une technologie clé pour les installations industrielles. « L’usine intelligente » fait partie de la Stratégie HighTech du gouvernement. La vision : des systèmes de production et des systèmes logistiques qui communiquent sans intervention humaine et organisent les processus de travail de manière autonome.
Cependant, une infrastructure adéquate n’est actuellement disponible que dans les agglomérations urbaines. Les entreprises des zones rurales n’ont pas accès à des réseaux suffisamment performants. Le déploiement du Très Haut Débit en France est documenté par la carte de progression maintenue par le Plan France Très Haut Débit du gouvernement. Le problème : si l’on développe le concept d’Usine Intelligente jusqu’au bout et de manière consistante, une installation industrielle entièrement en réseau pourrait générer plusieurs centaines de giga-octets de données chaque jour. Ce sont des volumes de données qui ne peuvent actuellement être ni téléchargés sans fil vers le cloud, ni traités de manière centralisée en l’état de l’art actuel des technologies.
Des solutions à ces problèmes de mise en œuvre de l’IdO sont développées dans le cadre du fog computing.
Qu’est-ce que le fog computing ? Définition
On désigne par « fog computing » une technologie cloud dans laquelle les données générées par les terminaux ne sont pas directement téléchargées dans le cloud, mais sont au préalable prétraitées dans des mini-centres de calcul décentralisés. Le concept inclut une structure réseau qui s’étend des points les plus périphériques du réseau, où les données sont générées par des dispositifs et objets connectés, jusqu’au terminal de données central dans le cloud public ou dans un centre de données privé (cloud privé).
Dans le jargon informatique, la périphérie du réseau est appelée « edge » (terme anglais signifiant bord). Un instrument situé à la périphérie du réseau (tel qu’un capteur dans une unité de production) est appelé dispositif périphérique.
Le concept marketing « fog computing » remonte à la société de technologie américaine Cisco, l’un des principaux fournisseurs de solutions réseau. Le terme est une métaphore parlante, car ce n’est finalement qu’en fonction de l’altitude à laquelle on se situe qu’on appelle une accumulation de fines gouttelettes d’eau soit du brouillard (fog en anglais), soit un nuage (« cloud » en anglais). En termes d’architecture informatique, le fog computing ramène les processus de traitement de données au niveau du sol. Cela se fait avec ce qu’on appelle des nœuds ou fog nodes, c’est-à-dire des nœuds de calcul qui servent d’intermédiaire entre le cloud et de nombreux périphériques IdO.
Le « fogging » (on trouve également les termes de fog networking ou de edge computing), comme on l’appelle, vise à raccourcir les voies de communication et à réduire le débit de données sur des réseaux tiers. Les fog nodes forment une couche intermédiaire dans le réseau, qui détermine les données à traiter localement et celles transmises au cloud ou à un centre de données central en vue d’une analyse ou d’un traitement ultérieur.
La figure suivante montre une représentation schématique des trois couches d’une architecture de fog computing :
- Couche périphérique (edge layer) : la couche périphérique comprend tous les dispositifs « intelligents » (dispositifs périphériques) d’une architecture IdO. Les données générées au niveau de la couche périphérique sont soit traitées directement sur le périphérique, soit transmises à un serveur (fog node) de la couche fog.
- Couche fog (fog layer) : la couche fog comprend un certain nombre de serveurs performants qui reçoivent les données de la couche périphériques, les prétraitent, et les téléchargent dans le cloud si nécessaire.
- Couche cloud (cloud layer) : la couche cloud est le terminal de données central d’une architecture de cloud computing.
Une architecture de référence pour les systèmes fog a été développée dans le cadre du consortium Openfog.
Le Consortium Openfog a été lancé en 2015 par Cisco Systems, Intel, Microsoft, ARM Holdings et l’Université de Princeton. C’est une association ouverte entre milieux industriels et scientifiques. L’initiative vise à normaliser les technologies informatiques liées au fog computing et regroupe aujourd’hui 57 entreprises de haute technologie et établissements universitaires.
Différenciation avec le cloud-computing
Le fog computing se distingue avant tout du cloud computing par le lieu où les ressources sont mises à disposition et où les données sont traitées. Le cloud computing se fait généralement dans des centres de données centralisés. Des ressources comme la puissance de traitement ou la capacité de stockage sont regroupées au niveau de serveurs principaux et utilisées par les clients via le réseau. La communication entre deux périphériques ou plus s’effectue donc toujours via un serveur en arrière-plan.
Une telle architecture atteint ses limites avec des concepts tels que « l’usine intelligente », où les données doivent être échangées en permanence entre d’innombrables terminaux. Le fog computing recourt ici à un traitement intermédiaire proche de la source de données, afin de réduire le débit de données vers le centre de calcul.
Différenciation avec le edge-computing)
Le débit de données des architectures IdO à grande échelle n’est pas le seul inconvénient du cloud computing, il y a aussi le problème de la latence. Le traitement de données centralisé est à chaque fois associé au retard dû à des chemins de transmission longs. Les terminaux et les capteurs doivent toujours s’adresser au serveur du centre de calcul pour communiquer entre eux, attendre le traitement externe de la demande ainsi que la réponse. Ces délais dus à la latence deviennent un problème, notamment dans les processus de fabrication basés sur l’IdO, pour lesquels il faut assurer le traitement de l’information en temps réel, afin que les machines puissent réagir immédiatement aux incidents.
Le Edge-computing propose une solution à ce problème de latence. C’est un concept qui, dans le cadre du fog computing, propose un traitement des données non seulement décentralisé, mais directement dans le terminal et donc à la périphérie (edge) du réseau. Chaque « dispositif intelligent » est équipé de son propre microcontrôleur permettant le traitement de données de base et la communication avec d’autres appareils et capteurs de l’IdO.
Le fog computing en pratique
L’IdO d’aujourd’hui ne peut être comparé à celui de demain. Dès 2020, l’Internet des objets comportera environ 50 milliards d’appareils, d’après une étude de Cisco. Cela impliquera une croissance considérable du volume de données à stocker, analyser et traiter.
L’usine intelligente est loin d’être le seul domaine où le fog computing peut aider à alléger cette charge. D’autres projets futurs, tels que les voitures connectées (voitures semi-autonomes ou autonomes) ou la ville en réseau dotée de réseaux de distribution intelligents, nécessitent une analyse des données en temps réel. Cela ne peut pas être mis en œuvre avec le cloud computing classique. Par exemple, un véhicule intelligent collecte des données sur l’environnement, les conditions de conduite et les conditions de circulation, qui doivent être évaluées sans latence afin que les réactions à des incidents imprévisibles puissent également être prises en temps voulu. Dans un tel scénario, le fog computing permet le traitement des données du véhicule aussi bien à bord du véhicule que chez le fournisseur de service.
Vue d’ensemble des avantages et inconvénients
Le fog computing offre des solutions à divers problèmes des infrastructures informatiques de type cloud. L’accent est mis sur les approches qui promettent des voies de communication courtes et minimisent le téléchargement vers le cloud. Le traitement décentralisé en périphérie du réseau présente également des inconvénients. Ceux-ci sont avant tout le fait des coûts de maintenance et d’administration d’un système distribué.
Tableau : Avantages et inconvénients d’une architecture fog computing
Avantages | Inconvénients |
---|---|
✔ Moins de trafic réseau : le fog computing réduit le trafic entre les dispositifs IdO et le cloud. | ✘Coûts de matériel plus élevés : les terminaux et capteurs IdO de l’architecture fog computing doivent être équipés d’une unité de traitement supplémentaire pour permettre le traitement de données local et la communication entre appareils. |
✔ Réduction des coûts liés à l’utilisation de réseaux tiers : les opérateurs de réseau font payer cher le téléchargement rapide vers le cloud ; une partie de ces coûts peut être économisée grâce au fog computing. | ✘ Faible protection contre les pannes ou les abus : les entreprises qui ont recours au fog computing doivent équiper les appareils et les capteurs IdO de contrôleurs situés à la périphérie du réseau, p.ex. dans des installations de production qui sont difficiles à protéger contre les défaillances ou une mauvaise utilisation. |
✔ Disponibilité hors ligne : les appareils IdO sont également disponibles hors ligne quand ils sont intégrés dans une architecture de fog computing. | ✘ Augmentation des besoins de maintenance : le traitement décentralisé des données implique des besoins accrus de maintenance. La raison en est que les contrôleurs et les éléments de stockage sont répartis sur l’ensemble du réseau et que, contrairement aux solutions cloud, ils ne peuvent être ni maintenus ni administrés de manière centralisée. |
✔ Latence réduite : le fog computing raccourcit les voies de communication et accélère ainsi les processus automatisés d’analyse et de décision. | ✘ Défis supplémentaires en sécurité réseau : le fog computing est sensible aux attaques de type « homme du milieu » (ou intercepteur) |
✔ Sécurité des données : quand on a recours au fog computing, le prétraitement des données de l’appareil a lieu sur le réseau local. Cela permet une implémentation dans laquelle les données sensibles restent dans l’entreprise ou peuvent être cryptées ou rendues anonymes avant d’être téléchargées sur le cloud. |
Perspectives : fog computing et communications mobiles 5G
D’ici 2020 au plus tard, la nouvelle norme de communication mobile 5G doit être déployée à l’échelle européenne, avec des vitesses de téléchargement allant jusqu’à 10Gbit/s. Les experts s’attendent à une croissance exorbitante du volume des données, en particulier dans le champ professionnel. Avec la 5G, la bande passante et la vitesse de transfert de données mobiles augmentent énormément, ouvrant des possibilités d’applications totalement nouvelles dans l’industrie et le secteur des services. La 5G promet aux utilisateurs une latence inférieure à la milliseconde. Avec les technologies cloud actuelles, on ne peut cependant pas tirer profit de manière efficace des avantages du nouveau standard mobile. Cela s’explique notamment par le nombre de sauts nécessaires à un paquet de données, de la source à la destination dans le cloud. De ce fait, le téléchargement direct de données dans le nuage ne convient pas aux applications nécessitant un traitement de données en temps réel.
On désigne par le terme de saut (hop) le chemin d’un paquet de données d’un nœud de réseau à un autre. Plus un paquet de données passe par un nombre important de nœuds de réseau (on parle de « nombre de sauts »), plus le délai (la latence) de la transmission de données est important.
Le fog computing se présente ici comme une approche permettant de rendre la 5G utilisable pour l’industrie. Un système de fog distribué fournit une puissance de traitement et une capacité de stockage à la périphérie du réseau. Cela permet aux données générées par les applications de l’entreprise d’être évaluées localement, sélectionnées et agrégées pour le cloud. Cela garantit par ailleurs que les résultats importants, tels que l’ordre d’arrêt d’urgence d’une unité de production, sont renvoyés en temps réel. Ne sont renvoyées dans le cloud que les données qui ne peuvent pas (ou difficilement) être évaluées localement, ou qui nécessitent une analyse plus détaillée. Par exemple, des valeurs de mesure inattendues indiquant une maintenance nécessaire de la machine en question.