A virtualized Moodle-based e-learning environment: potentialities and performances Mario MANZO1, 1
Servizi Informatici, Università degli studi di Napoli“Parthenope”, Via F. Acton 38, 80133 Napoli (Italia)
[email protected] Abstract Virtualization methodologies allow to create simulated hardware, software, network architecture and interact with them. In this work, benefits arising from virtualization technologies applied in higher education are discussed. In order to create a real e-learning environment the Moodle LMS is adopted. Commonly, Moodle workload results in a saturation of physical server. To overcome this limit, the over-centralized load is deployed on a dynamic virtual machine. In this architecture, Moodle works through virtualization technology to uniformly manage and dynamically allocate all kinds of computing resources. The results, obtained through an effective testing phase on Economic, Law and Sport Sciences department platforms of University of Naples "Parthenope", show that the system can improve performances, produce low response time and provide good user experience. Keywords: Moodle, Virtualization, eLearning, Web performance
Introduction and motivations Virtualization is the new frontier of design of computer systems and technology. This success can be attributed to some its important features including scalability and dynamicity. Even the field of distance education, and associated tools, is benefiting of virtualization with purpose to address some critical aspects: increase and diffusion of digital materials, high performance required, growing users (with related interests and activities) and so on. In this paper, the attention is focused on the main tool adopted by distance education to spread teaching materials: LMSs (Learning Management System). These systems are affected by problems related to static hardware and software server configurations which limit their potentialities and performances. Moodle (Modular Object-Oriented Dynamic Learning Environment) is among them. Moodle is an open-source LMS largely adopted due to its features: simple, clear and flexible space expanding capability. The common working environment is a machine equipped with LAMP stack (Petrosino A., 2011): Linux operating system, Apache web server, Mysql database and PHP scripting language. This architecture could optimize the tasks of Moodle in terms of stability and safety. The common problem is the workload generated by the activities of machine and the static nature of the hardware components. In this context, the main goal is to reduce the computational costs arising from standard hardware configurations through the application of virtualization technologies. A Moodle environment is deployed, through virtualization technology, to avoid excessive load in physical server. A virtual machine can dynamically allocate resources on demands to build efficiently an elastic computing architecture. With the aim of demonstrating the potential of virtualization technologies, a real case study and a resulting test procedure are provided. The paper is organized as follows: the following three sections are dedicated to related work, Citrix Xen Server technology and deploy of Moodle in virtual mode. Experimental results and conclusions are, respectively, reported in the remaining sections.
Related Work Research about performances of Moodle and virtualization has been investigated. In (Guo, 2013) the authors describe a Moodle Virtual Cluster created through virtualization technology in cloud computing. The goal is to uniformly manage and dynamically allocate all kinds of computing resources. Also in (Kristianto, 2014) two virtualization technologies are compared (KVM and Container operating system using OpenVZ) with the purpose to optimize Moodle performances. The
virtualization type adopted is a combination of para virtualization, full virtualization and containerbased operating system virtualization. Finally, in (Morgado, 2012) Moodle virtualization is achieved through the adoption of an emerging Information and Communication Technology (ICT) and Cloud Computing to cut costs, facilitate management and increase its capacity.
Citrix Xen Server In the real world, due to high performances required, systems virtualization is commonly implemented with hypervisor technology. Hypervisors are software or firmware components that are able to virtualize system resources. In our context, system virtualization based on Xen hypervisor is adopted (Barham, P., 2003). Xen is virtual-machine monitor for IA-32, x86-64, Itanium, and ARM architectures. It is able to manage several guest operating systems in order to execute on the same computer hardware in a concurrent processing. Xen is a type one hypervisor and works creating logical pools of system resources. In this way, different virtual machines can share the same physical resources. Xen is a hypervisor that works on the system hardware directly and creates a bridge, virtualization layer, between the system components and the virtual machines, by placing the system components in a set of logical computational resources. Subsequently, Xen can dynamically assign, these resources, to any guest operating system. The operating systems work in virtual mode interacting with the virtual resources in the same way as physical resources.
Deploy of Moodle on virtual machine The proposed virtual architecture, that hosts Moodle, is composed of three layers: host layer, network layer and storage layer realized respectively through server, network and storage virtualization. The host layer is composed of a virtual machine with 3 virtual CPUs, 8 GB of Random Access Memory (RAM). The storage layer is composed of 3 hard disk, adapted for the installation file, data file and mySQL database. Finally, the network layer is composed of a virtualized network card. The hardware features can be changed for any need at any time. For example, during installation we have been allocated 4 GB of RAM. Subsequently, due to growth in accesses and educational materials, the RAM has been increased to 8 GB. The operating system adopted is SUSE Enterprise Server 11. The choice of a Suse operating system is related to some its features such as scalability, performance and advanced boot process, in addition to other improvements. The machine is constantly monitored through the software Citrix XenServer. Monitoring of CPU usage, memory usage with service of receiving notifications when the memory usage becomes dangerously high or low, monitoring of network usage with related information of data transmitted, received rate and network traffic. All these data are made understandable, even to unskilled users, through the real-time creation of 2D graph based of single components (CPU, RAM, etc.). For example, as shown in figure 1, about the CPU, the system administrator can check the saturation and, then, when some peaks of increased usage of the platform occur.
Figure 1 – Real time CPU performance.
A proactive monitoring phase is important as virtualized infrastructures are expected to provide better performance than physical infrastructures. Furthermore, another key issue concerns the integrity of machine files (database and data). The files are duplicated through a backup phase. A twin machine is created, with the same hardware/software features, that, through a rsync command, provides every day an alignment to main machine (files and database). Essentially, only the files that differ from main
machine are updated on twin machine. The comparison and copy phase, performed by rsync command, occur during the night when the activities are more light. This mechanism ensures reliability in the case of inefficiency of the main machine such as failure of hard drive, network and so on. Finally, login to Moodle service is managed through a RADIUS system that bridges, with the same user and password, with databases of students and staff. RADIUS is the acronym of Remote Authentication Dial-In User Service (Deshmukh R., 2012) and it is the standard de-facto for remote authentication. Authentication is based on username and password. If authentication succeeds, the RADIUS server sends configuration information to the client (IP address, subnet mask, TCP port number, etc.). In the described system, user credentials were controlled separately in an external Oracle SQL database for students, and in a LDAP database for teachers and technical staff. The same authentication credentials were used to access Moodle, so that the accounts were created automatically during the enrollment for students and staff.
Evaluation performance In order to evaluate performances the virtual machine is submitted to an effective testing method. Among various test tools Jmeter has been chosen. JMeter is an open source project of the Apache foundation developed to automate testing on remote machines (web server, application server, database). The tool presents different testing methods: concurrent access through multiple users, record response time for each user, run within a certain level of concurrent access, etc. The project is evolving over time and is becoming one of the most used tools of its kind, for easy use and the ability to be integrated in other tests. The testing phase is performed on department platforms of Economic, Law and Sport Sciences of University of Naples "Parthenope". Each course was structured in different hours of lessons, with multimedia material compliant to the SCORM (Maratea A., 2012) reference model, thematic discussions, classroom activities, interactive and remote tests and tutorials, learning verifications. The first test is performed using the entity named Thread Group, representing a group of simultaneous HTTP requests. Each request must define the server (URL or IP) and the port number to which the web service responds (8080 in our case). Follows the definition of the protocol (HTTP, as the default) and the method (get or post). Finally, the path of the web page to be tested.
Figure 2 – HTTP group thread test on different Moodle installation.
For the test was chosen various Moodle platforms of different University (Uniss, Units, Unibas, Unitus). Tests were performed considering the normal activities of the Moodle platforms (access, visit and download materials, etc.). This issue could influence and justify even more the use of the virtualization approach. The graph in figure 2 shows on the y axis response times in milliseconds while on the x axis the number of experiment. As can be seen virtual architecture has better response times than its competitors. This aspect is related to the optimization phase managed, in real time and dynamically, by the virtualization approach based on different type of received requests. Also, a human supervision, which contributes to the management of the service, allows further improvement when a problem of big workload occurs.
Figure 3 – HTTP group thread test on different LMS.
Even in the second case, as in the first test, same Thread Group entity and configuration parameters are adopted. Differently, in this case was chosen various LMS (Atutor, Docebo, Dokeos and Olat) with the aim to perform a comparison with alternative technologies. The graph in figure 3 shows on the y axis response times in milliseconds while on the x axis the number of experiment. Best performance is produced by virtualized architecture. Certainly, the improvements are stronger due to the combined use of Moodle and virtualization approach.
Conclusions In this paper, Moodle is designed to work through virtualization technology. The main goal was to manage and allocate different computing resources, such as virtual CPU, in uniform and dynamic way. This policy has been adopted to address and solve problems related to the central server management. The effectiveness of virtualization, in a distance education environment, is demonstrated through comparisons with standard server technologies. Results show that virtual solution can effectively improve overall system performances and could solve the problem related to over-centralized load occurring in physical server installation for educational purposes. Future work is in trying to improve the virtual machine design in order to optimize Moodle performances.
References Barham, P. et al. (2003). Xen and the art of virtualization. ACM SIGOPS Operating Systems Review, 37(5), 164-177. Deshmukh R. (2012). Interactive Remote Authentication Dial in User Service (RADIUS) Authentication Server Model. International Conference on Wireless and Mobile Communications, 238-241. Guo, X., Shi, Q., & Zhang, D. (2013). A Study on Moodle Virtual Cluster in Cloud Computing. Seventh International Conference on Internet Computing for Engineering and Science, 15-20. Kristianto, E. (2014). The performance of e-learning Website on open source virtualization. International Conference of Advanced Informatics: Concept, Theory and Application, 109-112. Maratea A., Petrosino A., Manzo M. (2012). Integrating Navigational and Structural Information in SCORM Content Aggregation Modeling. International Conference on Advanced Learning Technologies, 379-380. Morgado, E. M., & Schmidt, R. (2012). Increasing Moodle resources through cloud computing. 7th Iberian Conference on Information Systems and Technologies, 1-4. Petrosino A., Maratea A., Manzo M. (2011). Deployment di un sistema unificato di autenticazione per Moodle. Italian National Conference MoodleMoot, Italy.