You are on page 1of 24

Implementing Canvas Open Source

Christopher Bennell OCAD University

OCAD University

Ontario College of Art & Design University Canadas largest Art & Design University, 135 years old Studio-based Art + Design Undergrad and Graduate Studies Downtown Toronto 4000 Students, 400 Faculty

Canvas Pilot Timeline

Evaluation of home-grown LMS + eLearning environment


February 2011

Canvas pilot: ~7 courses / term September 2011 Campus-wide implementation September 2012

My Courses

Our Canvas Environment


Hardened Gentoo Linux VMs Nginx Passenger MySQL OCFS2 + iSCSI Redis OS Web Server Load Balancer Application server Database Storage Caching

Environment
Application Servers 2

Memory

8GB x 2 = 16GB

Cores

4 x 2 = 8 cores

My Courses Load Test


12000ms

9000ms

6000ms

Before Caching After Caching (Redis)


3000ms

10

20

30

40

50

60

Concurrent Requests

Other Tools
Puppet Ruby Enterprise Edition Git Capistrano New Relic System conguration Performance Development Deployment Deployment Monitoring

Automated Deployments
Application Code Capistrano + Git
System Cong Puppet Operating System VM Template

Our Conguration

github.com/christopher-b/ocadu-canvas

Puppet

Automated system conguration Easy deployment of additional nodes for production, development
infrastructure to be checked Allows entirecontrol into version

Maintain system homogeneity


github.com/christopher-b/ocadu-canvas/puppet puppetlabs.com

Puppet Dashboard

Ruby Enterprise Edition

MOAR RAM - reduces memory usage Plays well with Passenger Canvas is very memory intensive

github.com/christopher-b/ocadu-canvas/tuned-ree rubyenterpriseedition.com

Git

Code management - custom modications Deployment - Acts as central code repository for application nodes Git Server - Gitolite

git-scm.com github.com/sitaramc/gitolite

Capistrano

Automated deployment Custom deploy scripts One-step deploy... kind of

github.com/christopher-b/ocadu-canvas/deploy github.com/capistrano/capistrano

New Relic

newrelic.com

Support
GitHub Google Group IRC Canvas Help Center LTI of Magic Issues + bugs Community support Chat with engineers End-user support LTI examples
github.com/instructure/canvas-lms

groups.google.com/forum/#!forum/ canvas-lms-users

#canvas-lms on irc.freenode.net

help.instructure.com

lti-examples.heroku.com

Thanks!

Christopher Bennell cbennell@faculty.ocadu.ca


github.com/christopher-b/ocadu-canvas scribd.com/doc/97940416

You might also like