Quelle architecture pour votre plateforme IOT ?
Cet article a pour objectif de passer en revue les 2 choix d’architectures possibles lorsqu’on parle de plateforme IOT à savoir « monolithique » ou « microservices » et vous permettre de faire le bon choix en fonction de votre besoin.
L’architecture "monolithique"
Cette architecture plus simple et plus facile à mettre en œuvre est assurément la bonne solution pour tous les clients souhaitant démarrer et faire un prototype pour valider un cas d’usage.
En mode monolithique, tous les composants de la plateforme sont lancés dans une seule instance et partagent les mêmes ressources OS. L’avantage évident de l'architecture monolithique est la minimisation de la mémoire requise pour faire fonctionner la plateforme.
Cette architecture atteindra ensuite ses limites lorsque le service devra passer en production et satisfaire aux contraintes classiques de stabilité, qualité de service, croissance et résistance aux pics de charge …
L’architecture "microservices"
Depuis Connect V1.1, la plateforme de TICATAG supporte le mode de déploiement microservices.
Cette architecture est donc composée de microservices fonctionnels répartis sur de multiples instances dupliquées qui communiquent au travers d’un bus logiciel Kafka.
Ainsi chaque problème matériel (redémarrage d’instance), ou logiciel, n’impactera qu’une fraction minime de la plateforme et permettra d’assurer une continuité de service au client final.
Cette architecture est le seul moyen d’assurer un Taux de disponibilité de 99%, si cet objectif est demandé par le service ou le client final.
Résumé des différences : monolithique versus microservices
Catégorie |
Architecture monolithique |
Architecture de microservices |
Conception |
Base de code unique avec plusieurs fonctions interdépendantes. |
Composants logiciels indépendants dotés de fonctionnalités autonomes qui communiquent entre eux à l'aide d'API. |
Développement |
Nécessite moins de planification au départ, mais devient de plus en plus complexe à comprendre et à maintenir. |
Nécessite davantage de planification et d'infrastructure au départ, mais devient plus facile à gérer et à maintenir dans la durée. |
Déploiement |
Application complète déployée en tant qu'entité unique. |
Chaque microservice est une entité logicielle indépendante qui nécessite un déploiement conteneurisé individuel. |
Débogage |
Suivre l'exécution du code dans le même environnement. |
Nécessite des outils de débogage avancés pour suivre l'échange de données entre plusieurs microservices. |
Modification |
Les petites modifications présentent de plus grands risques, car elles ont un impact sur l'ensemble de la base de code. |
Vous pouvez modifier des microservices individuels sans affecter l'ensemble de l'application. |
Evolutivité |
Vous devez mettre à l'échelle l'ensemble de l'application, même s'il n'y a que certains domaines fonctionnels qui subissent une augmentation de la demande. |
Vous pouvez mettre à l'échelle des microservices individuels en fonction des besoins, ce qui permet d'économiser les coûts globaux de dimensionnement. |
Investissement |
Faible investissement initial au prix d'efforts accrus en matière d'entretien et de maintenance. |
Investissement en temps et en coûts supplémentaires pour configurer l'infrastructure requise et renforcer les compétences de l'équipe. En contrepartie, des économies de coûts, de maintenance et d'adaptabilité à long terme. |
Conclusion - Pourquoi choisir Connect V2 ?
A partir de Connect V2, TICATAG est en mesure de proposer à tous ses clients non seulement la possibilité d’utiliser la solution en marque blanche mais aussi, pour ceux qui le souhaite, le déploiement de la plateforme sur leurs propres instances dans le datacenter AWS de leur choix.
Nous vous offrons ainsi une plateforme clé en main, sur une architecture optimum pour permettre de gérer des volumes importants de données, sans investissements et disponibles immédiatement pour démarrer immédiatement.
N'hésitez pas à contacter nos équipes si vous souhaitez en discuter et mettre en place un démonstrateur ....