IoT Hub ou Event Hub, Quels services pour la communication des données dans l’IoT ?
Introduction
Parmi les briques Azures, on trouve 2 éléments particulièrement intéressants pour la communication d’information dans le domaine de l’IoT, nous avons l’ “Event Hub” et l’ “IoT Hub”. Dans cet article nous allons comparer ces services afin de déduire les scénarios d’utilisation adéquats à chacun.
Event Hub vs IoT Hub
Différences techniques
Globalement ces 2 services ont des attributs similaires, ils sont conçus pour travailler avec un débit élevé de données, une faible latence mais voyons ici un comparatif des différences techniques:
_ | IoT Hub | Event Hub |
---|---|---|
Communication | Bidirectionnelle | Unidirectionnelle |
Protocoles | AMQP, WebSocket, HTTP/1, MQTT | AMQP, WebSocket, HTTP/1 |
Sécurité | Fonctionne avec un carnet d’identité et un contrôle d’accès destiné aux devices communicants | Fournit des stratégies d’accès partagés entre les devices |
Observation des communications | Un panel d’évènements est fourni entre la connectivité des appareils, authentification et communication, alertant précisément de toute défaillance. | Dispose uniquement d’un graphique de mesures à l’échelle du Hub |
Scaling | Prise en charge de millions d’appareils connectés simultanément | jusqu’à 5000 connexions AMQP |
Cas d’utilisation
En réalité, ces Hubs n’ont pas toujours été en concurrence. L’Event Hub était l’outil spécialisé dans le traitement de “télémétrie et d’évènement” et donc prédestiné à être utilisé pour l’IoT, dans le cadre d’une communication Device->Cloud. Cependant le besoin en IoT grandissant, une nouvelle solution a été apportée , l’IoT Hub, un hub entièrement pensé pour le domaine prenant la place de l’Event Hub dans la communication Device -> Cloud. Aujourd’hui il est recommandé d’utiliser l’IoT Hub pour les messages depuis les devices vers le cloud, en profitant du canal bidirectionnel pour une éventuelle réponse vers les devices,et d’utiliser l’Event Hub pour la gestion d’évènements générés par le traitement des données massives.
Exemple : Alerte générée par un device, après analyse de ses données récupérées ou tout simplement pour de l’analyse de devices en temps réel sur un tableau de bord.
Conclusion
Nous pouvons maintenant bien distinguer l’utilisation des 2 outils.
L’IoT Hub est un élément complexe et particulièrement complet pour les scénarios IoT, il est le point d’entrée de la communication des devices vers le cloud. Tandis que l’Event Hub est quant à lui un outil très simple à maitriser, permettant une gestion d’évènements plutôt efficace descendant du cloud vers un tableau de bord ou un service de notification cliente.
Mise en place des Hubs sur la plateforme Azure
IoT Hub
En ce qui concerne l’IoT Hub, je vous conseille vivement de regarder l’article Azure IoT Hub, provisioning et configuration par Michaël Fery.
Event Hub
Nous allons maintenant créer un Event Hub. Pour cela commencez par vous connecter sur le portail Azure classique, puis dans la catégorie “Service Bus” cliquez sur créer, assignez un nom, une zone et laisser le type en “messagerie” et non Hub de notification (qui lui est un hub d’évènement dédié à la Push Notification)