Cap sur les plates-formes IoT (partie 3)
Introduction
Les deux premières parties de cet article se sont focalisées sur les besoins de l’IoT et sur l’émergence du concept de plates-formes d’Internet des objets (Cap sur les plates-formes IoT partie 1) . Un cadre d’analyse des plates-formes IoT a été proposé (Cap sur les plates-formes IoT partie 2) et il convient maintenant d’en montrer sa réelle applicabilité.
Rappel du Cadre d’architecture des plates-formes IoT
La figure suivante montre les services offerts par les plates-formes. Étant donné que les offres du marché mutent à grande vitesse, nous avons décidé de sélectionner quelques plates-formes très différentes afin d’illustrer la flexibilité du modèle proposé.
Les offres
La figure suivante rappelle quelques offres parmi la petite centaine disponible au niveau mondial (estimation de notre part).
Les offres analysées
- La première proposée est ThingWorx pour sa grande couverture fonctionnelle et sa réputation.
- La deuxième est AWS IoT pour sa capacité d’intégration et d’exploitation de l’ensemble du catalogue Amazon, permettant de construire à peu près tout ce que l’on peut imaginer et de manière élastique !
- La troisième est OVH PaaS Time series qui illustre parfaitement les plates-formes IoT centrées sur des fonctions spécialisées mais ouvertes.
- La quatrième est ThingSpeak qui est une offre à l’origine open source et qui a été reprise par le groupe MathWorks. ThingSpeak est principalement une offre de stockage, d’analyse et d’affichage de données.
La grille d’analyse
Pour chaque offre, nous retrouvons sa fiche signalétique comprenant :
- Les identifiants de l’offre (nom, éditeur, operateur…)
- Une vue générale sur positionnement de l’offre.
- L’offre analysée suivant le cadre d’architecture IoT OCTO et des commentaires.
- Les points forts et ceux à améliorer selon nous.
ThingWorx
Identifiants de l’offre
Intitulé de l’offre | ThingWorx IoT platform |
Site web | http://www.thingworx.com |
Année de fondation (de l’offre) | 2009 |
Orientation | Plate-forme généraliste acceptant des extensions |
Type(s) de déploiement | Cloud / On-premises / Embedded |
Vue générale du positionnement de l’offre
Fonctions principales
ThingWorx est une plate-forme d’IoT très complète qui couvre pratiquement tous les domaines d’applications de l’IoT. Elle offre également des environnements de développement d’applications intégrés afin d’accélérer le cycle de vie des offres métiers IoT (Composer et MashupBuilder). Un “App store” appelé “ThingWorx Marketplace” permet d’enrichir les fonctions de la plate-forme. Des dizaines d’applications sont déjà disponibles et permettent souvent le raccord de nouveaux objets connectés. Cette plate-forme se distingue également par la richesse de ses modes de déploiement (aussi bien dans le cloud qu’en entreprise et intégrée à des produits éditeur).
Architecture
La figure suivante (publiée sur le site web de ThingWorx) présente les grands blocs du système.
On remarque le bloc de communications multi-protocoles, un bloc API et interface externe, un moteur de stockage et des fonctions frontales permettant aux utilisateurs d’accéder aux fonctions et données de la plate-forme. ThingWorx se présente donc comme un atelier, une plate-forme d’exécution et un store permettant de bénéficier d’applications existantes. La connexion aux offres SaaS du marché est offerte afin de faciliter l’intégration au SI d’entreprise (par exemple avec SalesForce). Ce modèle très intégré a séduit de nombreux utilisateurs. De plus, la possibilité de déployer en mode PaaS ou On premises est un atout majeur de l’offre pour qui souhaite garder son SI un périmètre isolé.
Analyse suivant le cadre d’architecture IoT OCTO
ThingWorx couvre pratiquement toutes les fonctions identifiées sur notre cartographie fonctionnelle.
Points forts et à améliorer
La complétude de l’offre et sa capacité à déployer en mode PaaS ou O__n premises sont les deux atouts majeurs et distinctifs de l’offre par rapport à la concurrence. Nous ne disposons par de retour d’expérience sur la scalabilité de l’offre. Ce point est à surveiller, surtout dans le cas d’une plate-forme très sollicitée où Amazon peut se placer comme un très sérieux challenger.
AWS IoT
Identifiants de l’offre
Intitulé de l’offre | Amazon Web Services IoT |
Site web | http://aws.amazon.com/iot |
Année de fondation (de l’offre) | 2015 |
Orientation | Plate-forme généraliste intégrée à l’offre AWS |
Type(s) de déploiement | Cloud uniquement |
Vue générale du positionnement de l’offre
Fonctions principales
La plate-forme AWS IoT est en elle-même une plate-forme assez réduite mais elle permet d’accéder à une très grande partie de l’offre Cloud d’Amazon. L’offre IoT d’Amazon est au final extrêmement riche et offre un potentiel de développement inégalé sur le marché. Il est donc possible de constituer des plates-formes IoT custom à haute performance de manière aisée et rapide. Par ce positionnement original, Amazon couvre quasiment tous les besoins IoT. Le pré-requis est toutefois de bien maîtriser l’offre globale d’Amazon.
Architecture
La figure suivante (présente sur le site web d’Amazon) présente les grands blocs de son offre :
La plate-forme accueille les messages en MQTT ou HTTP et assure la sécurité d’accès. Un “Device registry” recense les objets physiques qui sont connectés (connus) de la plate-forme. Un “device shadow” garde en mémoire l’état logique de l’objet physique (par exemple si une lampe est allumée ou éteinte). L’état est mis à jour par les messages. Un moteur de règles permet de transmettre les messages sur conditions à des services autres, présents sur AWS. C’est là, toute la puissance de AWS IoT qui offre finalement un hub d’accès et de traitement minimal et association avec toute la machinerie d’AWS (Lambda, stockage, bases de données…). Amazon offre le SDK client qui permet de créer des objets qui sont, de facto compatibles avec la plate-forme.
Analyse suivant le cadre d’architecture IoT OCTO
AWS IoT implémente directement la vision cible de l’IoT : chaque objet est supposé communiquer directement avec la plate-forme (pas de passerelle applicative locale). Le device shadow apparaît comme intéressant dans le cas d’applications simples ou devant offrir de la visibilité sur l’état des objets. La cartographie ci-dessous fait apparaître les items traités par AWS IoT (en bleu clair transparent) et ceux traités par le reste de la plate-forme AWS (en orange transparent). A noter que tous les compléments sont faisables sur AWS mais nécessitent généralement du développement spécifique.
Points forts et à améliorer
Élasticité et haute disponibilité sur l’ensemble de la chaîne de traitement IoT est assurément le point majeur d’AWS IoT. L’inconvénient est la nécessité de maîtriser l’offre AWS dans son ensemble, mais le jeu en vaut la chandelle.
Les fonctions de gestion des objets restent assez embryonnaires et nécessitent souvent des compléments.
En conclusion une offre IoT réservée à ceux qui maîtrisent leur SI et qui ont besoin d’une plate-forme hautement scalable et résiliente.
OVH Time series
Identifiants de l’offre
Intitulé de l’offre | OVH PaaS Time |
Site web | http://www.ovh.com |
Année de fondation (de l’offre) | 2015 |
Orientation | Plate-forme spécialisée dans les series temporelles |
Type(s) de déploiement | Cloud uniquement |
Vue générale du positionnement de l’offre
Fonctions principales
Le traitement des séries temporelles est de première importance dans l’IoT. Les événements sont, en général, horodatés et les calculs/statistiques sur les dates sont des traitements récurrents. OVH a parfaitement compris ce besoin et a monté cette offre qui est un exemple emblématique de la plate-forme IoT très spécialisée. La fonction première est le stockage des données dans une base de données spécialisée sur les séries temporelles.
Architecture
Il s’agit d’une offre SaaS basée sur le produit open source http://opentsdb.net/. L’offre se concentre sur le stockage et il est nécessaire de créer des applications externes qui vont exploiter les données en faisant des requêtes sur la base.
Analyse suivant le cadre d’architecture IoT OCTO
Il s’agit donc d’une base de données temporelle en mode SaaS. Les fonctions offertes sont minimales par rapport à une plate-forme IoT comme présenté ci-dessus.
Points forts et à améliorer
L’offre est donc réduite à sa plus simple expression. Les capacités de plugin de opentsdb pourront être exploitées en mode multi-tenant pour passer d’une plate-forme d’acquisition à une plate-forme, d’acquisition et de traitement.
ThingSpeak
Identifiants de l’offre
Intitulé de l’offre | ThingSpeak |
Site web | https://thingspeak.com |
Année de fondation (de l’offre) | 2011 |
Orientation | Plate-forme de collecte et de stockage de données avec traitements mathématiques |
Type(s) de déploiement | Cloud (avec matlab) / On-premises (sans matlab) |
Vue générale du positionnement de l’offre
Fonctions principales
ThingSpeak est à l’origine une plate-forme IoT open source dont l’objectif est de collecter, de stocker et de traiter des données générées par des objets connectés. En 2015, le projet a été repris par MathWorks et la partie open source a été mise de côté. Depuis le mode Saas a obtenu de nombreux services supplémentaires notamment une intégration avec Matlab.
Pour ceux qui souhaitent garder leurs données privées, l’offre open source correspond parfaitement puisqu’il est possible de la déployer sur ses propres serveurs. Pour les autres, le mode Saas est bien plus complet, il permet notamment de réagir lors de l’arrivée d’une donnée, ou encore de programmer des actions automatiques.
Architecture
La figure suivante présente les grands blocs de l’offre Saas :
Les objets/capteurs communiquent directement avec la plate-forme ThingSpeak par des requêtes HTTP. Un système de clés est présent pour assurer la sécurité des données, qui sont ensuite stockées dans une base relationnelle. L'arrivée d’une donnée peut être l’élément déclencheur d’une action : le lancement d’un script Matlab qui fait des opérations mathématiques sur les données par exemple.
Analyse suivant le cadre d’architecture IoT OCTO
Comme AWS IoT, ThingSpeak permet aux objets de communiquer directement avec la plate-forme. Ce qui, d’après nous, est une notion fondamentale pour une plate-forme IoT.
L’offre On premises est minimale, il s’agit d’une base de données temporelle. L’offre SaaS est un peu plus développée. L'intégration avec les outils Matlab peut s’avérer intéressante, notamment pour réaliser des applications où de nombreuses opérations mathématiques sont nécessaires sur les données.
Points forts et à améliorer
ThingSpeak est une plate-forme très simple à mettre en oeuvre pour collecter et stocker des données. La plate-forme expose une API permettant de réaliser programmatiquement ce qui est disponible sur l’IHM.
La gestion des objets est inexistante dans l’offre et complique par conséquent la scalabilité de la plate-forme. L’ajout d’un autre protocole de communication (MQTT par exemple) serait un plus et permettrait d’avoir plus d’objets compatibles avec la plate-forme IoT.
En somme, ThingSpeak est idéale pour des petits projets de monitoring et de collecte de données.
Conclusion
Dans la première partie de cet article, nous avons présenté les besoins de l’IoT et décrit ce qu’est une plate-forme IoT. Dans la deuxième partie, nous avons abordé les plates-formes IoT d’une manière architecturale et applicative. Dans cette troisième partie, nous avons présenté la réelle applicabilité de notre model sur quatre plates-formes IoT. A travers ces exemples, nous avons pu apercevoir la grande diversité des offres présentes aujourd’hui ; de l’offre très spatialisée comme OVH Time series à celle très complète, couvrant la majorité de notre cartographie fonctionnelle (ThingWorx/Amazon IoT). Dans une prochaine partie, nous présenterons deux autres plates-formes positionnées encore différemment.
Annexe :
Fiche d'identification des offres
Intitulé de l’offre | ThingSpeak | OVH PaaS Time | Amazon Web Services IoT | ThingWorx IoT platform |
Site web | https://thingspeak.com | http://www.ovh.com | http://aws.amazon.com/iot | http://www.thingworx.com |
Année de fondation (de l’offre) | 2011 | 2015 | 2015 | 2009 |
Clients notables | inconnu | Aucun (offre en Bêta) | En cours d’acquisition car offre en “Bêta” | http://www.thingworx.com/Case-Studies |
Localisation et nationalité | USA | FRANCE | USA, plate-forme en Europe également | USA |
Chiffre d’affaire (de l’offre) | Inconnu | Inconnu | Inconnu | Inconnu |
Structure capitalistique | ioBridge puis MathWorks depuis 2015 | OVH | Amazon | Filiale de PTC http://www.ptc.com |
Orientation | Plate-forme de collecte et de stockage de données avec traitements mathématiques | Plate-forme spécialisée dans les series temporelles | Plate-forme généraliste intégrée à l’offre AWS | Plate-forme généraliste acceptant des extensions |
Politique de Partenariats | Inconnu | Peu développée | Très puissante (dizaines de partenaires) | Très puissante (dizaines de partenaires) |
Type(s) de déploiement | Cloud (avec matlab) / On-premises (sans matlab) | Cloud uniquement | Cloud uniquement | Cloud / On-premises / Embedded |
Offres complémentaires | Plugin matlab | L’offre OVH : Cloud privé, Cloud public, serveurs dédiés, offre télécom | L’offre AWS : Machine Learning, Stockage, calcul... | Machine Learning et Marketplace |
Si vous souhaitez aller plus loin sur ce sujet, OCTO Academy vous propose une formation de 2 jours intitulée : "Créer une plateforme Internet des objets ou IoT platform" les 2-3 mai ou les 7-8 novembre 2016.