Edge/Fog Computing: del Cloud hacia la computación en los dispositivos
En los últimos tiempos se habla mucho de la expansión de los dispositivos conectados, el internet de las cosas (IoT), las redes 5G o la Industria 4.0, así como su relación con el Cloud y el Big Data. Muchas empresas tratan de dar solución a esta deslocalización del origen de los datos en cada uno de esos sectores, y para ello acaban encontrándose con los conceptos de Fog computing y sobre todo de Edge Computing. Sin embargo no siempre queda clara la diferencia y sobre todo cómo implementar una arquitectura o solución integral que sea escalable, resiliente y segura desde el punto de vista de los servicios e infraestructuras.
Con el avance de la tecnología todos los sectores productivos han sufrido un crecimiento explosivo de las comunicaciones móviles. La irrupción en el mercado de los dispositivos conectados como smartphones, tablets, sensores o dispositivos inteligentes (smart), con una alta capacidad para el consumo y la producción de datos ha multiplicado las necesidades de ancho de banda en las redes. Según la GSMA Alliance la proporción de la población mundial con acceso a las telecomunicaciones móviles ha pasado de un 20% en la década pasada a un 63% en 2016 y alcanzará el 71% en 2025 lo que da una muestra de la popularización y democratización de esta tecnología. Esta tendencia se verá claramente impulsada por la extensión y popularización de IoT y la comunicación entre máquinas (Machine-Type Communications o MTC), que promete dejar atrás el crecimiento impulsado por los dispositivos móviles para alcanzar los 24 billones, con B, de conexiones para 2025 y multiplicando por 8 el tráfico de datos antes de 2020[1], además estas aplicaciones requerirán de servicios de baja latencia al extenderse a servicios e infraestructuras críticas, como en el caso del coche conectado o la producción de energía.
Cloud computing vs Fog computing vs Edge computing
Tradicionalmente los dispositivos conectados se limitaban al envío de datos a la nube para ser procesados por ésta, sin embargo estos cada vez poseen mayor capacidad de cómputo debido principalmente al abaratamiento de la misma y a la mejora de la eficiencia energética que ofrece el hardware más moderno. Este crecimiento en las capacidades computacionales de dispositivos y sistemas que tradicionalmente no tenían acceso a ellas contribuye no solo al aumento del consumo y generación de datos, sino también a la aparición de nuevos modelos de computación que sacan partido de estas nuevas capacidades de los dispositivos extendidos por toda la red.
Cloud Layer
Actualmente, el coste computacional requerido por el análisis de los datos generados por las redes de sensores IoT o las aplicaciones de los populares dispositivos móviles es absorbido por los servicios Cloud. El análisis de Big Data y las capacidades que ofrecen en múltiples ocasiones las aplicaciones disponibles para smartphones y tablets, superan con creces las capacidades de estos dispositivos, bien sea en términos de capacidad de cómputo, de memoria o de almacenamiento.
Las plataformas cloud tradicionales disponen de servidores agrupados en grandes centros de datos que ponen al servicio de usuarios y desarrolladores, no solo la potencia, sino también la adaptabilidad, flexibilidad y escalabilidad características de la computación Cloud a entornos en los que, por limitaciones técnicas, no sería posible ofrecer. Sin embargo, el uso de centros de datos, normalmente alejados tanto geográficamente como en términos de red de los dispositivos que hacen uso de los servicios, junto con la expansión y popularización de estos mismos, provoca desde latencias altas en la comunicación de los datos hasta sobrecargas de la red convirtiendo a esta infraestructura de comunicación en el cuello de botella de las aplicaciones basadas en cloud.
Es por ello que el uso de los servicios cloud no resulta adecuado para aquellos casos en los que el procesado de los datos tenga unos requisitos temporales fuertes, como puede ser la detección de alarmas en una fábrica o la gestión de la conducción de un vehículo autónomo.
Fog Layer
En contraposición con la infraestructura cloud tradicional, basada en grandes centros de datos que centralizan el poder computacional, otros paradigmas como Fog Computing proponen la distribución de esta capacidad de cómputo hacia los extremos de la red. Este paradigma busca solventar los problemas de comunicación de datos entre los dispositivos generadores y consumidores de los mismos al acercar los centros de procesado y análisis de datos hacia ellos, reduciendo de esta forma la latencia y el uso de la infraestructura de red, con lo que se mejora la experiencia del usuario y el rendimiento de las aplicaciones que hacen uso de recursos computacionales externos. Este concepto fue originalmente propuesto por Cisco como una arquitectura cloud distribuida y alejada de los datacenters centralizados mediante un gran número de nodos distribuidos por la red. Al ofrecer recursos cloud distribuidos hasta el borde de la red, todo el tráfico generado por el acceso a los servicios cloud no necesita atravesar toda la red para acceder a los recursos.
Sin embargo esta nueva arquitectura no se plantea como un sustituto de las infraestructuras Cloud tradicionales, si no como una extensión de las mismas, la potencia de cómputo, la versatilidad y las capacidades de compartición de recursos que ofrece un centro de datos cloud seguirá siendo imprescindible para muchas aplicaciones. Pero aquellas aplicaciones que requieran del procesado de datos en tiempo real (real-time) que permitan responder con inmediatez a determinados eventos, o que por sus características demanden un gran consumo de ancho de banda, podrán sacar partido de la cercanía y baja latencia que ofrece un paradigma como Fog Computing para parte de sus necesidades o la totalidad de las mismas. Además, aquellos servicios e infraestructuras críticas se beneficiarán de la seguridad y resiliencia que ofrece, de forma natural, una arquitectura distribuida.
Edge Layer
Se habla de Edge Computing en referencia a una infraestructura, que se puede entender como un caso específico de Fog Computing. Un escenario típico puede ser el caso de uso de Internet of Things (IoT) en el que los nodos de computación se necesitan estar físicamente cerca de las fuentes de datos, como un robot industrial o un sensor de presión de un tanque de combustible o un indicador de consumo de la red eléctrica. En general se puede definir un nodo de computación Edge como un hardware con capacidad de cómputo situado físicamente cerca de los dispositivos o equipos que hacen uso de sus recursos, bien sea en la propia maquinaria, en una planta de producción o en un almacén. Esto permite no solo habilitar el procesado, o preprocesado, de los datos en la propia fuente de los mismos, si no que se puede mantener un sistema total o parcialmente operativo aún en caso de que las comunicaciones de red hayan sido interrumpidas.
Este tipo de arquitectura resulta especialmente útil en escenarios en los que la latencia deba ser críticamente baja o en aquellos en los que el envío de todos los datos generados a un entorno cloud a través de la red no es práctica, posible o segura. Podemos pensar, como ejemplos de estos entornos, en la conducción autónoma, un entorno aislado con conectividad reducida como un avión o un dron, una instalación petrolífera marítima o una infraestructura crítica que deba seguir operativa ante catástrofes naturales o provocadas por el hombre cómo puede ser la red eléctrica de un país.
Algunos casos de uso
Esta nueva forma de organizar la capacidad de cómputo en la red proporcionará mejoras significativas en múltiples servicios y aspectos, además de habilitar las redes para soportar nuevos servicios y tecnologías que llegarán con la industria 4.0, el Cloud-IoT, como las smart cities, el coche conectado, la conducción autónoma o la energía inteligente.
La mejora del rendimiento de la red en el acceso a los recursos cloud por parte de los dispositivos conectados mejorará la capacidad de los mismos para el uso de recursos computacionales o de almacenamiento en aplicaciones más exigentes, como la realidad aumentada (AR) o los juegos móviles (Mobile Gaming) con mayor calidad y en tiempo real, reduciendo en el proceso el consumo energético de la red y de los dispositivos.
5G
El aumento explosivo de la demanda de ancho de banda por parte de los cada vez más dispositivos conectados a las redes móviles impone numerosos retos para los proveedores de servicios y operadores, que deberán impulsar la implantación de las tecnologías 5G para satisfacer las demandas de sus usuarios. En esta expansión de las redes 5G y los servicios relacionados, el concepto de Mobile Edge Computing ha cobrado gran relevancia en los últimos años. Este término se refiere a un tipo de arquitectura en la que los nodos de computación se colocan en los puntos de acceso radio de la red móvil (RAN), por lo que se encuadra también dentro de las arquitecturas de computación distribuidas como Fog Computing y Edge Computing. Además de permitir ofrecer un acceso de gran ancho de banda y baja latencia a la computación cloud para los dispositivos móviles, colocando los nodos de computación en el último paso de la red que no se encuentra limitado por el consumo energético y la autonomía, también habilita a los puntos de acceso radio con capacidades de computación cloud.
La virtualización de funciones de red o NFV permite a los operadores de red desacoplar las funciones de gestión del hardware de red, al ejecutar estas funciones como un servicio software. Al integrar bajo la misma infraestructura, los recursos de red y de tecnologías de la información (IT), se mejora la gestión del ciclo de vida y orquestación de las funciones de red virtualizadas (VNFs). Y se ofrecen capacidades de orquestación de los recursos físicos y virtuales de la infraestructura NFV (NFVI), que reciben el nombre de NFV MANO. Estas constituyen un elemento indispensable para ofrecer una plataforma radio, no solo con la flexibilidad inherente al escalado de recursos, sino también con capacidades multi-service y multi-tenancy para que terceras empresas u operadoras[2] puedan sacar partido de la misma.
En Gradiant se han llevado a cabo proyectos que ponen el foco precisamente en la gestión y optimización de estas plataformas, y en especial de las comunicaciones, y de la computación como en los proyectos ITBox y OPTICON. En ellos se utilizan tecnologías tales como Docker, Openstack, Ansible facilitando a empresas Telco u otras despliegues de herramientas como OpenMANO, Cloudify, OpenDayLight, Neutron, Openflow así como el uso del paradigma DevOps, plataformas de integración continua, backup, monitorización o autoescalado para sus servicios. Esta capacidad habilita a las operadoras, tanto las virtuales como las que no lo son, para el uso de múltiples infraestructuras físicas de forma flexible, al separar la capa de gestión de red del hardware que la subyace.
Video
Uno de los contenidos más populares en las redes, y de los que más contribuye al consumo de ancho de banda, es el de vídeo. Con el auge de las nuevas redes sociales y plataformas de streaming, el consumo de contenidos multimedia ha establecido el paradigma de vídeo bajo demanda (VOD) y ha comenzado a centrarse en el consumo de contenidos en tiempo real, que además pueden ser generados por cualquier usuario desde su dispositivo móvil, por lo que las redes de distribución de contenidos (CDN) deben enfrentarse a un entorno de distribución de arriba a abajo (top-down) y de abajo a arriba (down-top). El uso de recursos presentes en puntos cercanos de la red permite un mejor aprovechamiento del ancho de banda en estos escenarios, combinando mejores estrategias de distribución con la posibilidad de utilizar codificaciones más eficientes pero con mayor coste computacional, que puede ser realizado desde estos puntos de computación intermedios hacia el Cloud. Este enfoque explotado por Gradiant en varios proyectos, como BYOPAD, con el objetivo de reducir el tráfico multimedia en los entornos hospitalarios, el proyecto plantea la transcodificación de los contenidos cerca de las fuentes mediante un cluster de equipos Raspberry Pi y su distribución mediante el protocolo HLS a los hospitales conectados usando una red de proxies localizados en cada hospital. Esta red permite reducir el ancho de banda consumido al redistribuir de forma autónoma estos contenidos dentro del propio hospital, evitando sobrecargar los sistemas exteriores al mismo.
Cloud-IoT y Big Data
Unas de las tecnologías que más contribuyen al cambio de paradigma en las redes en cuanto al consumo y producción de datos son el IoT y el Big Data. Aunque el término Big Data engloba un campo mucho más amplio del procesado de datos, su relación con el IoT es clave, pues sin las tecnologías que permiten el análisis masivo de datos las capacidades de generación de datos de estos dispositivos serían inútiles.
Las redes IoT serán la base de muchas de las revoluciones tecnológicas que están por venir y que se basan en la generación de datos mediante este tipo de dispositivos para mejorar la eficiencia, el control y la monitorización de las infraestructuras que dan soporte a las sociedades modernas. El ámbito de las Smart Cities es una de estas infraestructuras; la seguridad pública basada en el análisis de video y la visión artificial (Video Analytics & Computer Vision), el transporte inteligente mediante el uso datos geolocalizados (GeoData), las redes de energía inteligentes (Smart Grids) o las comunicaciones car-to-car y car-to infraestructure, así como la conducción autónoma generan una enorme cantidad de datos forma localizada y requieren de una rápida respuesta para ser útiles o por motivos de seguridad.
Con este nuevo modo de organizar los recursos de computación, las redes Cloud-IoT tendrán a su disposición una gran cantidad de recursos, que les permitirá dotarse de mayor inteligencia, al ser capaces de realizar análisis o preanálisis de los datos producidos en tiempo real, sin necesidad de que estos datos alcancen el centro de procesado de datos en el Cloud. Esto mejorará, no solo su capacidad de análisis y respuesta, sino también su seguridad y resiliencia, al depender menos de una infraestructura externa como es la conectividad de red. Esta es una característica crítica para que estas tecnologías penetren en sectores tradicionalmente vetados a ellas debido a restricciones de seguridad, privacidad o limitaciones en el acceso a la red. Un ejemplo claro de estos sectores es el pesquero, donde Gradiant ha desarrollado una plataforma Cloud-IoT y Big Data para la realización de Data analytics sobre sensores y concentradores situados en barcos y artes de pesca, llamada SMARNET. En estos proyectos Gradiant utiliza para el desarrollo de este tipo de plataformas entre otras tecnologías Kafka, Spark, Flink, Fiware, Graphite, ELK & TICK stack.
Industria 4.0
En la transición a la llamada Industria 4.0, hay que resolver algunas problemáticas, como la mejora de la visualización de los datos y su inmediatez, la relación de la información de diferentes sistemas no conectados, reducción del coste y tiempos así como la mejora o implantación de nuevos servicios y sistemas que cumplan los estándares de calidad, fiabilidad, monitorización y seguridad.
En este sentido tanto Edge Computing así como ciertas appliances específicas para la industria que se podrían clasificar como Fog Computing, sirven de gran ayuda para solucionar estos y más retos. Estos esquemas permiten de forma simple migrar a arquitecturas escalables, eficientes y resilientes, permitiendo el acceso ubicuo y privado a los datos y servicios.
Un caso especial dentro de la Industria 4.0 es el de los hospitales, donde las nuevas tecnologías están impulsando cada vez más la implantación de servicios, equipos y dispositivos que permiten a los enfermeros, médicos y cirujanos realizar cada vez mejor su trabajo. Dadas las restricciones temporales, pero sobre todo organizativas y de niveles de confidencialidad y procesado se hacen necesarias soluciones como Hospitec que proporcionan simplicidad en el uso de múltiples proveedores cloud o para cloud híbrido, así como herramientas de autoprovisión, actualizaciones transaccionales, alta disponibilidad y tolerancia a fallos.
Referencias
[1] T. Taleb, K. Samdanis, B. Mada, H. Flinck, S. Dutta and D. Sabella, «On Multi-Access Edge Computing: A Survey of the Emerging 5G Network Edge Cloud Architecture and Orchestration,» in IEEE Communications Surveys & Tutorials, vol. 19, no. 3, pp. 1657-1681, thirdquarter 2017.
[2] GSMA Mobile Economy, London, U.K.: GSMA Alliance, 2016, 2018.
Autor: Lorenzo García Cortiñas, investigador – desarrollador, y Jose Otero Pena, responsable técnico de Cloud Computing en el área de Servicios y Aplicaciones de Gradiant