Partager via


Fiabilité dans votre charge de travail IoT

Les charges de travail IoT, comme toutes les charges de travail, ont le potentiel de dysfonctionnement. Les principales considérations de fiabilité pour les solutions IoT bien conçues sont la rapidité avec laquelle vous pouvez détecter les modifications et la rapidité avec laquelle vous pouvez reprendre les opérations.

Les applications IoT sont souvent distribuées à grande échelle et peuvent fonctionner sur des réseaux peu fiables sans accès persistant ni visibilité sur les flux de données de bout en bout. En raison de ces facteurs, vous devez concevoir votre architecture IoT en tenant compte de la disponibilité et de la résilience.

La création d’une solution IoT fiable nécessite un examen attentif des appareils, des services cloud et de leur interaction. Les choix que vous faites pour le matériel, la connectivité et les protocoles d’appareil, ainsi que les services cloud affectent les exigences et les fonctionnalités de fiabilité de votre solution.

Évaluer la fiabilité de votre charge de travail IoT

Pour évaluer votre charge de travail IoT à l’aide du pilier fiabilité Well-Architected Framework, répondez aux questions de fiabilité relatives aux charges de travail IoT dans Azure Well-Architected Review. Une fois que l’évaluation a identifié les recommandations de fiabilité clés pour votre solution IoT, utilisez le contenu suivant pour vous aider à implémenter les recommandations.

Principes de conception

Cinq piliers de l’excellence architecturale sous-tendent la méthodologie de conception des charges de travail IoT. Ces piliers servent de boussole pour les décisions de conception ultérieures dans les domaines de conception IoT clés. Les principes de conception suivants étendent le pilier qualité d’Azure Well-Architected Framework - Fiabilité.

Principe de conception Considérations
Concevoir des appareils pour la résilience Concevez vos appareils pour répondre aux exigences de disponibilité et de disponibilité de votre solution de bout en bout. Assurez-vous que votre appareil IoT peut fonctionner efficacement avec une connectivité intermittente au cloud.
Concevoir en fonction des besoins métier Les implications sur les coûts sont inévitables lors de l’introduction de modifications architecturales pour respecter les contrats de niveau de service (SLA). Par exemple, pour avoir une fiabilité et une haute disponibilité accrues, vous pouvez implémenter des redondances interrégions et un système automatisé à mettre à l’échelle automatiquement. Ce compromis doit être examiné attentivement.
Procédures de mise à jour simples et sécurisées Une solution IoT d’entreprise doit fournir une stratégie pour la façon dont les opérateurs gèrent les appareils. Les opérateurs IoT ont besoin d’outils et de pratiques de mise à jour simples et fiables.
Observer l’intégrité de l’application Définissez des indicateurs de niveau de service (SIS) et des objectifs de niveau de service (SLO) en fonction de l’observabilité. Ajoutez des processus d’audit, de supervision et d’alerte au-delà de ce que les services cloud fournissent.
Haute disponibilité et récupération d’urgence (HA/DR) pour les composants critiques. Composants matériels et logiciels résilients qui génèrent la redondance, y compris les redondances interrégions.
Planifier la capacité Planifiez les quotas et les limitations de service, la latence entre l’action de détection et établissez des points de référence à l’échelle de la production pour prendre en charge un flux de données ininterrompu.

Couches d’architecture IoT

Les principes de conception de fiabilité aident à clarifier les considérations pour garantir que votre charge de travail IoT répond aux exigences des couches d’architecture IoT fondamentales. Pour obtenir la fiabilité globale de la solution, chaque couche doit avoir des niveaux de fiabilité acceptables.

Diagramme montrant les couches et les activités transversales dans une architecture IoT.

Couche d’appareil et de passerelle

