CAS D’ETUDE
Refonte et Optimisation des Performances du SI
OBJECTIFS
Notre client, leader français du secteur de la télécommunication, souhaite effectuer la refonte d’une partie de son SI afin de répondre à des contraintes de performances suite à l’obtention de nouveaux marchés.
MISSION
ESENS réalise pour son client une mission de développement et de refonte applicative du SI via la mise en place de méthodologies TDD et Scrum.
-
Approche TDD
Certaines applications pouvant être particulièrement sollicitées, nous avons effectué des tests de performance sur un environnement ISO prod avec Gatling afin de déterminer les modules particulièrement sensibles.
-
Architecture logicielle
Mise en place d’une architecture hexagonale afin d’isoler la logique métier et ainsi de limiter les dépendances aux différentes technologies pour une meilleure maintenabilité.
-
Développement en mode Scrum
Développement de microservices avec Spring Boot, communiquant de manière asynchrone grâce à la mise en place de files Kafka permettant de faire tampon entre les applications. A chaque catégorie de données est associée un topic Kafka. Un développement de tests unitaires avec Junit et Mockito, et de tests d’intégration via MockMvc, est réalisé pour chaque fonctionnalité. Suivi des méthodologies de pair programming et de code review pour une uniformisation et un partage des bonnes pratiques au sein de l’équipe.
-
Industrialisation & Data
Mise place en collaboration avec l’équipe infra de la stratégie d’orchestration des conteneurs Docker avec Kubernetes. Suivi de la production avec Elasticsearch, Logstash et Kibana. La mise en place de Kubernetes a permis d’augmenter les performances et la scalabilité de l’écosystème applicatif.
STRATEGIE
Notre client souhaitait moderniser une partie de son SI tout en y incluant des contraintes de performances liées aux nombre d’utilisateurs (2 à 3 millions) et aux pics d’utilisation de ses services pouvant dépasser les 20 000 requêtes secondes. Cet objectif a notamment été atteint grâce à une analyse aboutie de l’existant qui nous a permis de mettre en place une solution technique adaptée. Ce résultat n’aurait pu aboutir sans la collaboration et la compréhension des problématiques des équipes infra.