# Fog computing

Le fog computing, l'informatique géodistribuée, l'informatique en brouillard, ou encore l'infonébulisation, consiste à exploiter des applications et des infrastructures de traitement et de stockage de proximité, servant d'intermédiaire entre des objets connectés et une architecture informatique en nuage classique.
Le but est d'optimiser les communications entre un grand nombre d'objets connectés et des services de traitement distants, en tenant compte d'une part des volumes de données considérables engendrés par ce type d'architecture (mégadonnées) et d'autre part de la variabilité de la latence dans un réseau distribué, tout en donnant un meilleur contrôle sur les données transmises.

## Origine

Dès 2012, le concept de l'informatique en brouillard a émergé d'une généralisation des idées de l'informatique en nuage à la périphérie des réseaux, notamment pour répondre aux besoins de performances liés à l'utilisation d'un grand nombre de capteurs ou d'objets connectés dans un contexte de traitement en temps réel.
En novembre 2015, le consortium OpenFog est créé, sous l'impulsion de ARM, Cisco, Intel, Microsoft, et l'Université de Princeton (membres fondateurs). Ce consortium, qui compte 62 membres (sociétés industrielles et universités) en avril 2018, a pour but de définir un cadre architectural et des standards ouverts pour l'informatique en brouillard, afin de faciliter l'interopérabilité de ses composantes et la mise à l'échelle des capacités géodistribuées. Le 31 janvier 2019 le consortium fusionne avec l'Industrial Internet Consortium qui intègre le fog avec ses autres initiatives.

## Caractéristiques

La norme IEEE définit le « fog computing » comme « une architecture horizontale au niveau du système qui distribue les ressources et les services de calcul, de stockage, de contrôle et de mise en réseau à travers tout le continuum cloud-objets ».
Cette informatique géodistribuée se caractérise en général par:
* la mise en œuvre d'un grand nombre de capteurs intelligents ou d'objets connectés,
* l'utilisation de l'informatique en nuage,
* des volumes de données importants à traiter,
* une sensibilité à la latence des communications dans le réseau,
* une large distribution géographique des objets connectés et/ou la prise en compte de leur localisation,
* une hétérogénéité des équipements,
* l'utilisation de réseaux sans-fils et/ou d'équipements mobiles.
Outre la décentralisation des traitements et l'optimisation des communications, l'informatique géodistribuée permet un meilleur contrôle des équipements, des flux d'informations et des services deployés et une meilleure sécurité$^,$.

## Comparaison avec des concepts voisins

L'informatique géodistribuée (« fog computing ») et l'informatique en périphérie (« edge computing ») ont beaucoup de similarités : les deux concepts décentralisent les données et distribuent les traitements avec des technologies réseau similaires. La différence principale est que l' « edge computing » tend a décentraliser les traitements le plus possible sur les équipements à la périphérie des réseaux, c'est-à-dire les ordinateurs auxquels sont reliés les capteurs, alors que l'informatique géodistribuée cherche à distribuer les traitements sur des unités du réseau local, en utilisant des stratégies d'agrégation de données intermédiaires lorsque c'est nécessaire$^,$.