BLOG

3 choses que le réseau doit fournir pour l'IoT

Miniature de Lori MacVittie
Lori MacVittie
Publié le 18 août 2016

L’Internet des objets (IoT) continue d’être un sujet d’intérêt. Et tandis que les gadgets et les bidules destinés au grand public ont tendance à faire les gros titres, ce sont les coulisses, dans le travail de préparation du centre de données mené par les premiers utilisateurs, qui restent plus fascinants pour moi.

Probablement parce qu’il y a beaucoup de travail à faire pour soutenir un effort IoT à grande échelle. Et il n’existe pas vraiment de déploiement IoT à petite échelle lorsque la « chose » cible les consommateurs. Parce que si vous ne l’avez pas remarqué, il y a beaucoup de consommateurs. Et ils aiment les brillants.

 

 

IOT

Dans cette optique, de nombreuses initiatives sont actuellement en cours dans le secteur technologique pour soutenir ceux qui intègrent l’IoT aux offres existantes (voitures, appareils électroménagers, jouets) ainsi que ceux qui espèrent être la prochaine grande nouveauté avec des choses inédites dont vous ne saviez pas que vous aviez besoin jusqu’à ce que vous en ayez une.

Vraiment. Alors que le gouvernement domine les achats industriels pour l'IoT (selon notre rapport State of Application Delivery 2016), les fournisseurs de services de télécommunications, de technologie et de cloud ne sont pas loin derrière. En fait, chaque secteur a enregistré un taux d'achat assez bon au cours des douze derniers mois, ce qui indique qu'il y a beaucoup plus de travail en cours avec l'IoT qu'il n'y paraît si vous ne regardez que l'espace consommateur. 

Une grande partie de ce qui se passe se situe au niveau de l’infrastructure, du réseau qui fournit la connectivité et l’immédiateté de la réponse des applications en back-end qui gèrent, mesurent, surveillent, sécurisent et interagissent avec ces adorables petites puces intégrées dans l’ours en peluche préféré de votre enfant.

Comme toute application ou client (car c’est vraiment ce que sont ces objets distants, les clients), il existe un ensemble de services de base dont ils ont besoin pour fonctionner de manière cohérente, prévisible et fiable. Ils ont notamment besoin de services qui assurent la sécurité, la livraison et la visibilité.

texte alternatif

Sécurité

La sécurité a tendance à être la dernière chose sur laquelle nous nous concentrons avec les nouvelles technologies, je vais donc commencer par elle, car ce sont les failles de sécurité qui ont tendance à attirer le plus d’attention de nos jours, même pour une technologie naissante comme l’IoT.

Les objets doivent communiquer avec les applications back-end. Qu'il s'agisse de sauvegarder des données, de récupérer des mises à jour ou des correctifs, ou de modifier des configurations, les éléments doivent communiquer de manière sécurisée avec les applications back-end. Cela signifie la prise en charge d'un tunnel sécurisé, via SSL ou TLS. Cela signifie utiliser un protocole HTTP sécurisé, et non du texte brut, et cela signifie également ne pas coder en dur les clés dans vos éléments. Je suis sérieux à ce sujet. Ne le fais pas.  

La sécurité signifie également la validation de l’identité. Oui, je sais que cette chose est une voiture, mais à qui appartient cette voiture ? Nous avons besoin de services capables d’identifier rapidement et précisément les choses et de les associer à leurs utilisateurs et propriétaires autorisés afin d’atténuer la possibilité que mon voisin décide que ma radio doit être réglée sur autre chose qu’une station de heavy metal. L'horreur !

Enfin, la sécurité passe aussi par l’analyse des protocoles. C’est particulièrement important compte tenu des nouveaux protocoles envisagés pour la normalisation dans l’univers de l’IoT. Les insécurités liées au protocole peuvent constituer un risque important (vous vous souvenez peut-être de Heartbleed) et ont tendance à être difficiles à traiter en temps opportun. La capacité à détecter d’éventuels abus de protocoles peut permettre de remédier aux risques en amont.

Livraison

