Architecture de référence Azure IoT

Stockage Blob
Fonctions
IoT Hub
Service IoT Device Provisioning
Logic Apps
Stream Analytics

Cet article présente une architecture recommandée pour les applications IoT utilisant des composants Azure PaaS (platform as a service). Le diagramme suivant illustre les différents composants Azure qui peuvent être utilisés pour concevoir une solution IoT. Le diagramme et l'article présentent la plupart des services généralement utilisés, mais aucune solution ne les requiert tous. Si vous débutez avec Azure IoT ou si vous cherchez à créer votre première solution de preuve de concept, commencez ici :

Diagramme de l’architecture

Cette architecture de référence utilise des composants Azure PaaS (Platform-as-a-Service). Microsoft recommande de commencer avec Azure IoT Central, qui est une plateforme de solution IoT aPaaS (application platform as a service). Cette plateforme est conçue pour simplifier et accélérer l'assemblage et l'exploitation des solutions IoT en préassemblant, en mettant à l'échelle et en gérant un grand nombre des services PaaS décrits dans cette architecture de référence. Le résultat est une expérience utilisateur et une surface d'exposition d'API prêtes à l'emploi et dotées des fonctionnalités nécessaires pour connecter, gérer et utiliser des flottes d'appareils à grande échelle. Découvrez comment comparer IoT Central (aPaaS) à une approche PaaS en fonction des besoins de votre solution.

Les solutions Azure IoT impliquent des éléments (généralement des appareils) qui génèrent des données, des insights relatifs à ces données, et des actions que vous entreprenez sur la base de ces insights. Prenons l'exemple d'un moteur qui envoie des données de température. Ces données sont utilisées pour déterminer si le moteur fonctionne comme prévu. Les insights relatifs à ses performances sont utilisés pour établir un calendrier de maintenance pour le moteur.

Appareils

Azure IoT prend en charge un large éventail d'appareils, des microcontrôleurs exécutant Azure RTOS et Azure Sphere aux cartes pour développeurs telles que MX Chip et Raspberry Pi. Azure IoT prend également en charge les passerelles de serveurs intelligents capables d'exécuter du code personnalisé. Les appareils peuvent effectuer un traitement local par le biais d'un service tel qu'Azure IoT Edge, ou se connecter directement à Azure afin de pouvoir envoyer des données à la solution IoT et en recevoir de celle-ci.

Lorsque les appareils sont connectés au cloud, plusieurs services facilitent l'ingestion des données. Azure IoT Hub est un service de passerelle cloud qui permet de connecter et de gérer des appareils en toute sécurité. Le Service IOT Hub Device Provisioning (DPS) permet un approvisionnement sans contact et juste-à-temps pour inscrire un grand nombre d'appareils de manière sécurisée et évolutive. Azure Digital Twins permet de créer des modèles virtuels de systèmes du monde réel.

Insights

Une fois les appareils connectés dans le cloud, leurs données peuvent être traitées et explorées pour obtenir des insights personnalisés sur leur environnement. De façon générale, il existe trois façons de traiter les données : le chemin chaud, le chemin intermédiaire et le chemin froid. La différence entre eux réside dans les exigences de latence et d'accès aux données.

  • Le chemin chaud analyse les données en quasi temps réel, à mesure qu'elles arrivent. Dans le chemin à chaud, les données de télémétrie doivent être traitées avec une latence très faible. Le chemin à chaud est généralement implémenté à l’aide d’un moteur de traitement de flux. Vous pouvez utiliser des services tels qu'Azure Stream Analytics ou HDInsight. La sortie peut déclencher une alerte, ou être écrite dans un format structuré qui peut être interrogé en utilisant des outils d’analyse.
  • Le chemin intermédiaire analyse les données qui peuvent prendre en charge des délais plus longs pour un traitement plus détaillé. Pour stocker et analyser de gros volumes de données, vous pouvez utiliser Azure Data Explorer ou Azure Time Series Insights.
  • Le chemin à froid effectue un traitement par lots à des intervalles plus longs (toutes les heures ou chaque jour). Le chemin froid s'applique généralement à de gros volumes de données qui peuvent être stockées dans Azure Data Lake, et les résultats n'ont pas besoin d'être aussi rapides qu'avec les chemins chaud ou intermédiaire. Pour analyser des données froides, vous pouvez utiliser Azure Machine Learning ou Azure Databricks.

Actions

