Contenidos
¿Qué es el Edge Computing?
El Edge Computing es acercar la computación cerca de la fuente de datos. Pero voy a intentar explicar esto para humanos poco tecnológicos. Vamos primero a hablar de IoT, que son dispositivos conectados a Internet, como la domótica de una casa, sensores de una fábrica o similares.
Aunque el Edge Computing puede usarse en más aplicaciones en IoT es muy importante, puesto que son dispositivos que pueden enviar muchos datos. Así que voy a continuar la explicación con un Ejemplo para IoT
IoT en una Fábrica y Cloud Computing
Imaginemos que tenemos una Fábrica que se ha decidido introducir con IoT para posteriormente hacer un tratamiento de los datos tipo Big Data o similar.
En nuestro ejemplo, distintos dispositivos IoT se conectan a diferentes routers en una fábrica y todos ellos suben a la nube, se guardan en una Base de Datos y posteriormente se tratan para tomar decisiónes. Esto es un caso en el que el IoT se conecta directamente al Cloud y envía todos los datos ahí.
Problemas del IoT conectado directamente al Cloud
Aunque escuchamos constantemente los beneficios del Cloud, aquí tenemos algunas desventajas, cada IoT es un sensor que capta datos y los envía en un periodo de tiempo. Sensores como energía o gas pueden enviar datos cada hora o cuarto de hora, así es como se mide la energía en España y se factura con periodos cuarto horario, en un día son 96 mediciones, que pueden tener más datos que solo la puramente energética, esto no supone un gran problema. Imaginemos ahora que nuestra fábrica tiene un proceso químico o bioquímico donde debe controlar el pH, temperatura y otros factores y una subida brusca de cualquiera de ellos puede suponer pérdidas y se envían los datos cada 5 segundos o incluso cada uno o incluso en milisegundos. Ahora supongamos que este proceso tiene varias cubas donde se realiza.
Además de querer monitorizar los datos del proceso anterior, para una recogida de datos, queremos crear una alarma, o actuar sobre otra parte del proceso en caso de problemas. Estamos enviando gran cantidad de datos a la nube y además esperamos que exista un proceso y una alarma de esos datos. Además, muchos de esos datos es una temperatura, imaginemos que ese proceso se realiza a 60º, la mayoría de los datos serán en torno a esa cifra, el máximo será 62 y el mínimo 48 en la mayor parte de los casos.
¿Merece la pena enviar datos cada 200 milisegundos a la nube siendo casi todos muy parecidos?
Fábrica con Edge Computing
Vamos a introducir un componente entre medias del cloud y de los IoTs, un pequeño ordenador, servidor o Raspberry o combinación de ambos que envíe menos datos.
La decisión, en este caso, es enviar solo la media de los datos cada hora, máximo y mínimo y percentiles. En caso de alarma se envía automáticamente, por otro lado, si se da una incidencia de caída de la red, cada Edge puede almacenar la información y enviarla cuando se restaure.
Pegas del Edge
El caso del Edge computing no todo son ventajas, también tiene sus inconvenientes. Todo se resumen a complejidad, es más difícil de instalar y mantener. Mientras que el Cloud es fácil de gestionar, el Edge es complejo.
Si queremos desplegar una nueva máquina, crear una nueva red o cualquier otro servicio en el Cloud se puede hacer de múltiples formas que van simples clics de ratón a una infraestructura como código (básicamente crear los planos de los servicios que necesitamos). Sin embargo, un Edge es un ente aparte fuera de todo esto que hay que colocar físicamente y aunque se puede acceder de forma remota, no es tan sencillo como un proveedor en la nube.
Mencionar el tema de la seguridad puede ser complejo de gestionar y es más fácil tener alguna vulnerabilidad.
Fog Computing
Existe una Arquitectura muy cercana al Edge Computing que es el Fog Computing, en este caso disponemos de un servidor o grupo de servidores entre el cloud y el IoT.
En un momento dado nuestro ejemplo del Edge en la fábrica decidimos dar un paso más, ya no solo necesitamos mandar menos datos, además preferimos que las alarmas se manden en la red local y además queremos hacer un procesamiento de los datos previos de varias máquinas antes de subirlas al cloud, no nos sirve con los mini pcs y raspberrys colocados anteriormente como dispositivos Edge, pondremos un servidor más grande que guarda los datos en una base de datos y luego los procesa y sube. Este es el llamado Fog Computing.
Fog, Edge y Cloud en el coche conectado.
Vamos a ver otro Ejemplo el coche conectado, en este caso un coche tiene muchísimos datos que puede enviar una cantidad casi infinita de datos por segundo, revoluciones, consumo, frenadas… además dependemos de conexiones inalámbricas que pueden fallar.
Instalar dispositivos Edge que hagan un pre procesado de los datos nos ahorra enviar todos los datos que un coche genera. Mismo ejemplo que la fábrica, además en caso de caída el Edge sigue almacenando datos.
Evolucionamos al coche autónomo, en este caso parte de la lógica de conducción va en el coche, otra parte puede venir del cloud y ayudar al coche a ser más eficiente, como la previsión meteorológica o el tráfico. Pero sería una locura que todo el procesamiento y la conducción automática se hiciera en el cloud. Esto es un ejemplo de Fog Computing.