Dans le cadre de votre solution IoT globale, concevez vos appareils pour répondre aux exigences de disponibilité et de disponibilité de bout en bout de votre solution. Les appareils et les passerelles se présentent sous de nombreuses formes. Les appareils et passerelles IoT peuvent effectuer la collecte de données, le contrôle de supervision et l’analytique de périphérie.

  • La collecte de données connecte les appareils aux capteurs ou les abonne à la télémétrie des systèmes en aval, et envoie les données collectées vers le cloud. La conception de solution IoT doit garantir une gestion fiable des appareils et des communications fiables entre l’appareil et le cloud.

  • Les appareils qui fournissent un contrôle de supervision collectent non seulement des données à envoyer au cloud, mais prennent également des actions basées sur ces données. Les appareils renvoient des données aux machines ou à l’environnement pour effectuer des actions de supervision. La fiabilité des applications de contrôle de supervision est essentielle.

Conception de l’appareil

Concevez et sélectionnez des appareils IoT pour fonctionner de manière fiable dans les conditions de fonctionnement attendues pendant leurs durées de vie attendues. Un appareil fiable doit fonctionner en fonction de ses spécifications matérielles et logicielles, et toute défaillance doit être détectée et gérée par l’atténuation, la réparation ou le remplacement. Concevez des appareils pour la fiabilité, mais planifiez également les défaillances.

Cycle de vie de l’appareil

Les durées de vie de service limitées affectent la fiabilité de la solution. Évaluez les conséquences d’une défaillance de l’appareil sur la solution et définissez une stratégie de cycle de vie des appareils en fonction des exigences de la solution.

L’évaluation de l’impact des défaillances de l’appareil comprend les éléments suivants :

  • Gravité, comme les points uniques de défaillances.
  • Probabilité, comme le temps moyen entre les échecs.
  • Détectabilité, comme l’analyse du mode d’échec et des effets.
  • Période de temps d’arrêt acceptable.

Le temps d’arrêt opérationnel acceptable détermine la vitesse et l’étendue de la maintenance des appareils. La disponibilité ou la durée de vie de l’approvisionnement d’appareil et de pièce est une considération importante pour le cycle de vie de l’appareil.

Plus la conception est modulaire, plus il est facile d’échanger des parties du système, en particulier si certaines pièces deviennent obsolètes plus tôt que d’autres. Les chaînes d’approvisionnement alternatives ou multi-approvisionnement de composants et de modules sont essentielles pour des solutions fiables.

Configuration requise de l’environnement

Les conditions dans lesquelles un appareil fonctionne affectent sa fiabilité. Définissez vos exigences environnementales et utilisez des appareils avec des spécifications de fonctionnalités appropriées. Ces spécifications incluent des paramètres tels que la plage de température de fonctionnement, l’humidité, l’évaluation de la protection contre l’entrée (IP), l’immunité aux interférences électromagnétiques (EMI) et l’immunité contre les chocs et les vibrations.

Profil opérationnel

Le stress des performances affecte le comportement opérationnel des appareils et, par conséquent, leur fiabilité. Définissez des profils opérationnels qui estiment le comportement sur la durée de vie de l’appareil et évaluez la fiabilité des appareils en conséquence. Ces profils incluent les modes de fonctionnement, tels que la transmission sans fil ou les modes de faible puissance, et les conditions environnementales, telles que la température, sur la durée de vie de l’appareil.

Dans des conditions normales de fonctionnement, l’appareil et le logiciel doivent s’exécuter en toute sécurité dans les profils opérationnels spécifiés. Les appareils doivent être en mesure de traiter et de traiter tous les capteurs externes et le traitement des données requis par la solution. Évitez d’exécuter à la limite des fonctionnalités de l’appareil.

Réglementations et normes

Les appareils destinés à des secteurs spécifiques sont soumis aux réglementations et normes applicables. Définissez des réglementations et des normes, et assurez-vous que les appareils répondent aux exigences de conformité et de conformité. Les réglementations incluent la certification et le marquage, comme FCC ou CE. Les normes incluent les applications de l’industrie ou des agences, telles que ATEX et MIL-SPEC, et la conformité de sécurité, par exemple IEC 61508.

Couche de gestion et de modélisation des appareils

