Arquitectura de referencia de Azure IoT

Functions
IoT Hub
IoT Device Provisioning Service
Stream Analytics
Digital Twins

Puede crear soluciones IoT personalizadas mediante el ensamblado de componentes de PaaS (plataforma como servicio) 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.

Architecture

Diagrama que muestra la arquitectura para aplicaciones de IoT que utilizan componentes Azure PaaS.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

Las soluciones de Azure IoT implican lo siguiente:

  • 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 RTOS y Azure Sphere hasta paneles para desarrolladores como MX Chip 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 (DPS) 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

Una vez 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 muy 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 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. Power BI le permite 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.
  • Azure Cognitive Search proporciona un servicio de búsqueda sobre diversos tipos de contenido. Cognitive Search incluye la indexación, el enriquecimiento con IA y las 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 Mac.
  • Dynamics 365 combina CRM y ERP en la nube.
  • Microsoft Power Automate (Microsoft Flow) es una oferta de 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 Azure Active Directory (Azure AD) 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

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 más información, consulte Resumen del pilar de 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 más información, consulte Introducción al pilar de seguridad. Esta sección contiene puntos a tener en cuenta para crear soluciones seguras.

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 más información, vea Información general del pilar de optimización de costos.

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 de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de 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:

Otro colaborador:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes