IoT Hub y excelencia operativa
azure IoT Hub es un servicio administrado hospedado en la nube que actúa como centro de mensajes central para la comunicación entre una aplicación de IoT y sus dispositivos conectados. Puede conectar millones de dispositivos y sus soluciones de back-end de forma confiable y segura. Casi cualquier dispositivo se puede conectar a una instancia de IoT Hub.
IoT Hub admite la supervisión para ayudarle a realizar un seguimiento de la creación de dispositivos, las conexiones de dispositivos y los errores de dispositivo.
IoT Hub también admite los siguientes patrones de mensajería:
- Telemetría de dispositivo a nube
- Carga de archivos desde dispositivos
- Métodos de solicitud y respuesta para controlar los dispositivos desde la nube
Para más información sobre IoT Hub, consulte Conceptos de IoT y Azure IoT Hub.
Para comprender cómo IoT Hub promueve la excelencia operativa, consulte los temas siguientes:
- Tutorial : Configurando y usando métricas y logs con un IoT Hub
- Supervisión de Azure IoT Hub
- Seguimiento de mensajes del dispositivo a la nube de Azure IoT con seguimiento distribuido (versión preliminar)
- Verifica el estado del servicio IoT Hub y la salud de los recursos
Las secciones siguientes son específicas de Azure IoT Hub y la excelencia operativa:
- Consideraciones de diseño
- Lista de comprobación de configuración
- Opciones de configuración recomendadas
Consideraciones de diseño
Para más información sobre el Contrato de nivel de servicio de Azure IoT Hub, consulte Acuerdo de Nivel de Servicio para Azure IoT Hub.
Lista de verificación
¿Ha configurado Azure IoT Hub teniendo en cuenta la excelencia operativa?
- Implemente una segunda instancia de IoT Hub en otra región e implemente lógica de enrutamiento en el dispositivo.
- Use el protocolo
AMQP
oMQTT
al enviar eventos con frecuencia. - Use solo los certificados validados por una entidad de certificación raíz en el entorno de producción si usa certificados X.509
para la conexión del dispositivo. - Para obtener el rendimiento máximo, use el número máximo de particiones (
32
) al crear el IoT Hub, si planea usar el endpoint integrado. - Para el escalado, aumente el nivel y las unidades de IoT Hub asignadas en lugar de agregar más de una instancia de IoT Hub por región.
- En escenarios de alto rendimiento, use eventos por lotes.
- Si necesita la latencia mínima posible, no utilice el enrutamiento y lea los eventos desde el punto de conexión integrado.
- Como parte de la estrategia de disponibilidad y recuperación ante desastres de toda la solución, considere la posibilidad de usar la opción de recuperación ante desastres entre regiones de IoT Hub.
- Al usar un SDK para enviar eventos a IoT Hubs, asegúrese de que las excepciones producidas por la directiva de reintento (
EventHubsException
oOperationCancelledException
) se detectan correctamente. - Para evitar la interrupción de la telemetría debido a la limitación y una cuota totalmente usada, considere la posibilidad de agregar una solución de escalado automático personalizada.
Recomendaciones de configuración
Tenga en cuenta las siguientes recomendaciones para aumentar la excelencia operativa al configurar Azure IoT Hub:
Recomendación | Descripción |
---|---|
Implemente una segunda instancia de IoT Hub en otra región y configure la lógica de enrutamiento en el dispositivo. | Estas configuraciones se pueden mejorar aún más con un servicio Concierge. |
Use el protocolo AMQP o MQTT al enviar eventos con frecuencia. |
AMQP y MQTT tienen mayores costos de red al inicializar la sesión, pero HTTPS requiere sobrecarga adicional de TLS para cada solicitud. AMQP y MQTT tienen un mayor rendimiento para los publicadores frecuentes. |
Use solo los certificados validados por una entidad de certificación raíz en el entorno de producción si usa certificados X.509 |
Asegúrese de que tiene procesos implementados para actualizar el certificado antes de que expiren. |
Para obtener el rendimiento máximo, use el número máximo de particiones (32 ) al crear el IoT Hub, si tiene previsto utilizar el punto de conexión integrado. |
El número de particiones de dispositivo a nube para el punto de conexión compatible con Event Hub refleja el grado de paralelismo descendente que se puede lograr. Esto le permitirá escalar verticalmente hasta 32 entidades de procesamiento simultáneas y ofrecerá la mayor disponibilidad de envío y recepción. Este número no se puede cambiar después de la creación. |
Para el escalado, aumente el nivel y las unidades de IoT Hub asignadas en lugar de agregar más de una instancia de IoT Hub por región. | Agregar más de una instancia de IoT Hub por región no ofrece resistencia adicional porque todos los centros se pueden ejecutar en el mismo clúster subyacente. |
En escenarios de alto rendimiento, use eventos por lotes. | El servicio entregará una matriz con varios eventos a los consumidores, en lugar de una matriz con un evento. La aplicación de consumo debe procesar estas matrices. |
Si necesita la latencia mínima posible, no use el enrutamiento y lea los eventos desde el punto de conexión predeterminado. | Al usar el enrutamiento de mensajes en IoT Hub, aumenta la latencia de la entrega de mensajes. En promedio, la latencia no debe superar 500 ms , pero no hay ninguna garantía para la latencia de entrega. |
Como parte de la estrategia de disponibilidad y recuperación ante desastres de toda la solución, considere la posibilidad de usar la opción de recuperación ante desastres entre regiones de IoT Hub. | Esta opción moverá el punto de conexión de IoT Hub a la región de Azure emparejada. Solo se replica el registro de dispositivos. Los eventos no se replican en la región secundaria. El objetivo de tiempo de recuperación para la conmutación por error iniciada por el cliente está entre 10 minutos y un par de horas. Para una conmutación por error iniciada por Microsoft, el objetivo de tiempo de recuperación es de 2-26 horas. Confirme que este RTO se alinea con los requisitos del cliente y se ajusta a la estrategia de disponibilidad más amplia. Si se requiere un objetivo de tiempo de recuperación superior, considere la posibilidad de implementar un patrón de conmutación por error del lado cliente. |
Al usar un SDK para enviar eventos a IoT Hub, asegúrese de que las excepciones producidas por la directiva de reintento (EventHubsException o OperationCancelledException ) se detectan correctamente. |
Al usar HTTPS , implemente un patrón de reintento adecuado. |