Desarrollo de Software IoT
Descubre cómo diseñar software IoT

Desarrollo de Software IoT

El IoT genera grandes cantidades de datos y el resto de la historia es sobre los grandes datos. No muchos saben cómo diseñar software IoT excepto para contar una historia sobre "grandes datos y el análisis", probablemente por muchas razones, incluyendo que sabían sobre los grandes datos (sabían cómo usar algunas de las herramientas y plataformas - éstas son mano de obra capacitada) y/o hacen negocio con los grandes datos. 

En la práctica, el diseño del IoT es complejo y requiere que los ingenieros lo construyan. Aquí os enseñaremos el diseño IoT y lo que se necesita para construir aplicaciones IoT a gran escala. 

Cuando la gente (¿ingenieros?) habla de grandes datos, los comparan con un gran elefante, dicen "los grandes datos se parecen mucho a la historia de unos pocos ciegos y el elefante; cuando cada uno de ellos toca una parte del elefante describen lo que es el elefante". No entiendo por qué no pudieron tocar el elefante entero y luego describirlo, tal vez, no sólo son ciegos sino que también son descerebrados. Los grandes tipos de datos parecen ser similares, no quieren escarbar en toda la aplicación IoT de extremo a extremo para entender las complejidades y lo que se necesita para construir aplicaciones IoT. Por supuesto, como en la historia del elefante y la vaca, tienen razón sobre su limitada perspectiva, como Aristóteles, que pensaba que un objeto en movimiento se detiene porque se cansa, mientras que un ingeniero IoT es como una era cuántica en la que una partícula puede existir en múltiples lugares simultáneamente, lo que lleva al multiverso. Vamos a ver algunas construcciones que se pueden utilizar para diseñar aplicaciones IoT escalables y seguras de extremo a extremo. Déjenos que le acompañemos en el desarrollo del software IoT que su empresa necesita.

IoT y el manejo de eventos espacio-temporales

En IoT, ciertas decisiones tienen que ser tomadas en ese momento y en ese lugar, esto se llama manejo de eventos espacio-temporales. Como se ilustra en la figura 3, los dispositivos IoT deben reaccionar en un nivel superior, el borde debe actuar en tiempo real; en el siguiente nivel, la niebla (fog) debe optimizar y en un nivel superior, la nube, debe planificar las acciones futuras.

IoT y el contexto de la construcción

Todo lo que hacemos en este universo se basa en un contexto que se construye utilizando la información de la que disponemos, y luego decidimos tomar las medidas adecuadas o necesarias para ese contexto. Una aplicación IoT debe funcionar de manera autónoma y segura en un entorno local. Y, conectarse a la Internet global para crear más valor. La construcción del contexto ayuda a proporcionar un análisis en tiempo real del entorno para tomar las medidas adecuadas y requeridas Las aplicaciones IoT requieren dos tipos de análisis de datos construcción del contexto y análisis masivo de datos, el primero es un análisis en tiempo real de la situación actual, es decir, la aproximación en tiempo real del escenario del mundo real, mientras que el segundo es un análisis de la historia para predecir tendencias y acciones preventivas.

 El reto consiste en proporcionar una computación fiable en tiempo real para la construcción del contexto y las acciones en tiempo real. La creación de un contexto y la puesta en marcha de acciones en tiempo real en el límite hacen que el sistema IoT sea más funcional incluso en los casos de pérdida prolongada de la conectividad a la Internet y la nube. El borde construye el contexto en tiempo real mientras que la nube realiza el gran análisis de datos, ambos son naturales por su ubicación en la arquitectura de red federada.

Asegurar el Internet de las cosas


La interfaz entre las Cosas y la nube/internet es el eslabón más débil, ya que las Cosas son los dispositivos restringidos (limitados por la potencia de procesamiento, la batería y el ancho de banda), lo que los convierte en los elementos de red menos autoprotegidos. Dado que los dispositivos IoT se despliegan a una gran escala sin precedentes, la interfaz insegura entre las cosas y la nube puede dar lugar a la corrupción de datos, la denegación de servicio, o una completa toma de posesión de las cosas haciendo que las personas, empresas y gobiernos sean vulnerables a los ciberataques. 