Les services cloud fournissent à chaque appareil une identité et gèrent les appareils à grande échelle. Le cloud est souvent le point d’entrée de données final pour tous les messages provenant des appareils. Dans les solutions IoT, les services cloud doivent assurer la fiabilité de l’intégration et de la transmission des données aux appareils IoT.

Les conditions de connectivité des appareils, notamment amont au cloud et en aval vers les réseaux locaux, doivent faire partie de la conception de la fiabilité de la solution IoT. Évaluez l’effet potentiel d’une interruption ou d’une interférence de connectivité et définissez une stratégie de connectivité en conséquence.

La stratégie de connectivité doit inclure la robustesse, par exemple la capacité de secours et la gestion de la déconnexion, ainsi que la sauvegarde de mise en mémoire tampon pour atténuer la dépendance cloud pour les fonctions critiques ou de sécurité.

Les pratiques de conception, de gestion des erreurs et de surveillance suivantes concernent la connectivité.

Conception de la connectivité

Une solution IoT doit permettre le flux d’informations entre les appareils connectés par intermittence et les services basés sur le cloud. Assurez-vous que vos appareils IoT peuvent fonctionner efficacement avec une connectivité intermittente au cloud.

Les meilleures pratiques incluent les recommandations suivantes :

  • Implémentez une logique de nouvelle tentative et de retour en arrière dans le logiciel de l’appareil.
  • Synchronisez l’état de l’appareil avec le cloud.
  • Assurez-vous que vous pouvez stocker des données sur des appareils si votre solution ne peut pas tolérer la perte de données.
  • Utilisez l’échantillonnage et les simulations de données pour mesurer la capacité réseau et les bases de référence des besoins en stockage.

Implémentation de la connectivité

Les SDK d’appareil Azure IoT fournissent des bibliothèques clientes que vous pouvez utiliser sur des appareils ou des passerelles pour simplifier la connectivité avec les services Azure IoT. Vous pouvez utiliser les SDK pour instrumenter les clients d’appareils IoT qui :

  • Connectez-vous au cloud.
  • Fournir une expérience de développement client cohérente sur différentes plateformes.
  • Simplifiez les tâches de connectivité courantes en extrayant les détails des protocoles sous-jacents et des modèles de traitement des messages, tels que le backoff exponentiel avec une logique de gigue et de nouvelle tentative.

Surveillance de la connectivité

Les problèmes de connectivité pour les appareils IoT peuvent être difficiles à résoudre en raison des nombreux points de défaillance possibles. La logique d’application, les réseaux physiques, les protocoles, le matériel, les Azure IoT Hub et d’autres services cloud peuvent rencontrer des problèmes.

La possibilité de détecter et d’identifier la source d’un problème est essentielle. Toutefois, une solution IoT à grande échelle peut contenir des milliers d’appareils. Il n’est donc pas pratique de case activée appareils individuels manuellement. Azure Monitor et Azure Event Grid peuvent vous aider à diagnostiquer les problèmes de connectivité dans IoT Hub.

Ressources de connectivité

Couche d’ingestion et de communication

La couche d’ingestion et de communication IoT couvre les quotas et limites de service, la capacité, la limitation et la mise à l’échelle automatique.

Conception de capacité redondante

Lorsque vous planifiez des seuils et des alertes, tenez compte de la latence entre la détection et l’action entreprise. Assurez-vous que le système et les opérateurs disposent de suffisamment de temps pour répondre aux demandes de modification. Sinon, par exemple, vous pouvez détecter la nécessité d’augmenter le nombre d’unités, mais le système pourrait échouer en perdant des messages avant que l’augmentation ne prenne effet.

Planification des quotas de service

Comme pour tous les services de plateforme, IoT Hub et le IoT Hub Device Provisioning Service (DPS) appliquent des quotas et des limitations sur certaines opérations, afin qu’Azure puisse fournir des niveaux de service et des coûts prévisibles pour ses services. Les quotas et les limitations sont liés au niveau de service et au nombre d’unités que vous déployez, de sorte que vous pouvez concevoir votre solution avec le bon nombre de ressources. Passez en revue les quotas et les limitations à l’avance et concevez vos ressources IoT Hub et DPS en conséquence.

