With NeoLoad, National Education places performance testing at the heart of its process of integration and continuous deployment.
The Ministry of National Education has developed an application for exam copies digitalization. The project, code-named Santorin, was developed by the Académie of Rennes and implemented nationwide. This application enables submission of scanned copies by students to identify them and make them accessible to all correctors who use digital tools to correct them.
With significant transaction volumes, the rigorous load test is crucial prior to implementation
Over time, the Santorin application will manage 3 million candidates annually of up to 30 million copies uploaded. The initial objectives for the load tests were 1,500 sites and 250,000 copies over a duration of 1-4 hours, with a peak load within the first half-hour. The deployment of Santorin currently only involves a portion of French institutions of higher learning, and over time the objective is to be able to process 3 million copies daily. On June 17 and 19, 2019, the testing took place simultaneously at 800 exam sites, and the application managed 150,000 copies over 2 days, over an average range of one day.
Thanks to its capacity for extremely realistic simulations, NeoLoad enabled end-to-end testing of the application during a 3-week long test campaign. The application was tested from copy scanning up through the online copy correction functionality.
A modern infrastructure for addressing technological challenges and supporting the Continuous Integration platform
So that the application might change and receive the growing volume of copies to be processed, the architects steered toward a Docker and Kubernetes infrastructure. The choice of this architecture is also explained by the willingness of National Education to undertake the DevOps transformation in order to achieve 3 objectives:
- Automating deployments to manage a larger application park
- Improving service quality, especially by minimizing service downtime during updates. The distribution of urban and territorial sites requires 24/7 availability
- Accelerating deployment of new functionalities developed in agile mode, and making functionalities available to users
- Making the infrastructure scalable to be able to absorb load peaks at target levels, i.e. 30,000,000 copies annually.
Beyond the technical platform, the Santorin application was developed based on microservices, software architecture that enables working in agile mode with more frequent iterations. These architectural choices are the basis of the Agile/DevOps transformation of National Education teams.
NeoLoad, the performance test platform that supports the DevOps transformation
The Santorin project is the spearhead for the Agile/DevOps practices in deploying the National Education continuous integration platform. One statistic alone illustrates this transformation. While the Ops teams manage deployment of 1-2 releases annually in a traditional mode, they must, when under continuous integration and deployment mode, ensure a higher rate of up to 6 releases weekly in full production.
To enable accelerated release frequencies, the National Education teams launched a technical revolution and, simultaneously, a complete transformation of the organization in DevOps mode. The objective was to reconcile Dev and Ops in order to integrate the requirements of earlier Ops, especially those related to performance, and thereby limit interventions during deployment.
The objective is to integrate the NeoLoad performance testing at the heart of the continuous integration process implemented by the teams. This involves launching performance tests automatically with Jenkins in order to validate ongoing performance and secure deployments. The capacity of NeoLoad to quickly deploy the test infrastructure (load generators and controllers) in a Kubernetes cluster enables reaching the objective of team reactivity.
Target architecture of the software factory integrating the performance test with NeoLoad
NeoLoad enables developers to test earlier and better
It was the Ops team, directed by Yann Guernalec, who performed the application’s end-to-end tests. For the Santorin project, these performance tests were performed in close collaboration with the Devs – who were even physically present with Ops for the occasion. The Ops team is also the “performance test coach” that disseminates best practices to and instills quality culture in all teams.
The results of this work, combined with the simplicity of adopting the NeoLoad tool, enables Dev now to create and perform the same performance tests. The Devs are not just capable of starting tests earlier, but since they know the application best, they are capable of performing even more relevant testing.
The objective is to store all the tests performed daily by Dev on the shared Git directory in order to make them available to Ops who perform the end-to-end tests before each release.
The NeoLoad tool facilitates adoption of the performance tests by Dev. According to Yann Guernalec, “NeoLoad facilitates the task of rendering Dev autonomous on performance tests. It’s the benefit of the tool, its handling is hyper simple.”
Performance forms part of the team culture and their excellence is recognized
The performance test performed with NeoLoad now forms an integral part of the culture and organization of teams. Tests are performed at all levels on a daily basis by the Dev teams and upon each release by Ops. The result: deployment of the virtual application for exam copies nationwide without any performance issues. The capacity of teams to validate the application code and infrastructure that supports it, in order to offer optimal service quality.