I’ve just finished a conversation with our team in the US who are working on lots of smart Moodle integrations to various Microsoft technologies (like the Office 365 integration with Moodle components and the Moodle virtual images for Azure) and they mentioned that there are now also complete quick start templates for deploying a scalable Moodle cluster, on a LAMP stack, on Microsoft Azure. It’s a quick way to get Moodle in the cloud.
Why is cloud-hosted Moodle important?
Often, many Moodle installations start off at small scale as an open source project, and then grow to become a critical tool in a school or universities’ system. And, over time, as usage grows there can be growing pains as the number of users places bigger demands on the servers that are running the system. There are three common ways that organisations solve this problem:
- Keep adding more servers and infrastructure to scale your home-grown Moodle system up
- Switch to a fully hosted Moodle service, like Moodlerooms, and hand over control to your service provider
- Keep running your own Moodle - in the cloud - by switching it to run in a cloud datacentre
The third option means you keep control over how your Moodle is configured and the strategy for its future, but takes away the hardware and other capital costs of option one. And as your Moodle usage goes up and down, you only pay for cloud services you are using, not pay for servers sitting idle in your datacentre for half the year.
You’ve always been able to deploy a small Moodle in the cloud very easily in Microsoft Azure (so easy, in fact, that even I managed to do it on my own last year) with a few clicks, but to deploy a completely scalable Moodle system, with multiple servers and ready for tens of thousands of students has been more complicated until now.
Deploy a Moodle Cluster on Azure, using Ubuntu
Our global team have release a template to allow you to deploy Moodle on a full open source stack (running on Ubuntu, PHP, Apache and MySQL) running in the Microsoft Azure cloud.
It runs as a LAMP application on Ubuntu in a clustered configuration. It creates a one or more Ubuntu VM for the front end and a single VM for the backend. It does a silent install of Apache and PHP on the front end VM's and MySQL on the backend VM. Then it deploys Moodle on the cluster, and configures a load balancer for directing requests to the front end VM's. It also configures NAT rules to allow admin access to each of the VM's. It also sets up a moodledata data directory using file storage shared among the VM's. At the end, it runs the Moodle installer on all the front end VM's to complete the installation.
What that means is that a Moodle administrator, or system integration partner, can take advantage of best practice advice for getting your Moodle LMS into the cloud, and keep your system on a familiar open source configuration.
And you can simply download the free pack to do this from GitHub