Benchmarks à l’échelle de la production

À mesure que le nombre d’appareils ou le volume de données augmentent, la passerelle cloud doit être mise à l’échelle pour prendre en charge un flux de données ininterrompu. En raison de la nature distribuée des solutions IoT, du nombre d’appareils et du volume de données, il est important d’établir des points de référence de mise à l’échelle pour la solution globale. Ces points de référence permettent de planifier les risques de capacité. Utilisez le simulateur de télémétrie d’appareil Azure IoT pour simuler des volumes d’échelle de production.

Mise à l’échelle automatique pour s’ajuster dynamiquement aux quotas

L’un des avantages de l’utilisation de composants PaaS (Platform as a Service) est la possibilité de monter en puissance et de descendre en puissance avec peu d’effort en fonction de vos besoins. Pour fournir les coûts et les efforts opérationnels les plus bas, envisagez d’implémenter un système automatisé pour mettre à l’échelle vos ressources en fonction des besoins variés de votre solution.

Gestion des quotas et des limitations

Pour garantir la fiabilité de la solution, surveillez en permanence l’utilisation des ressources par rapport aux quotas et aux limitations afin de détecter les augmentations d’utilisation qui indiquent la nécessité de mettre à l’échelle. En fonction des besoins de votre entreprise, vous pouvez surveiller en permanence l’utilisation des ressources et alerter l’opérateur lorsque des seuils sont atteints, ou implémenter un système automatisé pour la mise à l’échelle automatique.

Capacité et mise à l’échelle des ressources

Dans le cadre d'une couche de transport

Pour se connecter au service cloud pour les données, le contrôle et la gestion, les appareils doivent accéder à un réseau. Selon le type de solution IoT, la fiabilité de la connectivité peut être votre responsabilité ou celle du fournisseur de services réseau. Les réseaux peuvent avoir des problèmes de connectivité intermittents et les appareils doivent gérer leur comportement en conséquence.

Couche DevOps

Une solution IoT d’entreprise doit fournir une stratégie permettant aux opérateurs de gérer le système. Pour répondre à la fiabilité, la gestion et les opérations IoT doivent utiliser des processus DevOps pour gérer les mises à jour, l’observabilité et la surveillance, ainsi que l’implémentation de haute disponibilité/récupération d’urgence.

Mises à jour

L’aspect appareil des solutions IoT présente des défis par rapport aux solutions basées sur le cloud. Par exemple, il doit y avoir un moyen de mettre à jour continuellement les appareils pour résoudre les vulnérabilités et les changements d’application.

En raison de la nature distribuée des solutions IoT, il est important d’adopter des stratégies sécurisées et sécurisées pour le déploiement des mises à jour. Les opérateurs IoT ont besoin d’outils et de pratiques de mise à jour simples et fiables.

Une solution de mise à jour d’appareil doit prendre en charge :

  • Déploiement progressif de la mise à jour via des contrôles de regroupement et de planification d’appareils.
  • Prise en charge des mises à jour résilientes des appareils A/B pour une restauration transparente.
  • Outils détaillés de gestion des mises à jour et de création de rapports.
  • Optimisation du réseau en fonction de la bande passante disponible.

Device Update pour IoT Hub est un service qui permet des mises à jour d’appareils IoT en direct sécurisées, sécurisées et fiables. Device Update pour IoT Hub pouvez regrouper des appareils et spécifier quels appareils doivent recevoir une mise à jour. Les opérateurs peuvent voir les status des déploiements de mises à jour et déterminer si chaque appareil applique correctement les mises à jour requises.

En cas d’échec d’une mise à jour, Device Update aide les opérateurs à identifier les appareils qui ont échoué et à voir les détails de l’échec. La possibilité d’identifier les appareils qui ont échoué peut éliminer les heures de tentative d’identification manuelle de la source de l’échec.

Device Update surveille la status des déploiements et mises à jour d’appareils, et indique le nombre d’appareils conformes à la version la plus élevée de la mise à jour compatible disponible.

Observabilité et supervision

