Compartir a través de


Escalabilidad de solución de IoT, alta disponibilidad y recuperación ante desastres

En esta introducción se presentan los conceptos clave sobre las opciones de escalabilidad, alta disponibilidad y recuperación ante desastres en una solución de Azure IoT. Cada sección incluye vínculos a contenido que proporciona más detalles e instrucciones.

En el diagrama siguiente se muestra una vista general de los componentes en una solución de IoT típica basada en el edge. Este artículo se centra en las áreas relevantes para la escalabilidad, la alta disponibilidad y la recuperación ante desastres en una solución de IoT basada en el perímetro:

Diagrama que muestra la arquitectura de solución basada en IoT Edge de alto nivel que resalta la escalabilidad, la alta disponibilidad y la recuperación ante desastres.

Escalabilidad

Es posible que una solución de IoT necesite admitir millones de recursos y dispositivos conectados. Debe asegurarse de que los componentes de la solución se pueden escalar para satisfacer las demandas.

Implemente Operaciones de Azure IoT en un clúster de varios nodos para asegurarse de que puede controlar un mayor tráfico o demandas de carga de trabajo. Cuando Azure IoT Operations se ejecuta en un clúster de varios nodos, puede procesar más datos y aprovechar las funcionalidades de escalabilidad y alta disponibilidad de Kubernetes.

Puedes escalar horizontalmente el agente MQTT de Azure IoT Operations agregando más réplicas de front-end y particiones de back-end. Las réplicas de front-end son responsables de aceptar conexiones MQTT de clientes y reenviarlas a las particiones de back-end. Las particiones de back-end son responsables de almacenar y entregar mensajes a los clientes. Los pods de front-end distribuyen el tráfico de mensajes entre los pods de back-end. Aumentar el factor de redundancia de back-end determina el número de copias de datos para proporcionar resistencia frente a errores de nodo en el clúster. Para obtener más información, consulte Configurar opciones de agente para alta disponibilidad, escalado y uso de memoria.

El Registro de dispositivos de Azure es un servicio de back-end que habilita la administración de activos en la nube y en el borde. El Registro de dispositivos proyecta recursos definidos en el entorno perimetral como recursos de Azure en la nube. Proporciona un único registro unificado para que todas las aplicaciones y servicios que interactúan con los recursos puedan conectarse a un único origen. El Registro de dispositivos también administra la sincronización entre los recursos de la nube y los recursos como recursos personalizados en Kubernetes en el perímetro, lo que le permite escalar la solución a millones de recursos conectados.

Puede escalar el perfil de flujo de datos para ajustar el número de instancias que ejecutan los flujos de datos. Aumentar el recuento de instancias puede mejorar el rendimiento de los flujos de datos mediante la creación de varios clientes para procesar los datos. Al usar flujos de datos con servicios en la nube que tienen límites de velocidad por cliente, aumentar el número de instancias puede ayudarle a mantenerse dentro de los límites de velocidad. El escalado también puede mejorar la resistencia de los flujos de datos proporcionando redundancia en caso de errores. Para más información, consulte Escalado de perfiles de flujo de datos.

Alta disponibilidad y recuperación ante desastres

Las soluciones de IoT suelen ser críticas para la empresa. Debe asegurarse de que la solución pueda seguir funcionando si se produce un error. También debes asegurarte de que puedes recuperar la solución tras un desastre.

Operaciones de IoT de Azure incluye un corredor MQTT que es de nivel empresarial y cumple con los estándares. El corredor MQTT es escalable, de alta disponibilidad y nativo de Kubernetes. Proporciona el plano de mensajería para las Operaciones de IoT, habilita la comunicación bidireccional en el perímetro o la nube y potencia las aplicaciones controladas por eventos en el perímetro. Para garantizar la pérdida de datos cero y la alta disponibilidad durante las actualizaciones de implementación, el agente MQTT implementa actualizaciones graduales en los pods del agente MQTT.

El almacén de estado es un sistema de almacenamiento distribuido, implementado como parte de las operaciones de Azure IoT. Con el almacén de estado, las aplicaciones pueden obtener, establecer y eliminar pares clave-valor, sin necesidad de instalar más servicios, como Redis. El almacén de estado también proporciona control de versiones de los datos y también los primitivos para compilar bloqueos distribuidos, ideales para aplicaciones de alta disponibilidad. Para obtener más información, consulta Conservación de datos en el almacén de estado.

En clústeres de varios nodos con al menos tres nodos, tiene la opción de habilitar la tolerancia a errores para el almacenamiento con Azure Container Storage habilitado por Azure Arc al implementar operaciones de Azure IoT.

Dapr se ofrece como parte del agente MQTT, abstrayendo detalles de administración de sesiones MQTT, QoS de mensajes y confirmaciones, y almacenes de clave-valor integrados, lo que hace que sea una opción práctica para desarrollar una aplicación de alta disponibilidad.

Los SDK de operaciones de Azure IoT (versión preliminar) son un conjunto de herramientas y bibliotecas en varios lenguajes diseñados para ayudar al desarrollo de aplicaciones de alta disponibilidad para operaciones de Azure IoT.

Para obtener información sobre la alta disponibilidad entre zonas de disponibilidad y regiones para el Registro de dispositivos de Azure, consulte Confiabilidad en el Registro de dispositivos de Azure.