Construcción de aplicaciones IoT en el borde con AWS IoT Greengrass - Procesamiento local e integración con la nube
Ejecuta funciones Lambda en dispositivos de borde y continúa el procesamiento local incluso en entornos con conectividad intermitente a la nube. Esta guía cubre inferencia ML en el borde y gestión de flotas.
Descripción general de Greengrass
IoT Greengrass es un runtime que ejecuta capacidades de la nube de AWS localmente en dispositivos de borde. Al instalar el software Greengrass Core en un dispositivo Linux con al menos 256 MB de memoria (Raspberry Pi, PCs industriales, gateways), puedes ejecutar funciones Lambda, contenedores Docker y componentes personalizados en el borde. Los dispositivos continúan el procesamiento local incluso cuando la conectividad con la nube se interrumpe, y sincronizan datos con la nube cuando se restaura la conexión. Greengrass v2 introdujo una arquitectura basada en componentes, permitiendo la instalación selectiva solo de las funciones necesarias.
Componentes y procesamiento local
Greengrass v2 adopta una arquitectura basada en componentes. Construyes aplicaciones de borde combinando componentes públicos proporcionados por AWS (stream manager, broker MQTT local, inferencia ML) con componentes personalizados (tu lógica de negocio). Los componentes se despliegan y actualizan de forma remota desde la nube, y los rollbacks son automáticos si un despliegue falla. El broker MQTT local permite la comunicación entre dispositivos sin pasar por la nube. Stream Manager almacena datos en buffer localmente y los envía a la nube en lotes, manejando la conectividad intermitente de forma elegante. La comunicación entre procesos (IPC) permite que los componentes intercambien datos entre sí en el dispositivo.
Inferencia ML y gestión de flotas
El componente de inferencia ML permite desplegar modelos entrenados en SageMaker a dispositivos de borde y ejecutar inferencia en tiempo real. Soporta TensorFlow Lite y DLR (Deep Learning Runtime), permitiendo inferencia eficiente en dispositivos con recursos limitados. Los casos de uso incluyen inspección visual de calidad en líneas de fabricación, detección de anomalías en equipos y reconocimiento facial en cámaras de seguridad. La gestión de flotas permite gestionar centralmente miles de dispositivos Greengrass Core. Los despliegues pueden dirigirse a grupos de dispositivos usando etiquetas de cosas de IoT, permitiendo actualizaciones graduales y pruebas A/B. Para una comprensión más profunda de Greengrass, consulta libros relacionados en Amazon.
Precios de Greengrass
Instalar y ejecutar el software Greengrass Core es gratuito. Los costos se incurren por los servicios de AWS utilizados para la comunicación con la nube, como mensajería de IoT Core, transferencia de datos de S3 e invocaciones de Lambda. Los componentes personalizados que se ejecutan en el borde no incurren en cargos de Lambda. Los costos de mensajería de IoT Core son aproximadamente $1 por millón de mensajes. Para despliegues a gran escala, optimiza los costos agrupando mensajes y usando Stream Manager para envíos por lotes.
Resumen
Al adoptar Greengrass, comienza seleccionando las capacidades requeridas del catálogo de componentes (broker MQTT, Stream Manager, inferencia ML) y diseña una configuración adecuada para los recursos de CPU/memoria del dispositivo de borde. Usa despliegues graduales para actualizaciones seguras de la flota y aprovecha el procesamiento local para reducir la latencia y los costos de comunicación con la nube.