El término “Fog Computing” (computación en la niebla) parte de la bien conocida estructura “Cloud” (nube) y empieza a desarrollarse en paralelo con la expansión del IoT (Internet of Things) e IoE (Internet of Everything) y el despliegue masivo de dispositivos conectados a la red. Si el concepto Cloud Cumputing se refería a la distribución y uso de servicios en una red (usualmente Internet), Fog es un paradigma que intenta llevar datos y servicios lo más cerca posible de los usuarios que los necesitan, siendo ese lugar lo que se denomina “borde de la red” y que podríamos decir que es la zona comprendida entre los propios dispositivos de usuario y sus conexiones a la red.
Fog Computing, también llamado Fogging por algunos autores, se define como una arquitectura TIC basada en el uso colaborativo de dispositivos de usuario conectados a la red que soporten funcionalidades completas de almacenamiento, configuración, gestión, etc.
Por lo tanto Fog Computing es un modelo de arquitectura en el que los datos, los servicios y las aplicaciones se concentran en diversos dispositivos al borde de la red (los datos pueden ser procesados localmente en un dispositivo inteligente en lugar de ser enviados a través de la red). De esta manera el trasiego de datos a través de la red, el almacenamiento masivamente distribuido, las necesidades de gestión de red, etc. se reducen drásticamente respecto del modelo Cloud acercando al borde de la red, los servicios y datos usados en ese entorno Fog.
La arquitectura Fog se estructura a partir de una capa con dos componentes de soporte separados y bien definidos denominados Plano de datos y Plano de Control.
Plano de datos y Plano de Control
El plano de datos se encarga de tareas tales como:
- Gestión local de contenidos y ancho de banda.
- Cache en el borde de la red.
- Comunicaciones directas cliente-Cliente (como FlashLinQ, LTE Direct, WiFi, Direct, Air Drop).
- Definición y soporte de Cloudets (clouds de pequeña escala en movilidad y al borde de la red).
Por su parte el plano de control (menos desarrollado hasta el momento) se encarga de tareas tales como:
- Gestión de contenidos Over the Top (OTT).
- Fog-RAN o acceso por radiofrecuencia
- Control de redes heterogéneas (HetNets) basado en el cliente.
- Almacenamiento en la nube controlado por el cliente.
- Gestión de sesiones y señalización en el borde.
En términos de características el objetivo del paradigma Fog Computing es ofrecer, por ejemplo:
- Ubicación de datos y aplicaciones en el borde de la red y su acceso con latencias pequeñas.
- Computación y almacenamiento distribuidos.
- Despliegue con gran número de nodos y con muy alta distribución geográfica.
- Soporte a la movilidad.
- Comunicaciones y aplicaciones de tiempo real.
- Acceso inalámbrico mayoritario.
- Soporte y gestión de una red de naturaleza heterogénea (dispositivos, datos, aplicaciones, etc).
- Interoperabilidad y federación (proveedores).
- Interacción con los sistemas de cloud.
Aunque nos enfrentamos a una arquitectura incipiente, ya se están realizando despliegues para soportar servicios y aplicaciones en ámbitos tan dispares como ciudades digitales, redes vehiculares, sistemas de IoT y M2M, Smart Grids, etc. lo que hace suponer que su desarrollo va a continuar en el futuro próximo.