Les données, transactionnelles et autres, doivent être fournies aux objets et aux applications back-end. Cela ne consiste pas toujours simplement à transférer un tas de bits codés en JSON vers une API REST quelque part. De nombreuses choses parlent les nouveaux langages de l’IoT : MQTT, CoAP et AQMP. Mais leurs applications back-end respectives ? Ils parlez REST car ils fournissent également un accès Web et des applications mobiles aux mêmes capacités et informations. Ce qui signifie en fin de compte que quelque part dans le chemin de livraison se trouve une passerelle, un traducteur, un intermédiaire assurant l’interopérabilité des protocoles.

droïdes

Cela permet à l'appareil dans votre voiture d'envoyer des données ou des messages via MQTT qui peuvent être compris par l'application back-end qui parle REST. L'intermédiaire intercepte et traduit (de manière sécurisée) pour fournir des conversations transparentes entre votre objet et ses applications. Pensez à l’intermédiaire comme à C3PO, et votre voiture (ou autre chose) est R2D2. Cela signifie une prise en charge du protocole natif ainsi qu'une approche définie par logiciel qui fournit une plate-forme de script à travers laquelle la prise en charge d'autres protocoles peut être rapidement développée. Les scripts de chemin de données sont l’un des trois composants clés de la programmabilité du réseau, mais c’est le moins mentionné. En ce qui concerne l’IoT et la prise en charge d’une grande variété de protocoles et de langages, la flexibilité offerte par cette capacité souvent méconnue sera inestimable.

J’ai mentionné l’échelle comme un élément à prendre en compte plus tôt, et c’est ici, dans la livraison, que nous voyons cette exigence prise en charge. Pour étendre la prise en charge d’un million de choses, par exemple, vous allez probablement utiliser une architecture d’application basée sur la décomposition. Il ne s’agira peut-être pas de microservices à part entière, mais vous pourrez probablement séparer les domaines fonctionnels, au moins, pour permettre la mise à l’échelle de différentes fonctions avec une méthodologie plus efficace (et plus rentable).

C'est là qu'intervient un système tel que l'équilibrage de charge basé sur les messages. Vous vous souvenez peut-être de ce concept mentionné dans l’espace des fournisseurs de services en conjonction avec des protocoles comme Diameter et SIP , où l’efficacité et la rentabilité de l’échelle sont impératives.

L'équilibrage de charge basé sur les messages est important car des protocoles comme MQTT sont basés sur des messages. Il s’agit d’un modèle de publication-abonnement (pub-sub) qui n’est pas sans rappeler le middleware basé sur les messages dont on a peut-être entendu parler au plus profond de l’entreprise. Quoi qu’il en soit, ils sont basés sur des messages, et ces messages doivent être analysés et envoyés au service ou à l’appareil approprié. Pour ce faire, le service d’équilibrage de charge doit être capable d’analyser le message et de déterminer où l’envoyer, puis de sélectionner une ressource appropriée pour le gérer.

Ce n’est pas aussi simple qu’il y paraît, car les équilibreurs de charge de base ont des capacités d’analyse d’application limitées.  Mais il sera nécessaire de prendre en charge la mise à l’échelle des protocoles préférés des appareils IoT.

Visibilité

Enfin, l’infrastructure doit soutenir la visibilité. Cela signifie la capacité de voir ce qui se passe. C'est la visibilité sur les transactions sécurisées (inspection SSL) qui permet à la sécurité d'agir et d'identifier les mauvais acteurs. C’est la visibilité sur les modèles d’utilisation qui peut conduire à la mise à l’échelle automatique des services appropriés.

La visibilité ne se limite pas aux « big data » qui fournissent des analyses opérationnelles robustes, mais également aux rapports et à la journalisation. Le dépannage va devenir très délicat dans ces architectures complexes et la journalisation va être essentielle pour les outils et les personnes afin de détecter le problème. 

La mise à l’échelle et la prise en charge de l’IoT ne concernent pas uniquement les gadgets. Il y a beaucoup de travail à faire au niveau du réseau, de l’infrastructure et des cadres opérationnels nécessaires pour le soutenir. La bonne nouvelle est que si vous faites partie de ces personnes qui travaillent sur les architectures back-end (très importantes) qui serviront de support à certains gadgets sympas, vous pouvez toujours faire valoir que vous en avez besoin d’un (ou de trois) pour les tests.