Puede crear soluciones IoT personalizadas mediante el ensamblado de componentes de plataforma como servicio (PaaS) de Azure, como se describe en este artículo. En el artículo y en este diagrama, se describen los componentes y servicios de Azure que se usan normalmente en las soluciones IoT, pero ninguna solución individual usa todos estos componentes.
Arquitectura
Descargue un archivo Visio de esta arquitectura.
Flujo de trabajo
El siguiente flujo de trabajo corresponde al diagrama anterior:
- Elementos, normalmente dispositivos que generan datos.
- Información que crea sobre los datos.
- Acciones que realiza en función de la información.
Por ejemplo, un motor envía datos de temperatura. Use estos datos para evaluar si el motor está funcionando según lo esperado. Utilice la información sobre el rendimiento del motor para priorizar su programación de mantenimiento.
Dispositivos
Azure IoT admite una gran variedad de dispositivos, desde microcontroladores que ejecutan Azure Sphere hasta paneles para desarrolladores como MXCHIP y Raspberry Pi. Azure IoT también admite puertas de enlace de servidor inteligentes capaces de ejecutar código personalizado. Los dispositivos pueden realizar algún tipo procesamiento local a través de un servicio como Azure IoT Edge, o simplemente conectarse directamente a Azure para poder enviar y recibir datos de la solución de IoT.
Cuando los dispositivos están conectados a la nube, existen varios servicios que le ayudan a ingerir datos. Azure IoT Hub es un servicio de puerta de enlace en la nube que puede conectar y administrar dispositivos de forma segura. Azure IoT Hub Device Provisioning Service permite realizar un aprovisionamiento de tipo Just-In-Time y sin intervención del usuario que le ayuda a registrar una gran cantidad de dispositivos de forma segura y escalable. Azure Digital Twins habilita modelos virtuales de sistemas del mundo real.
Información detallada
Después de que los dispositivos estén conectados a la nube, puede procesar y explorar sus datos para obtener información personalizada sobre su entorno. A nivel general, existen tres maneras de procesar datos: las rutas de acceso activas, flexibles e inactivas. Las rutas de acceso difieren en sus requisitos de latencia y acceso a datos.
- Las rutas de acceso activas analizan los datos según llegan, casi en tiempo real. Los datos de telemetría de la ruta de acceso activa se deben procesar con una latencia baja. La ruta de acceso activa suele utilizar un motor de procesamiento de secuencias. Considere la posibilidad de usar servicios como Azure Stream Analytics o Azure HDInsight. La salida puede desencadenar una alerta o escribirse en un formato estructurado que se puede consultar mediante herramientas de análisis.
- La ruta de acceso flexible analiza los datos que pueden adaptarse a los retrasos más largos para obtener un procesamiento más detallado. Considere la posibilidad de usar Azure Data Explorer para almacenar y analizar grandes volúmenes de datos.
- Las ruta de acceso inactiva realiza un procesamiento por lotes en intervalos más prolongados, como cada hora o diariamente. La ruta de acceso inactiva se emplea generalmente con grandes volúmenes de datos que se pueden almacenar en Azure Data Lake Storage. Los resultados no necesitan ser tan oportunos como en las rutas de acceso activas o flexibles. Considere la posibilidad de usar Azure Machine Learning o Azure Databricks para analizar datos inactivos.
Acciones
Puede utilizar la información detallada recopilada a partir de los datos del dispositivo para administrar y controlar el entorno. Las acciones de integración empresarial pueden incluir:
- Almacenamiento de mensajes informativos
- Activación de alarmas
- Envío de mensajes de correo electrónico o SMS
- Integración con aplicaciones empresariales, como la administración de relaciones con el cliente (CRM) y las soluciones de software de la planificación de recursos empresariales (ERP)
Puede usar los siguientes servicios para la administración y la integración empresarial:
- Power BI se conecta a los datos y los modela y visualiza. Puede usar Power BI para trabajar en conjunto con los datos y usar la inteligencia artificial para tomar decisiones controladas por datos.
- Azure Maps crea aplicaciones web y móviles con reconocimiento de ubicación mediante API geoespaciales, SDK y servicios como búsqueda, mapas, enrutamiento, seguimiento y tráfico.
- La búsqueda de Azure AI proporciona una recuperación segura de información a escala a través del contenido propiedad del usuario en aplicaciones de búsqueda tradicionales y de IA generativa. AI Search cuenta con indexación, enriquecimiento con IA y funcionalidades de consulta.
- Azure API Management proporciona una única ubicación para administrar todas las API.
- Azure App Service implementa aplicaciones web que se escalan con su organización.
- Azure Mobile Apps crea aplicaciones nativas y multiplataforma para iOS, Android, Windows o macOS.
- Dynamics 365 combina CRM y soluciones de software ERP en la nube.
- Microsoft Power Automate es una oferta de software como servicio (SaaS) para automatizar flujos de trabajo entre aplicaciones y otros servicios de SaaS.
- Azure Logic Apps crea y automatiza flujos de trabajo que integran sus aplicaciones, datos, servicios y sistemas.
Azure también proporciona varios servicios para ayudarle a supervisar toda la solución de IoT y mantenerla segura. Los servicios de diagnóstico incluyen Azure Monitor. Los servicios de seguridad como Microsoft Entra ID y Microsoft Defender para IoT le permiten controlar, ver y administrar la configuración de seguridad, la detección de amenazas y la respuesta.
Componentes
- API Management
- Azure AI Search
- Azure App Service
- Azure Data Explorer
- Almacén de Azure Data Lake
- Azure Databricks
- Azure Digital Twins
- Azure Event Hubs
- Funciones de Azure
- HDInsight de Azure
- Azure IoT Edge
- Servicio Azure IoT Hub Device Provisioning
- Azure IoT Hub
- Azure Logic Apps
- Azure Machine Learning
- Azure Maps
- Mobile Apps
- Azure Monitor
- Azure Sphere
- Azure Stream Analytics
- Dynamics 365
- Microsoft Defender para IoT
- Microsoft Entra ID
- Microsoft Power Automate
- Power BI
Consideraciones
Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
Facilidad de uso
Puede usar Azure Digital Twins para controlar y supervisar entornos conectados. Un gemelo digital es un modelo virtual de un entorno real que funciona con los datos de sistemas empresariales y dispositivos de IoT. Las empresas y las organizaciones usan gemelos digitales para habilitar información y acciones. Los desarrolladores y arquitectos usan soluciones de gemelos digitales para ayudar a implementar entornos inteligentes y conectados, como:
- Mantenimiento predictivo en la fabricación
- Visibilidad de la cadena de suministro
- Preparación para confirmaciones inteligentes para los inventarios en tiempo real
- Hogares conectados y edificios inteligentes
Confiabilidad
La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para obtener más información, consulte Lista de comprobación de revisión de diseño para confiabilidad.
Un área clave que hay que considerar para tener soluciones resistentes de IoT es la continuidad empresarial y recuperación ante desastres. El diseño de alta disponibilidad (HA) y de recuperación ante desastres (DR) puede permitirle definir y alcanzar los objetivos de tiempo de actividad adecuados para su solución.
Los distintos servicios de Azure le ofrecen diferentes opciones de redundancia y conmutación por error para ayudarle a lograr los objetivos de tiempo de actividad que mejor se adapten a sus objetivos empresariales. La incorporación de cualquiera de estas alternativas de alta disponibilidad y recuperación ante desastres en la solución de IoT requiere una evaluación cuidadosa de las ventajas y desventajas entre:
- El nivel de resistencia que necesita.
- La complejidad de implementación y mantenimiento.
- Impacto en el costo de los bienes vendidos (COGS).
Puede encontrar información de rendimiento específica del servicio en la documentación de cada servicio de Azure IoT.
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para obtener más información, consulte Lista de comprobación de revisión de diseño para seguridad.
Modelo de seguridad de Confianza cero
Confianza cero es un modelo de seguridad que asume que se producirán infracciones y trata cada intento de acceso como si se originara en una red abierta. Así pues, Confianza cero asume que ha implementado los conceptos básicos, como proteger las identidades y limitar el acceso.
La implementación de seguridad básica incluye comprobar explícitamente los usuarios, tener acceso a sus dispositivos y poder tomar decisiones de acceso dinámico mediante la detección de riesgos en tiempo real. Una vez que haya terminado con los conceptos básicos, puede cambiar el enfoque a los siguientes requisitos de Confianza cero para las soluciones de IoT:
- Use una identidad segura para autenticar los dispositivos.
- Use el acceso con privilegios mínimos para mitigar el radio del impacto.
- Supervise el estado del dispositivo para controlar el acceso o marque los dispositivos para su corrección.
- Realice actualizaciones para mantener los dispositivos en buen estado.
- Realice supervisiones para detectar amenazas emergentes y responder a estas.
Comunicación segura y confiable
Toda la información que se recibe desde un dispositivo o que se envía a este debe ser de confianza. A menos que un dispositivo pueda admitir las siguientes funcionalidades criptográficas, se debería limitar a la comunicación con las redes locales y toda comunicación con Internet debería pasar a través de una puerta de enlace de campo:
- Cifrado de datos y firmas digitales con un algoritmo de cifrado de claves simétricas posiblemente seguro, analizado públicamente y ampliamente implementado.
- Compatibilidad con TLS 1.2 para TCP o con cualquier otra ruta de acceso de comunicación basada en flujos, o con DTLS 1.2 para rutas de acceso de comunicación basadas en datagramas. La compatibilidad con el control de certificados X.509 es opcional. Se puede sustituir el control de certificados X.509 por el modo de clave previamente compartida para TLS, que es más eficiente en el nivel de procesos y en el nivel inalámbrico, y que se puede implementar con compatibilidad con los algoritmos AES y SHA-2.
- Almacén de claves actualizable y claves por dispositivo. Cada dispositivo debe contar con material o tokens de clave exclusivos que lo identifiquen en el sistema. Los dispositivos deben almacenar la clave de forma segura en el dispositivo (por ejemplo, con un almacén de claves seguro). El dispositivo debe ser capaz de actualizar las claves o tokens periódicamente, o como reacción en situaciones de emergencia como, por ejemplo, una infracción del sistema.
- El firmware y el software de la aplicación del dispositivo deben permitir las actualizaciones para habilitar la reparación de las vulnerabilidades de seguridad descubiertas.
No obstante, muchos dispositivos están demasiado restringidos para admitir estos requisitos. En ese caso, debe usar una puerta de enlace de campo. Los dispositivos se conectan de forma segura a la puerta de enlace de campo mediante una red de área local y la puerta de enlace permite una comunicación segura con la nube.
Protección contra manipulación física
El diseño del dispositivo recomendado incorpora características que lo protegen contra cualquier intento de manipulación física, para ayudar a garantizar la integridad de la seguridad y la confiabilidad de todo el sistema.
Por ejemplo:
- Elija microcontroladores o microprocesadores, o hardware auxiliar que proporcione un almacenamiento seguro, y use material de clave criptográfica como, por ejemplo, la integración de un módulo de plataforma segura (TPM).
- Ancle el cargador de arranque y la carga de software seguros en el TPM.
- Use sensores para detectar intentos de intrusión e intentos de manipular el entorno del dispositivo con alertas y una posible "autodestrucción digital" del dispositivo.
Optimización de costos
La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.
En general, use la calculadora de precios de Azure para calcular los costos. Otras consideraciones se describen en la sección Costo de Marco de buena arquitectura de Microsoft Azure.
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad que tiene la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan realizado sobre ella. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.
Compile la solución para implementarla a escala global. Para lograr una escalabilidad óptima, compile la aplicación de IoT con servicios discretos que se pueden escalar de forma independiente. En esta sección se describen las consideraciones sobre escalabilidad para varios servicios de Azure.
IoT Hub
Cada instancia de IoT Hub se aprovisiona con un determinado número de unidades en un de precios y escalado nivel determinado. El nivel y el número de unidades determinan la cuota diaria máxima de mensajes que los dispositivos pueden enviar al centro. Para obtener más información, consulte las cuotas y limitaciones de IoT Hub. Se puede escalar verticalmente un centro sin interrumpir las operaciones existentes.
Para IoT Hub, tenga en cuenta los siguientes factores de escala:
- La cuota diaria máxima de mensajes en IoT Hub.
- La cuota de los dispositivos conectados en una instancia de IoT Hub.
- Rendimiento de ingesta: la rapidez con la que IoT Hub puede ingerir mensajes.
- Rendimiento de procesamiento: la rapidez con la que se procesan los mensajes entrantes.
IoT Hub realiza automáticamente particiones de los mensajes de dispositivo según el id. de dispositivo. Todos los mensajes de un dispositivo concreto llegarán siempre a la misma partición, aunque una única partición puede tener mensajes de varios dispositivos. Por tanto, la unidad de paralelización es el identificador de partición.
Azure Functions
Cuando Azure Functions lee desde un punto de conexión de Azure Event Hubs, hay un número máximo de instancias de función por partición del centro de eventos. La velocidad máxima de procesamiento viene determinada por la velocidad con la que una instancia de función puede procesar los eventos procedentes de una única partición. La función debe procesar los mensajes en lotes.
Stream Analytics
Los trabajos de Stream Analytics se escalan mejor si son paralelos en todos los puntos de la canalización de Stream Analytics, desde el de entrada al de consulta y al de salida. Un trabajo totalmente paralelo permite a Stream Analytics dividir el trabajo entre varios nodos de proceso. Para más información, consulte Aprovechamiento de la paralelización de consultas en Azure Stream Analytics.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Matthew Cosner | Administrador principal de ingeniería de software
Otro colaborador:
- Armando Blanco Garcia | Responsable de programa sénior
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.
Pasos siguientes
- Arquitectura de referencia de Microsoft Azure IoT
- Arquitectura de seguridad de Internet de las cosas (IoT)
- Ciberseguridad de Confianza cero para Internet de las cosas
- Orientación técnica de la continuidad del negocio de Azure
- Recuperación ante desastres y alta disponibilidad para aplicaciones de Azure