Catalyst manages a plethora of Enterprise web applications, necessitating frequent upgrades across various instances. In cloud native application stacks, these upgrades often entail system architecture changes and enhancements. This could span from updating the underlying Operating System to deploying into a new container-based platform.
Cost and Risk of Change
Change inherently carries costs and risks, varying in magnitude. Leveraging our extensive experience in managed services, we have honed robust processes and workflows for change management.
Application Development Approach
For application development, we embed steps like unit tests in our application code, complemented by thorough testing by our Quality Assurance team in a non-production environment.
Load Testing for Enterprise Moodle LMS Instances
In the case of our larger Enterprise Moodle LMS instances, where clients demand high performance amid a sizable and demanding student body, meticulous load testing becomes imperative. Some of our larger sites accommodate thousands of concurrent user sessions, with an expectation of maintaining a sub-second page build time.
Importance of Automated Load Testing
A realistic automated load testing strategy is paramount for Catalyst to confidently roll out major changes to our Enterprise Moodle customers without risking performance degradation. It enables us to experiment with new toolsets and architectures, validating their performance outcomes.
Utilising JMeter for Load Testing
We've increasingly relied on JMeter, an open-source pure Java application, for load testing. Recently, we invested time in internal development to streamline the process of launching and comparing load testing rounds on our Moodle sites.
Development of a Testing Plan Repository
Our development efforts led to the creation of a repository housing:
- A JMeter test plan (XML file)
- A list of testing (fake) users
- A single Moodle course backup
- Instructions for executing performance tests on a given Moodle site
Advantages of the Testing Plan Repository
This repository facilitates the simulation of various user scenarios across Moodle sites, enabling comprehensive performance testing and metric tracking. By standardising the process, we can conduct meaningful A/B testing to address questions regarding performance enhancements, cloud auto-scaling triggers, server configurations, and more.
Continuous Improvement through Code Repository
Storing the entire toolset in a code repository allows for continuous improvement. With each iteration, we refine user journeys, enhancing the tool's efficacy and value over time.