Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

MoodleMoot 2013 - 43 000 Students – Which Architecture ?

We will present the hardware equipment we have in place to ensure the best performance and a high level of safety (redundancy, backup and disaster recovery).
by

Gilles-Philippe Leblanc

on 14 August 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of MoodleMoot 2013 - 43 000 Students – Which Architecture ?

Questions and Suggestions
Université de Montréal
Learning Management System Story
Before
2010

WebCT
The migration project to Moodle began in October 2010 with the 2.0 RC1 version
A pilot occurred in winter 2011 with:
10-15 classes with all their students
Other courses were created but only accessible by the teacher
January
2011

Volume Measurement
and Importance

In spring 2011, teachers could use Moodle or WebCT
May
2011

All courses were created with all teachers and students in them.
Teachers could only use Moodle
September
2011

1300 courses open to students for 25% of all courses offered during that semester
In December 2012, we got 1698 courses open to students (32% of all courses)
December
2012

We are now using Moodle 2.3.2
Moodle is the second service in importance
after institutional email.
Team
CAS stand for Central Authentication Service
An additional server room was installed in our campus in Laval (neighbor city of Montreal)
Next step will be to get a full online solution
Storage
We are using a NFS mount point to share the content across servers
We are presently using around 5 TB
Capacity
Nseries
Snapshot capabilities
Deduplication capabilities
Support volumes up to 64 TB in size
Backup Strategy
Moodle
1 automated backup/day.
Backups are stored in the course zone or, in other words, in the filedir directory
Up to 10 backups are stored
File System Backup - 1 time/day
VMDK File Backup - 1 time/day
4 weeks retention
Use of snapshots for :
moodledata - 1 time/day - 10 days retention
filedir - each 6 hours - 14 days retention
File System Backup - 1 time/day
6 weeks retention
Using mysqlbackup tool
1 full backup/day
1 incremental backup/hour
Configurations
How many Moodle installations do we have?
Management Servers and Other Tools
Link With The Academic System
This way, when the teacher logs in Moodle, he/she already has all his/her courses available
We create every courses once a day with IMS and enroll every people associated to it:
exemple : MAT1010-A-W13
All courses are a combination of tagged course code, section and semester:
students
teachers
Servers
Devel and Test
Production and Pre-production
Only for authentication
http://www.jasig.org/cas
moodledata
filedir
Storage for :
Anne Cornet
Integrator/Developper
Developper/Analyst
Technical Lead
Technical Team
Marise Duquette
Melvin Romero and Claudia Vincenti
Cédric Joyal
Instructional Designer
Support / Testing
Only courses with content that was modified since the last backup (no empty courses)
MySQL Server
Web Servers
Should be integrated into PHP version 6
Absolutely necessary
Improve performance by more than 100%
Easy to install and configure
APC
Alternative PHP Cache
Good tool to improve your database settings
MySQL Enterprise Monitor
Good tool to monitor with lot of specific graphs for MySQL
MySQL
MySQL Tuner
Nightly
Test
Development
Trunk (Master, current development)
Pre-Production
Branch (Production branch)
10 days retention
Production
Only one instance.
Disaster Recovery
Should be tested a couple of times per year to be sure that everything is ready.
Is always up to date with production
Our tool used for installation (Hudson) is configured to push the installation in production and in the disaster recovery environment
Other Than Production
Munin
Useful for load testing
Able to see our servers' health
Able to see when health may have degraded
We cannot operate our system without it
http://munin-monitoring.org/
Munin
E-mail Alerts
Has improved our reaction time
Nagios and the load balancer send us an alert to tell us when the system is down
Continuous Integration - Hudson
History of installation
Saves us a lot of time during development
You only have to press one button to install
Disable job for production installation to avoid mistakes
Our environments are always up to date
MoodleStats
Home made application to gather statistics
Based on a contribution found on GitHub
Paul Vaughan from the South Devon College
https://github.com/sdc/Moodle-Scripts
Checks the last modified repository
Subversion
http://subversion.tigris.org/
This is the tool used at UdeM but we are planning to change for Git.
Agile - Scrum
http://en.wikipedia.org/wiki/Scrum_%28development%29
http://agilemanifesto.org/
Helps us a lot to prioritize our work and keep focus on what we have identified as important
Give a lot of transparency to our project
Helps to share knowledge
Jira and Confluence wiki
Knowledge base
Everything is accessible to everyone
Nothing exists only in one person's computer
Content is indexed
A wiki is alive. You can always change the organization.
http://www.atlassian.com/software/confluence/overview/team-collaboration-software
http://www.atlassian.com/software/confluence/overview/team-collaboration-software
http://hudson-ci.org/
https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
Nseries technologies
What do we use to operate Moodle?
In this presentation we will talk about:
Volume measurement and importance
Team
Servers
Storage
Backup strategy
Configurations
How many Moodle installations we have
Management servers and other tools
Link with the Academic System
Gilles-Philippe Leblanc
Integrator/Developer
Jean-Philippe Gaudreau
Developer/Analyst
Steve Massicotte
Technical Lead
Oliver Guillot
Team Coordinator
Team Coordinator
Olivier Guillot
Gilles-Philippe Leblanc
Presenters:
October
2010

Olivier Guillot
Team Coordinator
3 VM for the web servers
4 CPU
8 gig of RAM
1 VM for the Moodle management server (Cron and other batch process)
Master/Slave configuration
24 CPU
64 gig of RAM
2 physical machines for MySQL
1 VM for the MySQL Server
4 CPU
8 gig of RAM
2 CPU
2 gig of RAM
1 VM for the web server
Disaster Recovery
The power in the server room was shut down
Our storage system did not reacted very well to this incident
Servers - Disaster Recovery
Our Moodle installation was back online after 4 days
Last summer, we suffered from a major crash caused by our system
After those events, a project was started to improved the situation:
We are now able to be back online within about 4 hours
Servers - Disaster Recovery
43 000 Students - Which Architecture ?
43 000 Students - Which Architecture ?
Do you have any questions or suggestions?
Thank You
Servers - Disaster Recovery
Université de Montréal
French Speaking University
42533 students
5352 professors and lecturers
16 faculties and schools
2 affiliated schools
Québec, Canada
HEC Montreal
École Polytechnique
Presenters:
Full transcript