an open source lms for a mission critical enterprise-level application: are we there yet? kevin...
TRANSCRIPT
An Open Source LMS for a Mission Critical Enterprise-Level Application:
Are we there yet?Kevin Kelly, Wen Hao Chuang
Academic Technology,
San Francisco State University
Copyright © [Wen Hao Chuang and Kevin Kelly] [2008]. This work is the intellectual property of the authors. Permission is granted for this material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of the authors. To disseminate otherwise or to republish requires written permission from the authors.
2
Session topics (outline)
• Background: Learning Management System (LMS) landscape at SF State
• Lessons learned about making an open source LMS enterprise-ready
O Development / Systems PerspectiveO Teaching and Learning PerspectiveO Organizational Administration Perspective
3
Introduction: Review of LMS at SF State
F 05S 05F 04S 04F 03S 03F 02S 02
1. Reasonably steady state with BbO 1997 to 2002
2. Period of problems with BbO Jan 2003 to present
3. Faculty focus groups to determine need to investigate alt. LMSO Dec 2003
4. Investigation of LMS alternativesO Spring 2004
5. iLearn alpha test (5 instructors, 400 students)O Fall 2004
6. iLearn beta test (25 instructors, 1500 students)O Spring 2005
7. iLearn large scale deployment test (150+ instructors, 9,000+ students)O Fall 2005 to Spring 2006
S 06
4
Usage statistics
Number of students using iLearn (Semester courses only)
3001346
5171
7556
14590
19000
23500
0
5000
10000
15000
20000
25000
Fall2004
Spring2005
Fall2005
Spring2006
Fall2006
Spring2007
Fall2007
Term
# s
tud
en
ts
Number of students using iLearn(Semester courses only)
5
Usage statistics
Number of instructors/Number of course sections
0
200
400
600
800
1000
1200
1400
1600
1800
Fall2004
Spring2005
Fall2005
Spring2006
Fall2006
Spring2007
Fall2007
Term
Cou
nt Number of active courses
(Semester courses only)
Number of instructors usingiLearn (Semester courses only)
8
Technology Management (outline)
• System Architecture
• Development & QA
• Lessons learned and Recommendations
11
System setup (now)
• 5 Sun Fire X4100 ServersO 2 dual-core 64-bit AMD processors (for each server)O 1 Load Balancer (running squid)O 2 Application ServersO 1 Database Server (running MySQL)O 1 Admin and Backup Server
• LAMP (Linux, Apache, MySQL, PHP) StackO Red Hat Enterprise Linux 4O Apache 2.2.xO MySQL 5.0.22O PHP 5O Others
Zend Optimizer (PHP accelerator) -> eAccelerator Squid, clamav, MRTG, awstats, Nagios, Splunk(x), Ganglia, etc.
12
Data and storage solutions
• Backup solutions
• For a large database like ours, the moodle default site-wide backup codes do not work.
• MySQL dump and nightly rsync to disk storage, then to tape.
• Database storage engines
• MyISAM (default)
• InnoDB
• Moodle’s “course-centered” design
• Solution: Diva? (diva.sfsu.edu)
13
Problems with current architecture
• During mid-term and final exam periods, the two application servers get really loaded
O Also related to how teachers are using it
• DatabaseO MySQL vs. Postgres vs. OracleO MyISAM vs. InnoDB (storage engines)
• Other possible optimization solutionsO Squid vs. varnishO Apache vs. lighttpdO LAMP tuning and optimization
14
Problems with Data and Storage
• You probably need a DBA! (for larger sites)O Some tuning tips: http://day32.com/MySQL/
• Backup issuesO MyISAM vs. InnoDB
• Database issues:O Current database size (MySQL dump) over 11G!O Avg 200 queries per secondO In 30 days avg 151,675,735 queriesO Peak connections between 400-500 concurrent
connectionsO Table indexO Optimization and table maintenance
15
Future hardware plans (1)
• Pillar NAS and SAN storage unit
O Switch from xRaid to dedicated terabyte NAS system.
O Higher efficiency for storing data.O Allows for snapshotting of data.
• Introduce BAD (Bad Ass Database)
O High-end 64 gigabyte database server
O Repurpose current database system as another application server (3 APP servers behind squid).
16
Future hardware plans (2)
• VirtualizationO Moving to VMWare ESX
(possibly this summer)O Dynamic allocation of
server resourcesO Enhance the flexibility
and scalability of enterprise level application
O Reduce possible downtime (VMotion)
17
Programming & Development
• Small development team: 2 full-time developers (including project management)
• Version control system
• SVN: (internal)
• CVS: (external with Moodle core team)
• Bug tracking system: Trac (open source)
• For bug reports
• For project management purposes
• Build-in Wiki (for internal documentation)
18
Typical Build Process
• Developers’ codes got committed into their personal branch (SVN commit)
• “Buildmaster” merges all the codes before code freeze date
• Deploy a testing build on ilearntest (DEMO)
• If tested without any problem, code releases are “svn switched” to a “deployed” branch by system admin team (avoid conflict of interest).
20
Development tools
• PHP
• NuSphere PhpED (great debugger/IDE)
• Eclipse (with PHPeclipse plugin) (free)
• PSPad (Windows) and vi/vim (Linux) (free)
• Other tools
• JMeter (simulating traffic)
• Perl (script for performance profiling)
• XML Editors (BB to moodle conversion tool)
21
QA Testing
• Small QA testing team
• 3 part-time student assistants
• Supervised by DEV staff members
• Tools that we are using
• Selenium IDE / RC
• TestNG / JUnit
• JMeter (stress testing)
• Tools that we are evaluating
• QA Wizard Pro (Seapine software inc.)
• Quick Test Pro (HP)
• Silktest (Borland)
22
Problems with QA
• Training student assistants
• Time, resource, and testing scopeO After all, it’s open-source!
• Budget, select the right tool, and manual testing
• To automate or not to automate?
23
Lessons learned and recommendations
• Make a good projection about your LMS traffic and usage, plan your server architecture accordingly.
• Plan your workflow / processes in advance.
• Start with a fresh DB every year
• Schedule regular down time to repair/maintain tables
• QA testing!• Knowledge: * [Promote] HSU “Introduction to Moodle Programming”
course
25
Teaching and Learning:Engaging the Community• Outreach
O Training and support team visits faculty department meetings
O Conduct needs assessment and formative evaluation focus groups
O Advertise training and support options
• InputO Advisory groups help inform decisionsO Exemplary instructors share best practices
29
Teaching and Learning: Training and support• Constant evolution of training options
O Held frequent workshops throughout Fall and Spring semesters with extra offerings and open labs at the beginning
O Added week-long summer and winter workshops (with lunch)
O Modularized week-long workshops
• Big change for supportO Standardized format for "QuickGuides"O Switch to database-driven QuickGuides
Dynamic approach will update multiple QuickGuides at once
31
Organizational Administration:Policy issuesAcademic policies (Academic Senate)
Intellectual property
Faculty workload
Recognition for Retention/Tenure/Promotion purposes
Copyright/TEACH Act
Accessibility
Articulation
Privacy
Contact hours for students
Assessment and Teacher Evaluations
Quality of online courses
Minimum requirements for online/hybrid courses
Communication with students (virtual office hours) Student code of conduct Academic integrity
32
Organizational Administration:Policy issues
Operational policies (Service Level Agreement)
• Technology ManagementO Storage limitsO Archive practices
• Organizational AdministrationO Incentives for training
Also see article:
Waterhouse, S. & Rogers, R.O. (2004). The importance of policies in e-learning instruction. Educause Quarterly 3, 28-39.
33
Closing
Q & A
Contact information
• Wen Hao ChuangO [email protected] 415.405.3543
• Kevin KellyO [email protected] 415.338.6455