Micro-services Tatiana Aubonnet
Besoins fonctionnels pour services M2M/IoT Actions sur le noeud Time synchronisation Mutualisation des services Monitoring Collecter les mesures Détection des IoT défaillants Control/Analyse Prise en charge des IoT défaillants Remote control of M2M Devices Analyser des données collectées Télémétrie: Reporting périodique ou à la demande Gestion des services (composition) Pré-configuration ou configuration dynamique Hétérogénéité M2M Devices/Gateways type varieties Multiple M2M service providers Avoir la faculté de s’adapter à des changements dans l’environnement (ajout ou suppression d'un device de manière dynamique) Déploiement/Redéploiement Activation/désactivation Liens réseau Hétérogénéité du réseau (abstraction des protocoles réseau) Asymmetric flows Reachability Paths diversity Group mechanisms Gestion du mode déconnecté, connexion intermittente, fiabilité dans le temps Communication possible vers appareil en veille ou en économie d’énergie Sécurité Authentification mutuelle Autorisation/Confidentialité/Chiffrement Intégrité des données échangées, mécanisme de confirmation, transaction entre objets Environnement de confiance identité unique Stockage des données Watchdog Service Mobilité
Micro services IoT Sécurité: Authentification Autorisation/Confidentialité Intégrité des données échangées Environnement de confiance Time synchronisation entre M2M device et gateway Mesures Periodic reporting (Paramètres M2M device(s)) On demand reporting Possibilité de changer l’état d’un device (activé/désactivé M2M device) Transaction entre objets Communication vers device en veille Pouvoir recevoir de l’information a interval régulier Mécanisme de confirmation Robustesse, Interférences: Pouvoir recevoir de l’information non sollicitée
Node-RED (IBM) Les flux en entrée et en sortie: abstraction protocole réseau Micro services : Fonction Switch Change Range Delay Trigger Macro services dédiés (IA, analyse…)
Node-RED (IBM)
MQTT MQTT1 (Message Queuing Telemetry Transport) est un protocole de messagerie publish-subscribe basé sur le protocole TCP/IP. MQTT v3.1.1 est maintenant un standard OASIS, la spécification du protocole est disponible en HTML et PDF. The Quality of Service (QoS) level is an agreement between sender and receiver of a message regarding the guarantees of delivering a message. There are 3 QoS levels in MQTT: At most once (0) At least once (1) Exactly once (2).
Node-RED (IBM) Mesures uniquement vues de l’utilisateur Temps de réponse Disponibilité Nombre de requêtes par minute Bande passante, nombre de Ko téléchargés Pas d’intégrité à priori CPU/Memory usage (besoin définis lors de la mise en production/manuel) Mesures uniquement vues de l’utilisateur Monitoring global et extérieur de l’application Analyse des logs et des mesures pour identifier les problèmes d’application
Node-RED (IBM)
Node-RED (IBM) Déploiement d’une nouvelle version de l’application sans coupure
Node-RED (IBM) Macro services/composants
Microsoft Azure Composants d’Azure: Portail de gestion Calcul Gestion des données Mise en réseau Services de développement Identité et accès Mobile Sauvegarde Messagerie et intégration Assistance au calcul Performances Big Compute et Big Data Médias Commerce
Oracle IoT Scalability Integration Secure Data and Devices with the Utmost Confidence Analyse et Manage
Amazon Web Services IoT
Amazon Web Services IoT Passerelle AWS IoT connecter en toute sécurité et de communiquer efficacement communications de type 1 à 1 ou 1 à plusieurs protocoles MQTT et HTTP 1.1 Authentification et autorisation AWS IoT assure l'authentification mutuelle et le chiffrement sur tous les points de connexion, si bien qu'aucun échange de données ne se produit entre les appareils et AWS IoT sans que les identités n'aient été vérifiées. MQTT: authentification basée sur le certificat X.509 vous pouvez révoquer à tout moment les droits d'accès de l'appareil de votre choix. Registre Le registre affecte une identité unique à chaque appareil et permet d'assurer le suivi de ses métadonnées (attributs et caractéristiques notamment) Cas d'un capteur: Elles précisent s'il s'agit d'un capteur de température et si ses mesures sont en degrés Fahrenheit ou Celsius. Versions Shadow: Mode déconnecté: Création d'une version virtuelle persistante, ou version « shadow » qui correspond au dernier état de chaque appareil et permet aux applications et aux autres équipements de lire les messages de l'appareil et d'interagir avec ce dernier. Moteur de règles: collecte, traite et analyse les données transmises par les appareils connectés afin de déclencher des actions.
Amazon Web Services IoT
Amazon Web Services IoT
Amazon Web Services IoT
Amazon Web Services IoT
Amazon Web Services IoT
Gateways and Devices Gateways React locally if the network is down Add security functions Reduce latency and minimize traffic Must interact with several interfaces and devices Be monitored Be controlled remotely Applications running on gateways As a lot of concurrency Event driven code is involved All Have the ability to adapt to changes in the environment Reliably all the time, even if the network is down
Gateways and Devices
Gateways and Devices
Gateway-as-a-Service (GaaS) The gateway can be used as a per-user resource provided by a cloud service to interact with gateways, other cloud services, and user devices.
BitReactive
BitReactive
BitReactive
BitReactive
BitReactive
Gateways: Kura
Gateways: Kura
Gateways: Kura Kura comes with the following services: I/O Services Serial port access through javax.comm 2.0 API or OSGi I/O connection USB access and events through javax.usb, HID API, custom extensions Bluetooth access through javax.bluetooth or OSGi I/O connection Position Service for GPS information from a NMEA stream Clock Service for the synchronization of the system clock Kura API for GPIO/PWM/I2C/SPI access Data Services Store and forward functionality for the telemetry data collected by the gateway and published to remote servers. Policy-driven publishing system, which abstracts the application developer from the complexity of the network layer and the publishing protocol used. Eclipse Paho and its MQTT client provides the default messaging library used. Cloud Services Easy to use API layer for IoT application to communicate with a remote server. In addition to simple publish/subscribe, the Cloud Service API simplifies the implementation of more complex interaction flows like request/response or remote resource management. Allow for a single connection to a remote server to be shared across more than one application in the gateway providing the necessary topic partitioning. Configuration Service Leverage the OSGi specifications ConfigurationAdmin and MetaType to provide a snapshot service to import/export the configuration of all registered services in the container. Remote Management Allow for remote management of the IoT applications installed in Kura including their deployment, upgrade and configuration management. The Remote Management service relies on the Configuration Service and the Cloud Service. Networking Provide API for introspects and configure the network interfaces available in the gateway like Ethernet, Wifi, and Cellular modems. Watchdog Service Register critical components to the Watchdog Service, which will force a system reset through the hardware watchdog when a problem is detected. Web administration interface Offer a web-based management console running within the Kura container to manage the gateway.