Además, la mayoría de los usuarios y los diseñadores de las aplicaciones IoT son analfabetos tecnológicos, lo que hace que las aplicaciones IoT sean más vulnerables a las amenazas a la seguridad y la privacidad. La falta de seguridad y privacidad en las aplicaciones IoT puede tener un impacto en la seguridad, la economía e incluso la pérdida de vidas. La seguridad de la Internet de las cosas es diferente de la ciberseguridad, y los desafíos no tienen precedentes. Una forma de resolver los problemas de seguridad en lIoT es llevar la batalla a un nivel superior y ayudar a las necesidades informáticas de los dispositivos IoT en el nivel del borde (edge) Para asegurar la Internet de las cosas es necesario construir la Internet de las cosas a la primera, lo que a su vez requiere que se establezcan ciertas directrices, políticas y normas. Estas normas y directrices facilitarían la creación de un ecosistema de colaboración entre los vendedores de dispositivos, los desarrolladores de software, los constructores de redes, los integradores de sistemas y los reguladores, y desempeñarían su función en la construcción de los sistemas IoT segura.

Backhaul, gestión de información y servicios

Las cosas generan datos continuamente, no todos los datos tienen sentido ni son útiles. No es prudente simplemente enrutar los datos a la nube y almacenarlos. Requiere filtrar los datos no deseados, típicamente las condiciones normales, que pueden no ayudar para futuros análisis, y transmitir sólo los datos intermedios agregados útiles a la Nube aumentando así la eficiencia de la conectividad de retroceso. También requiere almacenar los datos localmente cuando la conectividad a la nube se rompe, y subir los datos cuando la conectividad se ha reestablecido. Una red IoT puede soportar múltiples aplicaciones, por ejemplo, servicios públicos, seguridad, seguros, mantenimiento, etc. Y puede haber múltiples proveedores de servicios, por ejemplo, tenemos varios proveedores de servicios de Internet (ISP) y uno puede cambiar al proveedor apropiado dependiendo de la calidad del servicio y el costo. Del mismo modo, y la aplicación IoT debería poder cambiar tanto los proveedores de servicios como las aplicaciones de la nube; esto puede llevar algo más de tiempo para que se establezcan los estándares.

Horizontalización - Diseñar para la innovación

La mayoría de las soluciones IoT de hoy en día son impulsadas por los proveedores y segmentadas verticalmente:

 - El proveedor proporciona los dispositivos, el centro/puerta de enlace IoT y los servicios de nube. Esto lleva a problemas de interoperabilidad y a la dependencia del proveedor.

- La interoperabilidad requiere una pasarela/puerta de enlace estandarizada con interfaces estándar para que podamos integrar los dispositivos y los servicios en la nube de forma horizontal, eligiendo los dispositivos de cualquier proveedor y obteniendo los servicios de cualquier otro proveedor. Esto no sólo nos permite construir aplicaciones IoT utilizando los mejores componentes de la raza, sino que también permite la innovación para construir nuevas aplicaciones. 

- El número de contextos y, por lo tanto, los mejores contextos que se pueden construir es directamente proporcional al número de parámetros que se están detectando desde el entorno de aplicación. Cuanto mayor sea el número de sensores, mayor será el número de puntos de datos y mejor será la construcción del contexto. Si tenemos un sensor (un sensor de temperatura) que proporciona un servicio IoT (servicio de temperatura que proporciona la temperatura actual de una habitación), sólo se puede construir un contexto simple (la habitación es fría o caliente). 

Con dos servicios, el número de contextos posibles es de tres. Con tres servicios, son posibles siete contextos. Si hay 'n' servicios, el número de contextos posibles es (2^n) - 1. Si se tienen 100 servicios básicos IoT, el número de contextos posibles que se pueden construir es 1 267 650 600 228 229 401 496 703 205 375. Es un no-millón que es más de un billón de billones de contextos posibles. Si bien algunos de estos no son contextos útiles, aunque haya un 1% de contextos útiles, el número de contextos que se pueden construir es ilimitado en un despliegue moderado de IO que involucre 100 sensores diferentes. Esto permite la innovación y la colaboración para construir mejores aplicaciones IoT siempre que los dispositivos IoT puedan integrarse horizontalmente.

