Exemples de déploiements de production

Cet article décrit deux exemples de déploiements Opérations Azure IoT qui collectent des données de périphérie et les transfèrent vers le cloud. Ces exemples sont basés sur des scénarios réels qui prennent en compte la capacité du matériel et les volumes de données. Utilisez ces exemples pour mieux comprendre la quantité de données Opérations Azure IoT peut gérer avec certains matériels.

Microsoft utilisé des configurations et des volumes de données similaires pour valider Opérations Azure IoT et mesurer ses performances.

Cluster à nœud unique

Cet exemple montre les fonctionnalités de Opérations Azure IoT lorsqu’elle s’exécute sur un hôte avec une spécification matérielle relativement faible. Dans cet exemple, Opérations Azure IoT est déployé sur un cluster à nœud unique. Les données générées à partir de ressources sont d’abord agrégées avec un PLC, puis envoyées au connecteur Opérations Azure IoT pour OPC UA.

Paramétrage

Exemples de spécifications matérielles :

  • K3s sur Azure machine virtuelle (Standard_D4ds_v5 avec Intel Xeon Platinum 8370C), 4 cœurs (4 processeurs virtuels), 16 Go de mémoire, stockage de 30 Go.

  • AKS-EE sur une station de travail Tiny P3 (processeur Intel® Core™ i7-13700 vPro® de 13e génération), 16 cœurs (24 threads), 32 Go de mémoire, 1 To de stockage.

Important

Actuellement, K3s sur Ubuntu 24.04 et vSphere Kubernetes Service sont les seules plateformes pour le déploiement d’opérations Azure IoT en production. Pour en savoir plus, consultez Environnements pris en charge.

Le tableau suivant montre la configuration de l’agent MQTT pour l’exemple de nœud unique :

Paramètre Valeur
frontendReplicas 1
frontendWorkers 2
Facteur de redondance du backend 2
travailleurs du backend 1
backendPartitions 1
memoryProfile Bas

Le flux de données de bout en bout dans l’exemple se présente comme ceci :

Assets -> PLC -> Connector for OPC UA -> MQTT broker -> Data flows -> Event Hubs

Les volumes de données de l’exemple sont les suivants :

  • 125 ressources agrégées par un seul serveur OPC UA.
  • 6 250 étiquettes basées sur 50 étiquettes pour chaque ressource. Chaque étiquette est mise à jour 2 fois par seconde et a une taille moyenne de 20 octets.
  • Le connecteur OPC UA envoie 125 messages/seconde à l’agent MQTT.
  • Un pipeline de flux de données envoie (push) 6 250 étiquettes à un point de terminaison Event Hubs.

Dans cet exemple, Microsoft recommande d’utiliser Event Hubs, car vous ne pouvez créer qu’une seule instance de flux de données avec un processeur à 4 cœurs. Si vous choisissez Event Grid, il ne peut gérer que 100 messages/seconde.

Niveau de performance

Les mesures clés du niveau de performance pour cet exemple sont les suivantes :

  • Opérations Azure IoT et ses dépendances consomment entre 6 Go et 8 Go de RAM.
  • Opérations Azure IoT et ses dépendances consomment en moyenne 2 400 à 2 600 millicores.
  • 100 % des données sont envoyées à Event Hubs.
  • La latence du traitement des données de bout en bout est inférieure à 10 secondes avec des conditions réseau idéales.

Cluster à plusieurs nœuds

Lorsque Opérations Azure IoT s’exécute sur un cluster à plusieurs nœuds, il peut traiter davantage de données et tirer parti des fonctionnalités de haute disponibilité de Kubernetes. Dans cet exemple, Opérations Azure IoT est hébergé sur un cluster à 5 nœuds et traite environ 50 000 points de données par seconde à partir de deux sources de données différentes.

Paramétrage

Exemples de spécifications matérielles :

  • K3 à 5 nœuds avec Azure machines virtuelles (Standard_D8d_v5 avec Intel Xeon Platinum 8370C), 8 cœurs (8 processeurs virtuels), 32 Go de mémoire, 30 Go.

  • K3S sur 5 nœuds avec des stations de travail Tiny P3 (processeur Intel® Core™ i7-13700 vPro® de 13e génération), 16 cœurs (24 threads), 32 Go de mémoire, 1 To de stockage.

Important

Actuellement, K3s sur Ubuntu 24.04 et vSphere Kubernetes Service sont les seules plateformes pour le déploiement d’opérations Azure IoT en production. Pour en savoir plus, consultez Environnements pris en charge.

Le tableau suivant montre la configuration de l’agent MQTT pour l’exemple à plusieurs nœuds :

Paramètre Valeur
frontendReplicas 5
frontendWorkers 4
Facteur de redondance du backend 2
travailleurs du backend 4
backendPartitions 5
memoryProfile Élevé

Dans cet exemple, il existe deux types de source de données. Une se connecte via le connecteur OPC UA et l’autre se connecte via l’agent MQTT.

Dans cet exemple, une ressource ne représente pas un composant d’équipement réel, mais constitue un regroupement logique qui agrège les points de données et envoie des messages.

Le premier flux de données de bout en bout de l’exemple se présente comme ceci :

Assets -> PLC -> Connector for OPC UA -> MQTT broker -> Data flows -> Event Hubs

Les volumes de données du premier flux de données de l’exemple sont les suivants :

  • 85 ressources agrégées par un 5 serveurs OPC UA.
  • 85 000 étiquettes basées sur 1 000 étiquettes pour chaque ressource. Chaque étiquette est mise à jour 1 fois par seconde et a une taille moyenne de 8 octets. Environ 50 % des valeurs d’étiquette changent à chaque cycle. Le débit de mise à jour du point de données est de 45 000/seconde.
  • Le connecteur OPC UA envoie 85 messages/seconde à l’agent MQTT.
  • Un pipeline de flux de données envoie (push) 85 000 étiquettes à un point de terminaison Event Hubs.

Le second flux de données de bout en bout de l’exemple se présente comme ceci :

MQTT client (Paho) -> MQTT Broker -> Data flows -> Event Hubs

Les volumes de données du second flux de données de l’exemple sont les suivants :

  • Deux clients MQTT connectés directement au MQTT broker.
  • Chaque client publie 10 000 valeurs/seconde.
    • Environ 1/3 des valeurs d’étiquette changent à chaque cycle.
    • Encodées au format JSON. Chaque élément (valeur) avec une taille approximative de 180 octets.

Niveau de performance

Les mesures clés du niveau de performance pour cet exemple sont les suivantes :

  • Opérations Azure IoT et ses dépendances consomment entre 25 Go et 30 Go de RAM.
  • Opérations Azure IoT et ses dépendances consomment en moyenne 2 500 à 3 000 millicores.
  • 100 % des données sont envoyées à Event Hubs.
  • La latence du traitement des données de bout en bout est inférieure à 10 secondes avec des conditions réseau idéales.