Vous pouvez utiliser les insights relatifs à vos données pour gérer et contrôler votre environnement. Les actions d'intégration d'entreprise peuvent inclure le stockage de messages d'information, le déclenchement d'alarmes, l'envoi d'e-mails ou de SMS, ou l'intégration à des applications métier telles que les systèmes de gestion des relations avec la clientèle (CRM) et les progiciels de gestion intégrés (ERP). Les services suivants sont disponibles pour la gestion et l'intégration d'entreprise :

  • Power BI se connecte à vos données, les modélise et les visualise. Power BI vous permet de collaborer sur les données, et d'utiliser l'intelligence artificielle pour prendre des décisions pilotées par les données.
  • Azure Maps vous permet de créer des applications web et mobiles de géolocalisation à l'aide de services géospatiaux (recherche, cartes, routage, suivi et trafic), d'API et de kits de développement logiciel (SDK).
  • Recherche cognitive Azure fournit un service de recherche sur différents types de contenu. Celui-ci comprend des fonctionnalités d'indexation, d'enrichissement par IA et d'interrogation.
  • Azure API Management vous permet de gérer l'ensemble de vos API.
  • Azure Web Apps vous permet de déployer des applications web qui évoluent avec votre organisation.
  • Mobile Apps vous permet de créer des applications natives et multiplateformes pour iOS, Android, Windows ou Mac.
  • Dynamics 365 combine dans le cloud des systèmes de gestion des relations avec la clientèle (CRM) et des progiciels de gestion intégrés (ERP).
  • Microsoft Flow est une offre SaaS permettant d'automatiser les flux de travail dans les applications et autres services SaaS.
  • Azure Logic Apps est une offre PaaS basée sur le cloud utilisée pour créer et automatiser des flux de travail qui intègrent vos applications, données, services et systèmes.

Azure propose également différents services pour vous aider à surveiller l'ensemble de votre solution IoT et à en assurer la sécurité. Les services de diagnostic incluent Azure Monitor. Les services de sécurité tels qu'Azure Active Directory et Azure Defender pour IoT vous aident à contrôler, visualiser et gérer vos paramètres de sécurité, ainsi que la détection et la réponse aux menaces.

Digital Twins

Les clients utilisent Digital Twins en tant que mécanisme de contrôle et de surveillance des environnements connectés. Un jumeau numérique est un modèle virtuel d'un environnement du monde réel qui est piloté par des données issues de systèmes d'entreprise et d'appareils IoT. Il permet à une entreprise ou à une organisation de bénéficier d'insights et d'actions. Pour les développeurs et les architectes, les jumeaux numériques permettent de créer des environnements intelligents et connectés comme les suivants :

  • Maintenance prédictive dans le secteur de l’industrie
  • Visibilité de la chaîne d'approvisionnement
  • Étagères intelligentes pour un inventaire en temps réel
  • Maisons connectées et bâtiments intelligents

Déploiement à grande échelle

Générez la solution que vous souhaitez déployer à l'échelle mondiale. Pour une scalabilité optimale, créez votre application IoT sous forme de services discrets pouvant faire l'objet d'une mise à l'échelle indépendante. Cette section contient des considérations relatives à la scalabilité pour différents services Azure.

Fonctions. Lors de la lecture du point de terminaison Event Hubs, il existe un nombre maximal d’instances de fonction par partition de hub d’événements. La vitesse de traitement maximale est déterminée par la rapidité à laquelle une instance de fonction peut traiter les événements d’une partition unique. La fonction doit traiter les messages par lots.

IoT Hub. Pour IoT Hub, tenez compte des facteurs d’échelle suivants :

  • Le quota quotidien maximal de messages dans IoT Hub.
  • Le quota d’appareils connectés dans une instance IoT Hub.
  • Débit d’ingestion : rapidité à laquelle IoT Hub peut ingérer les messages.
  • Débit de traitement : rapidité à laquelle les messages entrants sont traités.

Chaque hub IoT est approvisionné avec un certain nombre d'unités dans un niveau de prix et d'échelle spécifique. Le niveau et le nombre d’unités déterminent le quota quotidien maximal de messages que les appareils peuvent envoyer au hub. Pour plus d'informations, consultez Quotas et limitations IoT Hub. Vous pouvez effectuer un scale up d’un hub sans interrompre les opérations existantes.

Stream Analytics. Les tâches Stream Analytics supportent mieux la mise à l’échelle si elles sont parallèles sur tous les points du pipeline Stream Analytics, depuis l’entrée à interroger jusqu’à la sortie. Une tâche entièrement parallèle permet à Stream Analytics de répartir le travail entre plusieurs nœuds de calcul. Pour plus d’informations, consultez Profiter de la parallélisation de requête dans Azure Stream Analytics.

IoT Hub partitionne automatiquement les messages d’appareil en fonction de l’ID de l’appareil. Tous les messages provenant d’un appareil particulier arrivent toujours sur la même partition, mais une seule et même partition a des messages provenant de plusieurs appareils. Par conséquent, l’unité de parallélisation est l’ID de la partition.

Sécurité

Cette section contient des considérations relatives à l'élaboration de solutions sécurisées.

Modèle de sécurité Confiance Zéro

Confiance Zéro est un modèle de sécurité qui suppose que des violations se produiront et qui traite chaque tentative d'accès comme si elle provenait d'un réseau ouvert. Confiance Zéro part du principe que vous avez implémenté les bases, comme la sécurisation des identités et la limitation des accès. Cela implique de vérifier explicitement les utilisateurs, d'avoir une visibilité sur leurs appareils et de pouvoir prendre des décisions d'accès dynamiques en utilisant la détection des risques en temps réel. Une fois les bases respectées, vous pouvez vous concentrer sur les exigences suivantes en matière de Confiance Zéro pour les solutions IoT :

  • Utilisez une identité forte pour authentifier les appareils.
  • Utilisez le droit d'accès minimal pour réduire le rayon d'impact.
  • Surveillez l'intégrité des appareils pour leur interdire l'accès ou les signaler afin qu'ils soient corrigés.
  • Effectuez des mises à jour pour maintenir l'intégrité des appareils.
  • Exercez une surveillance pour détecter les menaces émergentes et y répondre.

