3 june 2014 university of zürich sef kloninger open edx at...

36
Open edX at Stanford Overview With A Few Technical Bits Sef Kloninger 3 June 2014 University of Zürich Agenda: http://tinyurl.com/openedx-zurich Slides: http://tinyurl.com/openedx-zurich-sef Shared Notes: http://tinyurl.com/openedx-zurich-shared-notes or: https://etherpad.mozilla.org/eJQtMMcPRe

Upload: others

Post on 06-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Open edX at StanfordOverview With A Few Technical Bits

Sef Kloninger3 June 2014 University of Zürich

Agenda: http://tinyurl.com/openedx-zurichSlides: http://tinyurl.com/openedx-zurich-sefShared Notes: http://tinyurl.com/openedx-zurich-shared-notes

or: https://etherpad.mozilla.org/eJQtMMcPRe

Page 2: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Today

● MOOCs at Stanford; why Open edX

● Engineering and Operations

● Looking Forward: Improving Community

Page 3: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Engineer

Manager

Internet Software● Infrastructure● Dev/Ops

me !me

Scientist / Researcher

Open Source Guru

Educational Software

Page 4: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

MOOCs At Stanford

Page 5: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

As of Winter 2014, more than 145 Stanford faculty from all seven schools

171 of 246 offerings are distinct course offerings or course components; 75 are repeated courses or course components

94 of 171 distinct offerings were flipped or blended classes on campus, and 51 were free to the public as MOOCs. The remainder (26) were course components, Continuing / Professional Education or other specialized audiences.

More than 1.9 million people have registered for one or more free public online courses taught by Stanford faculty offered through NovoEd, Coursera, Class2Go (Stanford’s initial platform), or Stanford OpenEdX.

Since the fall of 2012, more than 4 million hours of interaction.

Page 6: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Platform Strategy“Control Our Destiny” via multiple platforms● Too important to outsource to a vendor● Our brand; no limitations on terms (use, sharing...)

Open Source● It’s about the content, not platform. Get it pervasive.● Not just more resources, it’s about more use cases.

Faculty choose the platform that suits them best

Page 7: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Where We Started

Page 8: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

JUNE2013

Page 9: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

FeaturefulGreat video experience

Rich assessments

Peer Evaluation

Page 10: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

ExpressiveBalance between standard layouts and customization

Studio is a good option for non-nerds

Stable XML format

Page 11: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Extendable

External Graders

JSInput●

Frontend● xBlocks● “JS Input” (!)● LTI

Backend● External Graders

Page 12: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Engineering

Page 13: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Features We’ve Built1. Shibboleth integration2. Chat for on-campus courses3. Shopping cart / Cybersource

payments for paid courses (CME, edx.org)

4. Bulk email5. Authoring tool improvements (e.

g. view this unit in Studio, check all captions)

6. Basic analytics (metrics tab)7. Theming8. Targeted feedback

9. Option shuffling10. LTI 2.0 (multiple submissions)11. Send anonymized user_id to

external tools (e.g. Qualtrics)12. Time delay between problem set

attempts13. Assist with new peer assessment

system14. Incremental cert generation *15. Unauthenticated, deep linking *16. Stanford-specific checklist *

Page 14: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Be Careful Of The Fork!

How we manage ● Very easy to quickly build up tech debt● Keep tests working

Release path● Best: dev => master PR => stanford● Usual: dev => stanford => master PR

Page 15: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

A Word About Theming

“Stanford Theming” is kind of hacky● Templating: mako, includes● Explicit look-aside code

Microsites is nice but specific

Opportunity for cleanup new “null theme”

Page 16: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Stanford Roadmap1. Offline analytics pipeline2. Analytic reports (esp in-line)3. Better support for interactive exercises4. Hinting5. Semantic labelling6. Reporting tools7. Timed exams8. Authoring improvements, eg. bulk course-checking tools9. Update our Cybersource integration

10. Coursera -> edX XML converter11. Always: Small features for Stanford courses

Page 17: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Wish List1. On-campus LMS features: manual

grading, late days, registrar integration, gradebook

2. download/edit/upload flow3. Hosting for others4. Richer unauthenticated access: per-

