Frequently Asked Question

Deployment Moodle LMS on Google Cloud Platform (GCP) with Autoscaling and Load Balance
Last Updated 4 months ago

image

Journal about deployment Moodle LMS on Google Cloud Platform with Autoscaling and Load Balance with concurrent 5000 plus users.


EXECUTIVE SUMMARY
The year 2020 has been seen as an expedited and faster process for digital transformation especially for education to adapt to the new learning environment caused by Covid-19. Schools facing problems on how to build platforms that are fast to deploy and cost-effective to serve all students at the same time or concurrent connections. The purpose of this study is to determine design and infrastructure requirements for enablement for the e-learning management system using the open-source learning management system Moodle in one of the biggest private schools in Surabaya. Moodle Learning management system will be used as a platform for whole students for learning and quiz. For this purpose a real case study, using PPDIOO Life-cycle with the result proved design architecture of Moodle learning management system, methods implementation starting with centralized load from 1,000 users for 1 school in the single server, reach scalability for the large load with auto scaling architecture, experiments with a tryout concurrent quiz for students, will determine the requirement for each functional server (database, cache, file) in the architecture design. Moving out from the single server architecture to architecture design with autoscale for web server and architecture that separate between resources database, cache, and file, the architecture is capable to serve connections and cost-effective with maximum Concurrent Users 5,459. The area of improvement is to scale for a minimum of 10,000 concurrent users to serve whole students accessing moodle at the same time for the peak time.
Abstract:
The year 2020 has been seen as an expedited and faster process for digital transformation especially for education to adapt to the new learning environment caused by Covid-19. Schools facing problems on how to build platforms that are fast to deploy and cost-effective to serve all students at the same time or concurrent connections. The purpose of this study is to determine design and infrastructure requirements for enablement for the e-learning management system using the open-source learning management system Moodle in one of the biggest private schools in Surabaya. Moodle Learning management system will be used as a platform for whole students for learning and quiz. For this purpose a real case study, using PPDIOO Life-cycle with the result proved design architecture of Moodle learning management system, methods implementation starting with centralized load from 1,000 users for 1 school in the single server, reach scalability for the large load with auto scaling architecture, experiments with a tryout concurrent quiz for students, will determine the requirement for each functional server (database, cache, file) in the architecture design. Moving out from the single server architecture to architecture design with autoscale for web server and architecture that separate between resources database, cache, and file, the architecture is capable to serve connections and cost-effective with maximum Concurrent Users 5,459. The area of improvement is to scale for a minimum of 10,000 concurrent users to serve whole students accessing moodle at the same time for the peak time.

Keywords: Moodle Open Source Learning Management System, LMS, Google Cloud Platform GCP, Autoscaling, Surabaya, Indonesia, Installation, Configuration

