Skip to main content

Architecture IoTRoutes 


 

➡ Modèle de déploiement basé sur les rôles

La plateforme IoTRoutes repose sur une architecture modulaire basée sur les rôles, permettant d’adapter le déploiement en fonction des besoins opérationnels et de la taille de l’infrastructure.

Ce modèle, décrit comme un « Role-Based Modular Monolith », combine la simplicité d’un monolithe avec la flexibilité d’un déploiement de type microservices. Chaque composant du système peut être activé ou désactivé selon le rôle du serveur dans le déploiement.

Principes de fonctionnement
  • Déploiement modulaire par rôle :
    L’administrateur peut attribuer des rôles spécifiques à chaque serveur ou instance selon les besoins :

    • Workers : serveurs dédiés au traitement des données, à l’acquisition et à la gestion des files de messages.

    • Messaging / MQTT Brokers : serveurs réservés à la communication temps réel avec les appareils connectés.

    • Web Access / Client Web : serveurs dédiés à l’accès utilisateur via l’interface web ou les APIs REST.

  • Flexibilité de déploiement :
    Cette approche permet aussi bien un déploiement distribué (plusieurs serveurs spécialisés par rôle) qu’un mode autonome (standalone) sur une seule instance, idéal pour les environnements de test ou de démonstration (sandbox).

  • Simplicité et évolutivité :
    Grâce à ce modèle, l’ajout ou la réallocation de rôles s’effectue rapidement sans complexifier la maintenance ni nécessiter une orchestration microservices complète.
    Le système conserve ainsi la cohérence et les performances d’un monolithe, tout en offrant la souplesse d’un déploiement segmenté.

 


 

➡ Répartitions des charges

Le serveur back-end d’IoTRoutes, appelé AOS (Application Object Server), constitue le cœur de la plateforme.
Il regroupe l’ensemble des modules fonctionnels — y compris les composants de communication, de stockage, de messagerie, de traitement (workers), ainsi que le module d’authentification et d’autorisation des utilisateurs.

Architecture distribuée et redondance

L’AOS est conçu pour être déployé sur une ou plusieurs instances serveur, selon les besoins de performance et de résilience de l’infrastructure.
Chaque instance peut héberger un ou plusieurs rôles (Messaging, Workers, Web Access, etc.), permettant ainsi :

  • une répartition équilibrée de la charge entre les différents serveurs ;

  • une duplication des rôles critiques (par exemple, plusieurs brokers MQTT ou plusieurs workers d’acquisition) pour assurer la haute disponibilité et la tolérance aux pannes ;

  • une scalabilité horizontale, en ajoutant simplement de nouvelles instances AOS affectées à un rôle spécifique.

Équilibrage et performances

Dans les environnements de grande envergure ou de production, les serveurs AOS peuvent être placés derrière un équilibreur de charge (Load Balancer).
Ce dernier distribue automatiquement les requêtes et les traitements entre les différentes instances, optimisant ainsi :

  • la disponibilité du service,

  • la répartition dynamique du trafic utilisateur et IoT,

  • et la réactivité globale de la plateforme.

Modes de déploiement
  • Mode centralisé (standalone) : une seule instance AOS héberge tous les rôles, idéal pour les environnements de test, de démonstration ou les déploiements légers.

  • Mode distribué : plusieurs serveurs AOS partagent ou dupliquent les rôles selon la charge ou la criticité du service, permettant un déploiement robuste et évolutif pour les grandes structures.

     

 

Recent Posts