BACKGROUND IMAGE: iSTOCK/GETTY IMAGES

Gestionar Aprenda a aplicar las mejores prácticas y optimizar sus operaciones.

Con AWS Greengrass, las aplicaciones de IoT se vuelven integrales en la nube

Descubran cómo las diversas aplicaciones y piezas de infraestructura trabajan juntas al construir una aplicación IoT sobre AWS Greengrass.

Una nueva generación de plataformas de internet de las cosas (IoT) promete facilitar la creación, implementación y administración de aplicaciones que abarquen la nube, los servidores periféricos y los dispositivos conectados. Estas aplicaciones pueden ser difíciles de implementar porque los desarrolladores deben garantizar la congruencia entre el código y las configuraciones en todos los niveles. La IoT de AWS Greengrass ha estado recibiendo atención últimamente, ya que permite a los desarrolladores crear aplicaciones sobre la plataforma AWS Lambda en un esquema de marco de trabajo como servicio (framework-as-a-service) que se comunica con dispositivos periféricos y dispositivos integrados. Ya está siendo procesado en tecnologías como AWS Snowball Edge, así como en una nueva clase de estaciones base de teléfonos celulares construidas por Nokia.

El software AWS Greengrass permite que las empresas ejecuten capacidades de inferencia local de cómputo, mensajería, almacenamiento en memoria caché de datos, sincronización y aprendizaje automático (ML) para dispositivos conectados de forma segura. AWS ha comenzado a agregar nuevas capacidades en la plataforma, como Greengrass ML Inference, el cual permite que los modelos de aprendizaje automático se implementen directamente en los dispositivos. Estos pueden tomar decisiones rápidamente, incluso cuando los dispositivos no están conectados a la nube.

Marko Hokkanen, arquitecto integral de soluciones en Nokia, dijo que algunos de los principales beneficios del servicio Greengrass IoT incluyen un enorme ecosistema de código AWS Greengrass, una implementación sencilla y que funciona fuera de línea.

Comience con la nube

Es importante entender el uso de los microservicios de AWS para la inteligencia en el nivel de la nube antes de involucrar a Greengrass en el borde. Scott Nelson, vicepresidente de productos de Digi International Inc., dijo que: "el poder de Greengrass es que permite la distribución de la inteligencia dentro de un sistema y la capacidad de mantener esa inteligencia fuera de línea".

Esto proporciona un beneficio significativo sobre los servicios AWS tradicionales al permitir la capacidad de enviar inteligencia a los dispositivos. Un sistema completo que integre a Greengrass debería considerar cómo la división de inteligencia entre la nube de AWS y el dispositivo puede cumplir mejor con los requisitos de la misión. Existen muchos sacrificios para determinar dónde ocurrirá esta división. Se puede dar un gran valor a la adquisición de una gran cantidad de datos, incluso si no tiene un valor inmediato para la aplicación en el borde. Por lo tanto, a pesar de tener la capacidad de filtrar datos en el dispositivo, el sistema enviaría la mayor cantidad posible de datos a la nube de AWS.

Nelson Scott

"Si el dispositivo en el borde tiene una baja velocidad de datos y/o conexiones poco confiables con espacio limitado en el búfer, los pequeños deltas en los valores de los datos son insignificantes", dijo Nelson. "En esta situación, el sistema podría filtrar los datos en Greengrass, por lo que nunca debe procesarse en la nube".

Los dispositivos también pueden operar fuera de línea usando Greengrass IoT, lo que les permite mantener la ejecución de las operaciones programadas o receptivas en el entorno local a pesar de haber perdido la conexión. Por otro lado, tener inteligencia en el dispositivo que continúa funcionando podría poner al sistema en un estado en el que los datos obsoletos pueden llevar a resultados no deseados. El arquitecto del sistema debe anticipar estas situaciones y evitar que la inteligencia distribuida se convierta en un dispositivo efectivamente descontrolado, dijo Nelson.

Planee la seguridad y la gestión

AWS ha hecho un gran trabajo ampliando las mejores prácticas de programación en la nube al mundo del desarrollo integrado a través de los servicios Greengrass y Lambda. Justin Yang, director sénior de ingeniería de software de NXP Semiconductor, dijo: "Para construir una solución de IoT práctica y escalable, también se debe resolver la incorporación de dispositivos seguros, [gestión del ciclo de vida del dispositivo] y automatizar el despliegue de AWS Greengrass en estos dispositivos".

Tal sistema necesita una infraestructura de seguridad de extremo a extremo, y la seguridad debe estar anclada en el hardware. La infraestructura de integración y administración de dispositivos basada en la nube debe proporcionar una capa de abstracción común para unificar la implementación del núcleo de AWS Greengrass y las funciones de Lambda. El registro del dispositivo debe estar automatizado para admitir la implementación a gran escala.

Venkat Ramasamy

La actualización y mejora de los dispositivos y gateways de IoT será un desafío. Venkat Ramasamy, director de operaciones de FileCloud, que implementa sus servicios en AWS, dijo que "resumir los dispositivos reales podría ayudar a la fácil integración y actualización de dispositivos en etapas posteriores. Los desarrolladores deben suponer que las redes no serán confiables en el entorno de producción. Así que deben diseñar apropiadamente, enviando y creando aplicaciones para detectar la confiabilidad de la red y usando protocolos más livianos".