item access control, read-only view for forum, embeddable content

5. Authenticated access for videos6. Targeted email, e.g. emailing students

who haven't submitted yet

Page 18: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Operations

Page 19: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

1. Presentation LayerLoad Balancer● SSL termination● Session affinity

NginxApp processesSpecial case: shibboleth

Load Balancer

nginx

gunicornLMS (x8)

gunicornCMS (x4)

shib

S3

YouTube

memcache

Page 20: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Fat Processes● 200 MB per LMS● 150 MB per CMS● 150 MB for Shib

Mitigations● Nginx protections● Static offload

Oppty for Cleanup!

Page 21: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

2. Services Layer

App

Workers do long-running tasks: mail, grading, reports, notifications, certs

Push or pull to graders

Not much SOA support

XqueueApp

RabbitMQ UtilUtil

Comment Service

App

Srch

UtilExtGrader

Page 22: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

3. Data LayerMySQL & MongoDBRead-only replicas Hosted

New M/R Pipeline● Teachers want insights● Researchers want data

Tracking Logs

LMSCMS

M/R Pipeline

LMSCMS

OLAP DB Reports Data Dumps

Page 23: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)
Page 24: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Concept: In-Line Reporting

Page 25: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Our FlowReleases● Manual merge from master 2-4 weeks● Staging, privateprod● Deploy via Ansible

Operations● “Hotseat” duty● Other services: Pingdom, Datadog

Page 26: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Service Use Requirements

EC2 Compute

RDS Replicated MySQL M/S, backups, read replica

(MongoHQ) Replicated MongoDB M/S, backups

S3 Objects, logs Cheap, serve direct

EMR Map/Reduce on Logs, DB Bursty

ELB Terminate SSL, session affinity

ElastiCache Memcache

SES SMTP Large fanout (MOOC)

Our Amazon Soup

Many others: Access Control (IAM), DNS (Route53), Monitoring & Alerting (CloudWatch), Network Security (VPC)

Page 27: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Careful, You Might Need...

Deploy tooling Jenkins for ops and CI

Test databases Test environments

Monitoring Secrets management

Log management Content delivery

Asset management Hostname mgmt

Page 28: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Costs: Dedicated Platform Team

● Engineering Manager, Product Manager, Tech Support (2), Engineers (5)

● Half time on ops, “keeping current”, tactical support issues

Does not count other Stanford groups, e.g. instructional design, production

Page 29: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Costs: Amazon, etc.

Class2Go Open edX

Page 30: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Cost Breakdown

Page 31: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Community

Page 32: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Open edX AdoptersUse Case Need

Contributors Extend features Dev tools and support, community

Researchers Experiments A/B/N, API’s, raw data(some core changes?)

Operators On prem, data separation Install & ops tools, community

Extenders Modules, mobile clients API’s, dev/test environment, docs

Teachers Content and brand Hosted solution, reports & insights

Page 33: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

StudyBreadth of interviewsBenchmark against other projectsConcrete recommendations

http://bit.ly/stanford-openedx-report

Page 34: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Governance

● Clarify and communicate the mission of Open edX

● Establish clear guidelines for contributors● Expand governance to involve

community in technical and product decisions

RecommendationsCommunity Building

● Hire a full time Open edX community manager● Establish, measure, and communicate Key

Performance Indicators (KPIs)● Create forums to engage platform

users (developers, hosting providers, researchers), e.g. user group meetings and office hours

Technical Improvements

● Open up the development process: public wiki’s, public bug tracking● Move to 2-4 stable releases per year: release notes, upgrade scripts, improved packaging

and testing● Provide more ways to extend and modify the platform without having to change the core: content interfaces and API’

s● Improve the Open edX documentation● Create a more informative website targeted at platform adopters● Establish an ecosystem of commercial vendors and hosting providers

Page 35: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)

Thank You!

Page 36: 3 June 2014 University of Zürich Sef Kloninger Open edX at ...user.math.uzh.ch/dehaye/openedx-zurich-stanford.pdf3. Shopping cart / Cybersource payments for paid courses (CME, edx.org)