Soluciones IoT en Magnet - Creando el corazón de las aplicaciones IoT
Internet de las cosas (Internet of Things, IoT) es un campo vasto y complejo donde se encuentran los mundos físico y digital, donde convergen los átomos y bits.
La cadena de valor de IoT abarca desde sensores, conectividad, plataformas de software , aplicaciones finales hasta su lanzamiento al mercado, y requiere diferentes habilidades y tecnologías.
En Magnet desarrollamos soluciones Cloud y productos de software a medida para nuestros clientes en varios sectores, incluido IoT. En este último hemos desarrollado proyectos en agricultura de precisión, energías renovables, fabricación, hogar inteligente, logística… En este post destacaremos algunos de los puntos críticos aspectos que comparten los proyectos impulsados por IoT.
En el mundo físico, el principal desafío son los recursos limitados disponibles en los entornos integrados, como la falta de memoria/energía en los dispositivos, pruebas, certificaciones... Para resolver estos desafíos, confiamos en socios que se especializan en el desarrollo de firmware y hardware y están especializados en las nuevas tecnologías en el área.
Por nuestra parte, el primer punto que trabajamos en la cadena valor es la conectividad del dispositivo, que incluye protocolos (MQTT, AMQP, REST, etc.) y esquemas de datos. En algunos casos puede haber un preprocesamiento en el dispositivo y en otros la nube se encarga de esta tarea, dependiendo del caso de uso.
Para determinar la arquitectura de la nube, en cada proyecto estimamos el número de dispositivos conectados y la frecuencia y volumen de la estructura de datos enviados por los dispositivos. Además, el sistema debe garantizar la disponibilidad 24/7 del proceso de ingesta de datos. Esta ingesta de datos tiene que ser rápida y fiable, por lo que para garantizar este aspecto suele ser un servicio independiente el que se encarga de esta tarea.
El almacenamiento de datos es otro aspecto crítico de los proyectos de IoT; para ello hacemos uso de bases de datos de series temporales para optimizar rendimiento, escalabilidad, costes y análisis (consultas) para la capa de aplicación.
Con varios miles de dispositivos y múltiples observaciones por segundo, las bases de datos de series temporales también pueden crecer demasiado, por lo que una estrategia para datos históricos es imprescindible para reducir el costo de la infraestructura de la nube: compresión, depuración y almacenamiento de datos históricos en archivos físicos, por ejemplo.
En los proyectos de IoT, la observabilidad también es un punto clave. Por observabilidad nos referimos a características como registro y alertas: se registran métricas como tiempos transcurridos, datos de estado y volúmenes, y se definen varias alertas para notificar a las partes interesadas relevantes.
Además de esta infraestructura, la capa de la aplicación se construye con funcionalidad para el caso de uso, que puede incluir potentes análisis, servicios predictivos (servicios de aprendizaje automático) y, por supuesto, una capa de monetización que generalmente requiere facturación e integraciones de terceros.
Con esta publicación intentamos plasmar una visión de alto nivel de los elementos de una aplicación en la nube de IoT, sin entrar en detalles sobre cada aspecto de la pila de tecnología.
Un vistazo rápido a la proyección de crecimiento del mercado de IoT nos dice que muchos de nuestros proyectos futuros presumiblemente se basarán en conectar átomos y bits, y pasarlo bien mientras lo hacemos.