Dispositivos de IoT de gama baja

Los dispositivos en una implementación de Greengrass ejecutan diferentes tipos de software según sus capacidades y sus limitaciones operativas. Los dispositivos más restringidos son los microcontroladores. Su poder de computación y capacidades de memoria son muy bajas (la memoria RAM suele estar en el rango de decenas de kilobytes), lo que es ideal para dispositivos como bombillas, detectores de humo y cintas transportadoras.

Amazon FreeRTOS es un sistema operativo para microcontroladores que hace que los dispositivos pequeños de bajo consumo sean fáciles de programar, implementar, asegurar, conectar y administrar. Se basa en el kernel FreeRTOS, un popular sistema operativo de fuente abierta para microcontroladores, y la compañía lo amplía con bibliotecas de software que facilitan la conexión segura de dispositivos pequeños y de baja potencia a los servicios en la nube de AWS, como AWS IoT Core, o con dispositivos edge más potentes con AWS Greengrass, que a su vez se conectarían a AWS IoT Core. Los desarrolladores pueden construir su aplicación sobre Amazon FreeRTOS utilizando el lenguaje de programación C. Los dispositivos de gama baja (por ejemplo, sensores) pueden comunicarse entre sí y con una puerta de enlace segura utilizando protocolos inalámbricos heredados (por ejemplo, Modbus) o de baja potencia, sin utilizar el SDK del dispositivo IoT de AWS, explicó Yang de NXP.

Por su parte, Nelson de Digi dijo que también es posible usar controladores lógicos programables (PLC) a través de la característica Arquitectura de Comunicaciones Unificadas de Plataforma Abierta (OPC UA) proporcionada por la versión más reciente de Greengrass. OPC UA es un protocolo de comunicación máquina a máquina para la automatización industrial desarrollado por la OPC Foundation. Greengrass OPC UA permite la ingestión y el procesamiento de mensajes de equipos industriales con entregas a dispositivos en un grupo de Greengrass o hacia la nube, con base en reglas. Por ejemplo, los PLC ahora pueden conectarse a través de un servidor OPC UA a una función Lambda del adaptador OPC UA en el núcleo de Greengrass.

Servidores perimetrales, o edge

Los dispositivos que poseen más poder de cómputo y memoria (en el rango de cientos de megabytes) se pueden usar como puertas de enlace para agregar y procesar datos provenientes de dispositivos más restringidos conectados a ellos. Al ser más capaces, estos dispositivos pueden ejecutar un sistema operativo como Linux. Estos dispositivos pueden ejecutar las funciones de AWS Lambda, mantener los datos del dispositivo sincronizados y comunicarse con otros dispositivos de forma segura, incluso cuando no estén conectados a internet. Los desarrolladores pueden implementar funciones de AWS Lambda escritas en Python 2.7, Node.JS 6.10 y Java8.

Los desarrolladores pueden usar Amazon FreeRTOS y AWS Greengrass para enviar datos a AWS IoT Core en la nube de AWS. Desde allí, pueden usar el resto de la nube de AWS para desarrollar aplicaciones en cualquier lenguaje de programación. AWS Lambda es una opción popular porque está integrado de forma nativa con AWS IoT Core.

Greengrass IoT en acción

Nokia ha demostrado que las aplicaciones AWS Greengrass IoT se ejecutan en los gateways Nokia Mobile Edge (cómputo de acceso múltiple). Estos proporcionan núcleos virtuales ejecutando AWS Greengrass, machine learning, inteligencia artificial y otras aplicaciones. Los núcleos conectan y procesan de forma segura los datos del dispositivo final y los datos del sensor, y pueden aplicar algunos procesos analíticos básicos de estos datos.

"Hay muchos casos en los que tiene una manguera de bomberos con datos constantes a nivel local, lo que no tendría sentido enviar a la nube", dijo Hokkanen de Nokia. La compañía tiene aplicaciones de ejemplo, como la logística de la cadena de frío, que envían los datos a un gateway de borde para analizar los resultados, ya sea que active eventos localmente o envíe datos a la nube. Por ejemplo, si el helado en un camión se estaba calentando demasiado, el gateway podría disparar un termostato para ajustar la temperatura localmente. Las anomalías y otros datos menos periódicos podrían enviarse a la nube.

Marko Hokkanen

Otro gran ejemplo es el análisis de video en el borde. El paradigma típico de la analítica de video es enviar transmisiones de video a través de una WAN, como una ciudad, varios campus o tiendas. Las cámaras producen una cantidad significativa de datos de la red de enlace ascendente hacia estos servidores de análisis de video. Un enfoque más eficiente es terminar esos flujos en el borde, procesar los análisis y enviar una cantidad de datos significativamente menor a la nube para luego procesarla, lo que aún proporciona el 1% de los datos relevantes.

AWS es una buena opción para las empresas que desean crear aplicaciones de IoT en el ecosistema de Greengrass IoT en crecimiento. Pero probablemente también sea una buena idea planificar el día en que algo mejor se presente. Ramasamy de FileCloud dijo: "Diseñe para la portabilidad. Si su solución usa muchas API nativas de AWS, pasar a una nueva plataforma será muy difícil. Por lo tanto, diseñar sus implementaciones con un desacoplamiento adecuado es importante en caso de que quiera trasladarse a otra plataforma en el futuro."

Este artículo se actualizó por última vez en julio 2018

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close