Pour plus d'informations, lisez le livre blanc Cybersécurité Confiance Zéro pour l'Internet des objets.

Communication fiable et sécurisée

Toutes les informations reçues d’un appareil et envoyées vers celui-ci doivent être dignes de confiance. À moins qu’un appareil puisse prendre en charge les fonctionnalités de chiffrement suivantes, il doit être limité aux réseaux locaux et toutes les communications d’interconnexion doivent passer par une passerelle locale :

  • Chiffrement des données et signatures numériques avec un algorithme de chiffrement à clé symétrique publiquement analysé, largement implémenté et dont la sécurité a été prouvée.
  • Prise en charge soit de TLS 1.2 pour TCP ou d’autres chemins de communication basés sur les flux de données, soit de DTLS 1.2 pour les chemins de communication basés sur un datagramme. La prise en charge de la gestion des certificats X.509 est facultative et peut être remplacée par le mode de clé prépartagée plus efficace en ce qui concerne le calcul et la communication pour TLS. Ce mode peut être implémenté avec une prise en charge des algorithmes AES et SHA-2.
  • Clés par appareil et magasin de clés pouvant être mis à jour. Chaque appareil doit disposer d'une clé ou d'un jeton unique qui l'identifie auprès du système. Les appareils doivent stocker la clé de manière sécurisée sur l’appareil (par exemple, à l’aide d’un magasin de clés sécurisé). L’appareil doit être en mesure de mettre à jour les clés ou les jetons régulièrement ou de façon réactive dans des situations d’urgence comme une intrusion dans le système.
  • Les microprogrammes et les logiciels d’application sur l’appareil doivent autoriser les mises à jour pour permettre la réparation des failles de sécurité détectées.

De nombreux appareils comportent trop de contraintes pour prendre en charge ces exigences. Dans ce cas, une passerelle locale doit être utilisée. Les appareils se connectent de manière sécurisée à la passerelle locale via un réseau local, et la passerelle permet une communication sécurisée vers le cloud.

Protection contre la falsification physique

Il est fortement recommandé que la conception de l’appareil intègre des fonctionnalités qui assurent une protection contre les tentatives de manipulation physique, afin de garantir l’intégrité et la fiabilité de la sécurité du système global.

Par exemple :

  • Choisissez des microcontrôleurs/microprocesseurs ou du matériel auxiliaire qui fourni un stockage sécurisé et l’utilisation d’un élément de clé de chiffrement, comme l’intégration d’un module de plateforme sécurisée (TPM).
  • Chargeur de démarrage sécurisé et chargement de logiciel sécurisé ancré dans le TPM.
  • Utilisez des capteurs pour détecter les tentatives d'intrusion et les tentatives de manipulation de l'environnement de l'appareil, avec alerte et « autodestruction numérique » potentielle de l'appareil.

Pour en savoir plus sur les considérations relatives à la sécurité, consultez Architecture de sécurité de l’Internet des objets (IoT).

Fiabilité et performances

La continuité d'activité et reprise d'activité constitue un domaine clé à prendre en compte pour des solutions IoT résilientes. Une conception pensée pour la haute disponibilité (HA) et la récupération d'urgence (DR) peut vous aider à définir et atteindre les objectifs de temps de disponibilité requis pour votre solution.

Différents services Azure offrent différentes options de redondance et de basculement pour vous aider à atteindre les objectifs de durée de bon fonctionnement qui conviennent le mieux à vos objectifs stratégiques. L’intégration de ces alternatives de haute disponibilité/récupération d’urgence dans votre solution IoT suppose d’évaluer minutieusement les compromis entre :

  • le niveau de résilience dont vous avez besoin ;
  • la complexité d’implémentation et de maintenance ;
  • Impact du coût des marchandises vendues (COGS)

L'article  Aide de référence technique pour la continuité des activités Azure  décrit un cadre général qui permet de réfléchir aux questions de continuité et de reprise d'activité. Le document  Récupération d'urgence et haute disponibilité pour les applications Azure  fournit des conseils sur la conception de l'architecture et les stratégies permettant aux applications Azure d'atteindre la haute disponibilité et la récupération d'urgence.

Vous trouverez également des informations sur les performances spécifiques aux services dans la documentation de chaque service Azure IoT.

Considérations relatives au coût

En règle générale, utilisez la calculatrice de prix Azure pour estimer les coûts. D'autres considérations sont décrites dans la section Coûts de Microsoft Azure Well-Architected Framework.

Étapes suivantes

Pour plus d'informations sur les différents éléments de l'architecture d'une solution, consultez les rubriques suivantes :