Technologies
La plateforme ATEK est conçue avec un assemblage de microservices. Un microservice est un service qui effectue une tâche simple (exemple envoyer un courriel) et qui opère de façon indépendante aux autres services. Ses microservices communiquent entre eux directement via des requêtes gRPC, http/s ou indirectement via des systèmes de files d’attente (Kafka, pub/sub, etc).
Les avantages des microservices sont :
Scalable → il est facile d’ajouter des ressources selon la charge
Simple à écrire et à maintenir → La mise à jour n’influence pas l’opération du reste de la plateforme
Voici les différentes technologies dont la plateforme ATEK est composée.
Node est un langage de programmation qui permet de concevoir la logique d’affaire du système.
Express et Fastify sont des librairies en Node.js gérant l’ensemble de la couche HTTP. II s’occupe de transmettre à l’utilisateur les différentes requêtes permettant a celui-ci d’afficher la page web demandée.
Mongo est une base de données non relationnelle qui est utilisée pour conserver l’état des éléments disponibles sur le système. MongoDB offre l’avantage d’être flexible et permet de réduire les coûts de réalisation d’un projet.
Bootstrap est une librairie facilitant le support des appareils ayant des résolutions différentes, incluant les tablettes et les appareils mobiles. II permet ainsi de rendre une application web accessible pour atteindre un plus grand nombre d’utilisateurs.
Angular est une librairie JavaScript permettant de construire des interfaces utilisateurs riches et avancée.
Nginx est un serveur web (HTTP) supportant des connexions simultanées. Nginx est considéré comme le serveur web le plus robuste de l’industrie. II permet ainsi à votre projet de supporter un grand nombre d’utilisateurs et de capteurs.
Twilio est le service utilisé pour l’envoi massif d’appels et SMS. Ce service offre une infrastructure riche et robuste pour l’envoit et la réception simultannée de millions d’appels et de SMS en plus de gérer l’intéraction avec les utilisateurs.
Sendgrid est le service utilisé pour l’envoi massif de courriels transactionnels. Ce service permet valider lorsque les clients ont reçu et lu le courriel.
Google Cloud Platform héberge l’infrastructure. Cette plateforme permet d’accroître (scaling) l’infrastructure de façon horizontale et verticale selon les besoins de charge des serveurs et d’assurer la robustesse du système tout au long du cycle de vie du produit.
Redis est une base de données en mémoire vive très rapide. Il sert à "cacher" les informations et traiter les données plus rapidement.
Docker est un système de conteneur englobant les services, leur systèmes d'exploitation et leur dépendance.