Edge Computing – Qué es y cómo enfrentarse.

A continuación os dejo lo que fue  mi participación en el Workshop IIoT organizada por Monolitic en el 2019 dónde desarrollé parte de mi estrategia en el momento de diseñar la arquitectura de una solución poniendo el foco en el término Edge computing. En la exposición se parte de la definición del término de ahí a la arquitectura de una solución y cómo enfoco dentro de un framework las diferentes decisiones.

Para aquellos conceptos que no queden claros en el fragor de la exposición a continuación dejo un resumen de la charla.

El Edge Computing permite que los datos producidos  por los dispositivos IOT se procesen más cerca de dónde se crearon en lugar de enviarlos a través de la red, permitiendo así el análisis y los resultados en local y no remotamente.

Un ejemplo muy fácil de entender es el de las cámaras de vigilancia. En la “antigüedad” las cámaras corrientes para vigilancia sólo permitían enviar la señal de vídeo a un “grabador”,  este almacenaba todo el vídeo de las todas las cámaras, empaquetaba de algún modo toda esa cantidad de material y lo enviaba a los servidores que era dónde se analizaba, en caso de que así fuera, para detectar movimiento en las imágenes y descartar vídeos dónde no había ocurrido absolutamente nada.

camaras

Con la llegada de la inteligencia de las cámaras hoy pueden decidir por si mismas cuándo enviar vídeo, o sea, cuando hay movimiento. El término Edge Computing  le aplica cuando existe ese procesamiento en el edge ( la cámara ).

Las ventajas de Edge Computing aporta a las aplicaciones y soluciones:

  • Tiempos de respuesta: Mejora la respuesta. La latencia es menor y gana precisión la respuesta. Habilita servicios Real time en detección, control y ejecución.
  • Reduce el uso del ancho de banda y las necesidades del almacenamiento de datos.
  • Privacidad y seguridad: Mantiene los datos personales en la “thing” (no datos personales, IP addr.). Cuántos menos datos hay en la nube menos vulnerable.
  • Reduce la carga de los servidores por la optimización de datos.
  • Ofrece nuevas funcionalidades, Smart applications, mantenimiento predictivo.
  • Aumenta la fiabilidad del sistema.
  • Consumos energéticos.

Edge computing da respuesta a posibles retos que hoy día la nube nos plantea cómo el ancho de banda insuficiente, posible conectividad intermitente, latencias considerables para la acción y tomas de decisión y seguridad. Pero! tengamos en cuenta que el Edge Computing NO sustituye a la nube, si no que son complementarias.

Pero no todo es tan bonito como parece, Edge Computing también nos plantea algunos retos:

  • Replicabilidad de datos en todas las “cosas”, una ineficiencia evidente.
  • Limitación de almacenamiento en las “cosas”.
  • Creación de modelos analíticos en una fuente y ejecutándose en múltiples lugares.
  • Gestión compleja de la solución, updates, firmwares, etc.
  • El dispositivo Edge acaba dependiendo de las redes de comunicación e infraestructura, sí o sí o sí.
  • Y sobre todo la definición y diseño de la solución es altamente compleja.

Y entonces, ¿Cuál es mi propuesta para ayudar a diseñar la definición?.

Lo primero es entender que es el dato, que es información y que es conocimiento.

  1. El dato es el que se produce en la base, las “things” y los Gateways. Los datos se producen en el lugar físico.
  2. La información se produce cuando existe la recopilación de esos datos y la mayoría de casos se encuentran en la nube.
  3. El conocimiento es cuando la información se presenta a las personas
  4. Y en la cúspide de la pirámide está la inteligencia corporativa que reside en las personas y son los que definen las estrategias y aprovechan el conocimiento generado.

piramide

Ante la breve definición de que es un dato, el conocimiento, etc. Toca plantear que acciones, en que momento y que tipo de análisis necesitamos para la aplicación de la solución para la cual toca hacer un planteamiento de diseño.

La siguiente imagen ayuda a plantear de manera intuitiva dónde y cómo situar el “edge computing” según las necesidades de la aplicación, no solo el edge computing. Ayuda a plantear qué necesitamos en tiempo real y que no, qué tipo de análisis podemos obtener en tiempo real y que no, y qué tipo de acción podemos acometer y que no. Para ayudar, un poco, al encaje entre el framework que planteo y el hardware involucrado para plantear la solución, la imagen tiene contrapuesta un planteamiento de arquitectura clásica de IOT que espero os sitúe un poco más.

arquitectura

Respecto a la selección de tecnologías, ya sea en hardware y software, es algo muy personal, va muy en relación a la velocidad de desarrollo, experiencia anterior, si cuenta con más o menos ejemplos, mejor calidad de documentación, tamaño de la comunidad que las soportan, si está de moda, que clase de aplicaciones suelen usarlas y un largo etc.

En Monolitic hemos seleccionado un Gateway ( Smart IOT Gateway ) muy interesante para el desarrollo de soluciones dónde se plantean infinidad de escenarios y posibilidades. Este gateway ofrece una flexibilidad elevada, pudiendo insertar diferentes placas de expansión para intercambiar tecnologías de comunicación, entradas y salidas, buses de campo, etc. Además de un entorno de programación inspirado en la famosa herramienta Node-red que te permite por un lado prototipar rápidamente y por otro desplegar con garantías, por el número de certificaciones que cuenta este Gateway.

web

 

Espero que este post os sea de ayuda para entender y dominar arquitecturas en el campo de aplicación IOT. Siempre quedando a vuestra disposición para aclaraciones.

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s