Pour gérer la fiabilité globale de la solution et définir des procédures d’alerte, vous devez surveiller chaque composant de votre solution IoT. Tous les services Azure IoT publient des métriques qui décrivent l’intégrité et la disponibilité du service. Pour établir l’observabilité de bout en bout, tenez également compte des métriques dont vous avez besoin côté appareil. Utilisez ces métriques dans le cadre de la surveillance de la fiabilité globale de votre solution.

La surveillance et la diagnostics des applications IoT sont essentielles pour la disponibilité et la résilience. En cas de défaillance, vous devez savoir de quoi il s’agit, quand cela s’est produit et pourquoi. En surveillant le fonctionnement d’une application IoT et des appareils dans un état sain, vous pouvez détecter et résoudre les problèmes de fiabilité.

Pour atténuer les problèmes qui affectent la fiabilité des applications IoT, vous devez être en mesure de capturer des journaux et des signaux qui vous aident à détecter les problèmes dans les opérations de bout en bout. Utilisez la journalisation et la surveillance pour déterminer si une solution IoT fonctionne comme prévu et pour résoudre les problèmes liés aux composants de la solution.

Les actions suivantes prennent en charge l’observabilité pour les solutions IoT :

  • Établissez un mécanisme pour collecter et analyser les métriques de performances et les alertes.
  • Configurez des appareils, des services cloud et des applications pour collecter et se connecter à Azure Monitor.
  • Utilisez des tableaux de bord et des alertes en temps réel pour surveiller les services principaux Azure.
  • Définissez les rôles et les responsabilités pour la surveillance et l’action sur les événements et les alertes. Pour plus d’informations, consultez Rôles, responsabilités et autorisations.
  • Implémentez la surveillance continue.

Azure Monitor

Azure Monitor est la plateforme de supervision et de visualisation recommandée pour les solutions Azure IoT. Vous pouvez configurer des appareils, des services cloud et des applications, quel que soit l’emplacement de déploiement, pour envoyer des messages de journal directement ou via des connecteurs intégrés dans Azure Monitor.

  • Utilisez l’intégration de métriques intégrées à Azure Monitor pour la surveillance à distance des appareils IoT Edge. Pour activer cette fonctionnalité sur vos appareils, ajoutez le module collecteur de métriques IoT Edge à votre déploiement et configurez-le pour collecter et transporter des métriques de module vers Azure Monitor.

  • Avec Azure Monitor, vous pouvez surveiller l’état de votre environnement IoT Hub, vérifier qu’il fonctionne correctement et vérifier que vos appareils ne sont pas limités ou ne rencontrent pas de problèmes de connexion. IoT Hub fournit des métriques d’utilisation, telles que le nombre de messages utilisés et le nombre d’appareils connectés. Vous pouvez relayer ces données vers Azure Monitor à des fins d’analyse et pour alerter d’autres services.

  • Si votre solution utilise Azure IoT Central, vous pouvez utiliser les métriques qu’IoT Central fournit pour évaluer l’intégrité des appareils connectés et des exportations de données actives. Les applications IoT Central activent les métriques par défaut, auxquelles vous pouvez accéder à partir du Portail Azure. Azure Monitor expose et fournit plusieurs façons d’interagir avec ces métriques.

  • Azure Monitor fournit une analyse de journal personnalisée pour faciliter la décomposition des événements et des enregistrements en champs individuels pour l’indexation et la recherche.

  • Implémentez des tableaux de bord en temps réel et des alertes Azure Monitor pour surveiller les services principaux Azure. Les alertes vous informent de manière proactive des conditions spécifiques dans vos données de surveillance, afin que vous puissiez identifier et résoudre les problèmes avant que les clients ne les rencontrent. Vous pouvez définir des alertes sur des métriques, sur des journaux et sur le journal d’activité.

Application Insights est une fonctionnalité d'Azure Monitor qui permet une gestion et une surveillance extensibles des performances des applications pour les applications Web en direct. Si votre solution IoT utilise des applications Azure App Service, Azure Kubernetes Service ou Azure Functions personnalisées, vous pouvez utiliser Application Insights pour la surveillance et l’analyse des applications.

