Avec NeoLoad, l’Education Nationale place le test de performance au cœur de son processus d’Intégration et de Déploiement Continu.

Yann Guernalec
Responsable plate forme nationale d’hébergement mutualisée Examen & Concours – IGR Rennes

Le Ministère de l’Education Nationale a développé une application de dématérialisation des copies d’examen. Le projet, nom de code Santorin, est développé par l’Académie de Rennes et exploitée au niveau national. Cette application permet de scanner les copies dès leur remise par les élèves pour les identifier et les rendre accessibles aux correcteurs qui utilisent toute une palette d’outils numériques pour les corriger.

Entreprise
Ministère de l’éducation nationale
Secteur d’activite
Education
Effectif
1,1 Million
Lieu
France

Des volumes de transaction très importants, le test en charge rigoureux est impératif avant la mise en production

 

L’application Santorin gèrera à terme 3 millions de candidats chaque année pour un volume de 30 millions de copies à dématérialiser. Les objectifs initiaux des tests de charges étaient de 1500 centres et 250 000 copies sur une durée de 1h à 4h, avec un pic de charge à partir de la première demie heure. Le déploiement de Santorin ne concerne actuellement qu’une partie des académies française et, à terme, l’objectif est de pouvoir traiter 3 millions de copies par jour. Les 17 et 19 juin 2019 les épreuves se sont déroulées en même temps dans 800 centres d’examen, l’application a géré 150 000 copies sur 2 jours, sur une plage d’une journée en moyenne.

NeoLoad grâce à sa capacité de simulation extrêmement réaliste à permis de tester l’application de bout en bout lors d’une campagne de test de 3 semaines. L’application a été testée depuis la scannérisation des copies jusqu’aux fonctionnalités de correction des copies en ligne.

Essayez NeoLoad, la plateforme de tests de performance la plus automatisée pour les entreprises testant APIs et Applications critiques en continue

 

Une infrastructure moderne pour relever le défi technologique et pour supporter la plateforme d’Intégration Continue

 

Pour que l’application soit évolutive et puisse accepter le volume croissant de copies à traiter, les architectes se sont orientés vers une infrastructure Docker et Kubernetes. Le choix de cette architecture s’explique aussi par la volonté de l’Education Nationale d’engager la transformation DevOps pour atteindre 3 objectifs :

  1. Automatiser les déploiements pour gérer un parc applicatif plus large ;
  2. Améliorer la qualité de service, en particulier en minimisant les temps d’indisponibilité du service pendant les mises à jour. La répartition des centres en métropole et dans les DOM TOM impose une disponibilité en 24h/24 et 7j/7 ;
  3. Accélérer le déploiement des nouvelles fonctionnalités développées en mode Agile, et accélérer la mise à disposition des fonctionnalités aux utilisateurs ;
  4. Rendre l’infrastructure scalable pour être en capacité d’absorber les pics de charge à la cible soit 30 000 000 de copies par an.

Au-delà de la plateforme technique, l’application Santorin est développée à base de microservices, architecture logicielle qui permet de travailler en mode agile, avec des itérations plus fréquentes. Ces choix d’architectures forment le socle de la transformation Agile/DevOps des équipes de l’Education Nationale.

NeoLoad, la plateforme de test de performance qui supporte la transformation DevOps

 

Le projet Santorin est le fer de lance pour les pratiques Agile/DevOps et pour déployer la plateforme d’Intégration Continue de l’Education Nationale. Un chiffre à lui seul illustre cette transformation : alors que les équipes Ops gèrent le déploiement d’une à deux release par an en mode traditionnel, elles doivent, en mode Intégration et déploiement continu assurer un rythme bien plus élevé, jusqu’à 6 releases en une semaine en pleine production.

Pour rendre possible cette accélération des fréquences de release, les équipes de l’Education Nationale ont lancé une révolution technique et, en parallèle, une transformation complète de l’organisation en mode DevOps. L’objectif : rapprocher les Dev et les Ops pour intégrer les requis des Ops plus tôt (et en particulier ceux relatifs à la performance) et ainsi limiter les interventions lors du déploiement.

L’objectif est d’intégrer le test de performance NeoLoad au cœur du processus d’intégration continue mis en place par les équipes. Il s’agit de lancer les tests de performance automatiquement avec Jenkins, pour valider la performance en continu, et sécuriser les déploiements. La capacité de NeoLoad de déployer l’infrastructure de test (générateurs de charge et contrôleurs) à la volée, dans un cluster Kubernetes permet de répondre aux objectif de réactivité des équipes.

Architecture cible de la software factory intégrant le test de performance avec NeoLoad

NeoLoad permet aux développeurs de tester plus tôt et mieux

 

C’est l’équipe Ops dirigée par Yann Guernalec qui a réalisé les tests de bout en bout de l’application. Pour le projet Santorin, ces tests de performance ont été réalisés en étroite collaboration avec les Devs- qui pour l’occasion se sont même rapprochés physiquement des Ops. L’équipe Ops est aussi le « coach test de performance » qui diffuse les meilleures pratiques et instille la culture de la qualité dans toutes les équipes.

Le fruit de ce travail, combiné avec la simplicité d’adoption de l’outil NeoLoad, permet aujourd’hui aux Dev de créer et d’exécuter aux même les tests de performance. Non seulement les Dev sont en mesure de commencer les tests plus tôt, mais comme ce sont eux qui connaissent le mieux l’application, ils sont capable de réaliser des tests encore plus pertinents.

L’objectif est de stocker tous ces tests réalisés quotidiennement par les Dev sur le répertoire partagé Git pour les mettre à disposition des Ops qui exécutent eux des tests de bout en bout avant chaque release.

L’outil NeoLoad facilite l’adoption par les Dev du test de performance. Selon Yann Guernalec, « NeoLoad facilite la tâche de rendre les Dev autonomes sur le test de performance. C’est l’avantage de l’outil, sa prise en main est hyper simple ».

La performance fait partie de la culture des équipes et leur excellence est reconnue

 

Le test de performance réalisé avec NeoLoad fait désormais partie intégrante de la culture et de l’organisation des équipes. Les tests sont réalisés à tous les niveaux, de manière quotidienne par les équipes de Dev et à chaque release par les Ops. Le résultat ? Le déploiement de l’application de dématérialisation des copies d’examen au niveau national sans aucun problème de performance. La capacité des équipes de valider le code de l’application et l’infrastructure qui la supporte, pour proposer une qualité de service optimum.

Automatisez vos tests de performances d'APIs et d'Applications end-to-end grâce à NeoLoad, la plateforme de test de performance en continue.

 

Suivez-nous