Cloud-powered Moodle: scalability for business growth and customer satisfaction
Deployment of highly available Moodle platforms that can scale up to a massive amount of students in the cloud.
Reto
- The architecture of Moodle is not designed for horizontal scaling by default. It is primarily designed for a single-server deployment.
- Requires careful consideration of how data is stored and accessed.
- Introduces additional complexities in managing the system configuration and releases of new versions.
- Requires additional infrastructure resources that make operating Moodle more difficult and make monitoring even more important.
Enfoque
Firstly, we followed the official reference architecture for Moodle in AWS to design an infrastructure that could scale Moodle horizontally, then we coded that infrastructure with Terraform in order to automate the provisioning of new platforms.
We needed to be sure that our solution could scale up and down to optimise costs when demand is low and keep it available and smooth during high-traffic peaks. So we did several iterations of load testing and improved the solution until it met the requirements not only on paper but backed by real usage.
Finally, we automated the release of new versions of the platform to make it transparent to both users and developers and avoid any downtime or maintenance mode.