Application Insights peut :

  • Détecter automatiquement les anomalies de performances.
  • Diagnostiquer les problèmes en utilisant des outils d’analytique puissants.
  • Montrez ce que les utilisateurs font réellement avec vos applications.
  • Vous aider à améliorer en permanence les performances et la facilité d’utilisation des applications.

Supervision continue

L’intégration continue et le déploiement continu (CI/CD) sont une pratique DevOps qui fournit des logiciels plus rapidement et de manière plus fiable pour fournir une valeur continue aux utilisateurs. La surveillance continue (CM) est un concept similaire qui intègre la surveillance sur toutes les phases et tous les composants d’un cycle DevOps.

CM garantit en permanence l’intégrité, les performances et la fiabilité de vos applications et de votre infrastructure à mesure qu’elles transitent par le développement, la production et la mise en production pour les clients. Pour plus d'informations, consultez les pages suivantes :

Surveillance des ressources

Haute disponibilité/récupération d’urgence pour les composants critiques

Lorsque vous concevez et générez votre solution IoT, vous devez respecter le contrat SLA pour la récupération d’échec dans la pile de la solution. Votre contrat SLA doit vous guider sur les composants système critiques qui nécessitent une haute disponibilité/récupération d’urgence. Il existe plusieurs approches, de la redondance dans la pile de solutions IoT à la redondance pour des couches spécifiques. Le coût est également un facteur important à prendre en compte par rapport à l’importance de respecter les contrats SLA.

  • Les services Azure IoT ont défini des cibles de disponibilité et de disponibilité. Passez en revue les contrats SLA pour les services Azure IoT qui font partie de votre solution pour voir s’ils répondent à vos objectifs de temps de fonctionnement. Par exemple, Azure IoT Hub a un contrat SLA de 99,9 %, ce qui signifie que vous devez planifier un temps d’arrêt potentiel de 1 minute et 36 secondes par jour. Le Kit de développement logiciel (SDK) Azure IoT Hub fournit une logique intégrée et configurable pour gérer les nouvelles tentatives et les interruptions.

  • Envisagez de diviser vos objectifs de temps de fonctionnement en deux catégories : la gestion des appareils et les opérations d’ingestion de données. Par exemple, il peut être essentiel qu’un appareil envoie correctement des données à un hub IoT, même si les services de gestion des appareils ne sont pas disponibles. Pour plus d’informations, consultez les fonctionnalités de fiabilité du SDK Azure IoT Hub.

  • Envisagez d’utiliser du matériel redondant pour les capteurs, l’alimentation et le stockage. Le matériel redondant permet aux appareils de fonctionner si un composant critique n’est pas disponible. Le matériel peut également aider à résoudre les problèmes de connectivité. Par exemple, vous pouvez utiliser une approche de magasin et de transfert pour les données lorsque la connectivité n’est pas disponible. Cette fonctionnalité est intégrée à Azure IoT Edge.

  • Les appareils doivent également être en mesure de gérer les pannes cloud. Le jumelage de régions Azure fournit une stratégie de haute disponibilité/récupération d’urgence pour IoT Hub qui répond à de nombreuses exigences du contrat SLA. Si le jumelage de régions ne suffit pas, envisagez d’implémenter un hub IoT secondaire. Vous pouvez également utiliser DPS pour éviter les configurations IoT Hub codées en dur sur vos appareils. Si votre hub IoT principal tombe en panne, DPS peut affecter vos appareils à un autre hub.

  • Envisagez d’implémenter un modèle de message de pulsation pour les appareils que vous prévoyez d’être en ligne la plupart du temps. Ce modèle utilise un itinéraire de IoT Hub personnalisé avec Azure Stream Analytics, Azure Logic Apps ou Azure Functions pour déterminer si une pulsation a échoué. Vous pouvez utiliser la pulsation pour définir des alertes Azure Monitor qui prennent des mesures en fonction des besoins.

Ressources haute disponibilité/récupération d’urgence

Étapes suivantes