Gestionando millones de nuevos dispositivos cada día

En el 2025, se instalarán decenas de millones de dispositivos, lo que requiere un gran número de personal capacitado para la instalación, configuración y puesta en marcha de los dispositivos IoT. Estos procedimientos típicamente requieren de 20 a 30 minutos para dispositivos simples hasta unas pocas horas para equipos grandes. Los esfuerzos necesarios para estos procedimientos pueden ser más costosos que el costo de los dispositivos de IO y limitan la escalabilidad. Por lo tanto, se deben diseñar los dispositivos de IO y las aplicaciones para la autoconfiguración y la fácil gestión del ciclo de vida de los dispositivos. Esto llevaría al desarrollo de un ecosistema en el que el despliegue de las aplicaciones de IO sería fácil sin necesidad de conocimientos técnicos profundos para la instalación, el aprovisionamiento, la puesta en marcha y la clausura

Escalabilidad y diseño para la resistencia

La Internet de las Cosas es la mayor red jamás creada por los humanos, lo que requiere un modelo escalable y repetible construido sobre construcciones más pequeñas y reutilizables. Para poder construir una red tan masiva, necesitamos tomar los patrones de diseño de las GRANDES cosas que se escalaron bien: el Universo, la Internet y los Humanos. Uno de estos modelos es el IEEE P1931.1 - el Roof Computing, que se basa principalmente en cómo evolucionaron los humanos. El modelo Roof puede ser replicado fácilmente y puede ser usado para construir aplicaciones IoT a gran escala por ejemplo, una Ciudad Inteligente. El modelo del Techo puede utilizarse en múltiples aplicaciones, verticales y permite una arquitectura federada para el aislamiento de fallos y una funcionalidad semiautónoma para la fiabilidad y la resistencia.

Rasgos de un buen diseño de software IoT

El IoT se trata de diseñar un sistema de acciones que resuelvan los puntos de dolor de los interesados en la declaración del problema. No diseñamos aplicaciones IoT para la recolección de datos, cuando estamos diseñando para acciones, podemos recolectar y almacenar datos para acciones futuras. Las acciones están diseñadas para el manejo de eventos espacio-temporales. Las organizaciones pueden permitir la innovación interfuncional cuando la plataforma IoT se construye con una API abierta a la que pueden acceder todos los interesados para crear contextos nuevos y mejorados y, por lo tanto, mejores acciones. Los dispositivos IoT vienen en una amplia variedad de factores de forma de diferentes proveedores con diferentes capacidades de entrada y salida. Las interacciones con los dispositivos, por lo general, se manejan mediante aplicaciones web y móviles proporcionadas por los vendedores. 

El valor para el usuario final radica en la prestación de un servicio coherente para proporcionar una experiencia de usuario distribuida entre múltiples dispositivos/aplicaciones IoT. Para poder construir los sistemas IoT interoperables, los estándares juegan un papel importante, mientras que las empresas requieren un margen de innovación para diferenciarse de la multitud. Dado que la mayoría de los usuarios finales y diseñadores son analfabetos tecnológicos, necesitamos las normas de seguridad de IoT para que el ecosistema pueda reutilizar el conocimiento sin necesidad de su intervención, lo que puede dar lugar a sistemas comprometidos. El diseño de aplicaciones reales IoT es complejo; sólo los expertos pueden diseñarlas y ponerlas en uso de manera que puedan escalarse, asegurarse y resolver los problemas. Si quieres desbloquear el potencial que tiene el IoT e integrarlo en tu empresa, contacta con nosotros.  

IOT para Domótica
Seguro que es el caso de  uso de la tecnología IOT que más conoces. Repasa la información con nosotros.