¿Qué es Fog Computing y en qué se diferencia del Edge Computing?
El concepto Fog Computing se refiere a una estructura de red descentralizada en la que los recursos, incluyendo datos y aplicaciones, se sitúan en algún lugar lógico entre tu Servidor Cloud y la fuente que genera los datos.
Esto quiere decir que es posible llevar los servicios que analizan dichos datos más cerca de ese origen, lo que permite mejorar las prestaciones globales, reducir la distancia que recorren los datos en la red, y conseguir una mayor eficiencia. Puede parecer que estamos hablando de Edge Computing, pero existen diferencias entre ambos conceptos. Las veremos más adelante en el artículo.
El Fog Computing surge como una extensión natural del Cloud Computing y sigue la analogía planteada por la Nube (un paradigma en el que tenemos los datos, el almacenamiento y las aplicaciones en un servidor distante y no en local). De esta manera, la Niebla se asimila a una «nube que se acerca a la tierra».
Ventajas del concepto Fog Computing
La principal ventaja del Fog Computing es crear una red con menor latencia y con una menor carga de datos hacia la Nube. Esto se traduce en menores requisitos de ancho de banda, y menores costes por ese lado. Esto se consigue gracias a ese procesamiento cercano al origen de los datos. Además, este procesamiento se realiza en situaciones de ausencia puntual de ancho de banda o con restricciones de este. Se puede decir que Fog Computing es un intermediario entre la infraestructura Cloud y los dispositivos IoT. Al hacer parte del procesamiento cerca del origen, se hace un filtrado previo de qué datos se enviarán a la Nube.
Precisamente, esa capacidad de filtrar los datos que se enviarán a la Nube es, prácticamente, la razón de ser del Fog Computing. Si nos fijamos en el modelo de Cloud, vemos que su viabilidad depende enteramente del transporte de los datos. Si nos encontramos en ciudades o en polígonos industriales bien conectados, el ancho de banda no es problema. Ya sea a través de fibra óptica o mediante redes 4G, la comunicación es posible.
Pero si no disponemos de dichas infraestructuras, o bien si se da alguna situación de baja accesibilidad, de congestión máxima o que se impongan, por algún motivo, las velocidades más bajas en las redes móviles 3G y 4G móviles, tenemos un problema.
En todos esos casos, el balance entre la tasa de generación de datos y la tasa de envío de estos se vuelve negativo: se generan más datos de los que se pueden transportar. Al acercar la inteligencia al origen de los datos, estos se pueden procesar en un dispositivo inteligente y solo los datos necesarios se transmiten a la nube, disminuyendo el ancho de banda utilizado.
Ejemplo de aplicación del Fog Computing
Para ilustrar mejor en qué consiste Fog Computing y sus ventajas, hablaremos de los Sistemas de Transporte Inteligentes (en inglés, Intelligent Transport Systems, o ITS). Estos son aplicaciones avanzadas cuyo objetivo es proporcionar servicios innovadores relacionados con los diferentes medios y modos de transporte y gestión del tráfico. Además, permiten a los usuarios estar mejor informados y hacer un uso más seguro, más coordinado e inteligente de las redes de transporte.
En las Smart Cities, la infraestructura de tráfico puede ser conectada a través de una red WiFi o bien a través de redes celulares (de telefonía). Aprovechando ese tipo de configuración de datos, es posible configurar pequeñas «nubes locales» en las torres de telefonía (o en los routers WiFi, según el caso) que analicen los datos de tráfico y todos los datos agregados que llegan desde diferentes puntos de la infraestructura. Esos pequeños centros de datos son, en esencia, la «niebla» de la que hablamos.
Diferencia entre Edge y Fog Computing
Al inicio del artículo comentamos que, a pesar de que parecen ser lo mismo, existen diferencias fundamentales entre Edge Computing y Fog Computing que justifican su existencia por separado. Existe un artículo de Automation Weekly (2016), en el que se definen ambos conceptos de una manera muy concreta:
- Fog Computing lleva la inteligencia al nivel de red de área local de la arquitectura de red, procesando datos en un nodo de niebla o puerta de enlace IoT.
- Edge Computing redes lleva la inteligencia, la potencia de procesamiento y las capacidades de comunicación de un gateway o de un dispositivo a los propios dispositivos.
Volviendo al ejemplo de los Sistemas de Transporte Inteligentes, Edge Computing es implementar la inteligencia en los sistemas hardware individuales, como pueden ser diferentes sensores ambientales, controladores (semáforos, por ejemplo) y demás. Al hacer esto se realiza un primer filtro de datos, eliminando datos redundantes, ruido o, por ejemplo, falsos positivos en el caso de ciertos sensores. Aquí ya se está reduciendo la cantidad de datos que se transmiten a la red, pero sobre todo se reduce la latencia. Esta reducción tan grande en la latencia permite desarrollar sistemas que reaccionen a cambios en el tráfico sin retardos, lo que posibilita la existencia de sistemas tan complejos y con requisitos de seguridad tan críticos como los coches autónomos.