IBM vient de mettre en open source, sous le nom de Quarks, un modèle de programmation et un runtime pour les dispositifs de l’Internet des objets qui doivent intégrer des fonctions d’analyse des données et des événements. De nouveaux équipements se connectent tous les jours et il peut s’avérer coûteux de transmettre l’ensemble des données générées, par exemple par des capteurs, vers un moteur analytique central, pointe IBM. Quarks doit permettre l’analyse au niveau du dispositif connecté, afin non seulement de réduire le volume d’informations transmis, mais aussi celui des données stockées. Dans la documentation associée, publiée sur GitHub, il est expliqué qu’une application Quarks s’appuiera sur des fonctions analytiques pour décider quand les données devront être envoyées vers un système centralisé pour mettre en œuvre une action, procéder à une analyse approfondie ou simplement pour être stockées.

Quarks va servir à détecter un fonctionnement inhabituel et avertir, par exemple, de la surchauffe d’un moteur. Tant que tout se déroule normalement, il n’est pas toujours nécessaire de faire remonter les données sauf, justement, en cas d’anomalies pour essayer d’en déterminer les raisons. En dehors de l’Internet des objets, deux cas d’usages sont décrits pour Quarks. Celui-ci peut être embarqué dans un serveur d’application pour analyser les erreurs de connexion en temps réel sans impact sur le trafic réseau. Par ailleurs, au sein de salles informatiques ou de salles machines en général, il peut contrôler la santé des installations, en particulier en cas de bande passante limitée, et de nouveau sans risquer d’impacter le trafic réseau.

Des échanges basés sur MQTT, Watson IoT ou Kafka

Pour l’instant, les environnements Java 8 (y compris avec Raspberry Pi B et Pi2 B), Java 7 et Android ont été testés pour des déploiements sur des équipements situés en points d’entrée (edge devices). Quarks communique avec les systèmes informatiques de back-end à travers divers systèmes d’échanges de messages : MQTT (protocole standard de messagerie dans l’Internet des objets), la plateforme Watson IoT d’IBM (qui se présente comme un service cloud fournissant un modèle au-dessus de MQTT), le bus de messages Apache Kafka ou sur des hubs de messages développés spécifiquement.

Quarks peut être embarqué dans diverses passerelles, dispositifs connectés ou capteurs récupérant des flux de données et être utilisé en conjonction avec des solutions analytiques comme Spark, Storm ou Kafka.

IBM souhaite constituer une communauté autour de Quarks et accueille toute contribution et remarques sur son utilisation dans un cadre IoT ou dans un autre contexte, sur le support d'autres environnements, types d'analyse à faire aux points d'entrée, exemples d'applications, corrections de bugs, etc.