..
..
..
CASE STUDY ENGINEERING REPORT
PENDIDIKAN PROFESI INSINYUR 1
LIST OF FIGURES 4
LIST OF TABLES 5
EXECUTIVE SUMMARY 6
1. INTRODUCTION 7
1.1. General Description 7
1.2. Scope of Case Study Research 9
2. RESEARCH METHODOLOGY 10
2.1. Methodology 10
2.2. Conceptual Model 11
2.3. Systematic Research 12
3. RESULT 13
3.1. The Research Study Component 13
1. Ubuntu Linux 13
2. Nginx Web Server 14
3. PHP-FPM Scripting Language 14
4. MariaDB Database 14
5. NFS Network File System 14
6. Redis Memory Store Cache Server 15
7. Moodle Learning Management System 15
8. Load Balancer 15
3.2. Moodle Environments and Configuration 16
1. Moodle Directory Path 16
2. Performance Tuning Configuration 17
A. Moodle Application Configuration 17
B. PHP FPM Pool Configuration 18
C. Nginx Web Server Configuration 19
D. MariaDB Database Configuration 22
E. NFSv4 File Server & Client Configuration 23
F. Operating System File Limit Configuration 23
3. Security Configuration 24
A. Moodle Installation 24
B. PHP FPM Pool Configuration 26
4. Google Cloud Platform Configuration 27
4.1. Create Custom Images from Ubuntu 20.04 Public Images 27
1. Create VM Instances 27
2. Choose Ubuntu 20.04 from Public Image as Boot Disk 28
3. Configure and copy file as necessary for each instance 28
4. Create custom images from disk 28
4.2. Create Instance Template 30
4.3. Create Managed Instance Group 32
4.4. Create a Load Balancer and Attach an HTTP(s) load balancer to an Managed Instance Group (MIGs) 33
4.5. Google Cloud Armour 34
4.6. Google Cloud Platform Price Calculator 35
3.4. Monitoring tools 36
1. System Benchmark 36
2. Caching Performance Report 38
3. Stackdriver / System Monitoring 38
3.5. Single Server Architecture 40
Concurrent Report Data For Single Server Architecture 41
3.6. Autoscale Architecture 42
Concurrent Report Data For Autoscaling Architecture 43
3.7. Autoscaling Architecture Component 48
1. Cloud Load Balancing and Autoscaling 48
2. Cloud Armor 49
3. Managed Instance Groups for Web Server and PHP-FPM 49
4. NFS Instance for directory /var/www/moodledata 49
5. Stackdriver Agent in All Instances 50
6. Disk Snapshot for Backup Method 50
7. MariaDB with Compute Engine 50
8. Redis 5.0 Memory Store 50
9. SMTP Relay for outgoing email notification 50
3.8. Moodle Live Site - Active User & Course Information 53
4. CONCLUSION 55
REFERENCES 55
CASE STUDY ENGINEERING REPORT
PENDIDIKAN PROFESI INSINYUR 1
EXECUTIVE SUMMARY 4
1. INTRODUCTION 5
1.1. General Description 5
1.2. Scope of Case Study Research 7
2. RESEARCH METHODOLOGY 8
2.1 Methodology 8
2.2. Conceptual Model 9
2.3. Systematic Research 10
3. RESULT 11
3.1 The Research Study Component 11
1. Ubuntu Linux 11
2. Nginx Web Server 11
3. PHP-FPM Scripting Language 12
4. MariaDB Database 12
5. NFS Network File System 12
6. Redis Memory Store Cache Server 12
7. Moodle Learning Management System 13
8. Load Balancer 13
3.2. Moodle Environments and Configuration 13
1. Directory path and configuration 14
2. Performance Tuning Configuration 14
A. Moodle Application Configuration 14
B. PHP FPM Pool Configuration 16
C. Nginx Web Server Configuration 16
D. MariaDB Database Configuration 19
E. NFSv4 File Server Configuration 20
F. Operating System File Limit Configuration 21
3. Security configuration 22
A. Moodle Installation 22
B. PHP FPM pool configuration 23
3.4. Monitoring tools 24
1. System Benchmark 24
2. Caching Performance Report 26
3. Stackdriver / System Monitoring 26
3.5. Single Server Architecture 28
Concurrent Report Data For Single Server Architecture 29
3.6. Autoscale Architecture 30
Concurrent Report Data For Autoscaling Architecture 32
3.7. Google Cloud Platform Autoscaling Architecture Component 38
1. Cloud Load Balancing 38
2. Cloud Armor 38
3. Managed Instance Groups for Web Server and PHP-FPM 38
4. NFS Instance for directory /var/www/moodledata 39
5. Stackdriver Agent installed in instances 39
6. Snapshot use as disk backup method 39
7. MariaDB with Compute Engine 39
8. Redis 5.0 Memory Store 39
9. SMTP Relay for outgoing email notification 40
3.8. Moodle Live Site - Active User & Course Information 42
4. CONCLUSION 44
REFERENCES 45

..

4. CONCLUSION

Autoscale architecture on Google Cloud Platform enables for faster deployment, cost-effective and scalable for Moodle Learning Management Systems. Web server resources have been showing the most resources demand from the deployment, in this study autoscaling has been successfully to solve the problem with auto scaling and load balance technology.

The main goal for this research was to determine and testing infrastructure scalability in Google Cloud Platform while maintaining cost-effectiveness in cloud computing environments as an Infrastructure as a Services (IaaS) with autoscale and load balance architecture, this will benefit end-users to maintain cost while off-peak access and schools holiday.

Advice for the readers is to improve and test for high availability and performance in the future. Area for improvement but not limited to MariaDB Database Galera Clustering, multi-region High Availability, and Content Delivery Network. In the databases area, scalability improvement can be reached with MariaDB Galera clustering, and to improve for high availability for infrastructure in multi region, and using Content Delivery Network to improve latency for user accessing in multi different region areas.

Document links:
PPI Jurnal Lewi y71200010 - LMS (7).pdf
- PPI Jurnal Lewi y71200010 - LMS Autoscale - Tugas III (1).pdf
PPI Jurnal Lewi y71200010 - LMS Autoscale - Tugas 4 (1).pdf
PPI Jurnal Lewi y71200010 - LMS Autoscale - Tugas 4 (Google Slide).pdf

Loading ...