Containers — MITx Online Open edX
Generated 2026-06-24 17:02 UTC · c4gen dev
The runtime/deployable units inside MITx Online Open edX and how data moves between them and adjacent systems.
Containers
| Container | Technology | Responsibility |
|---|---|---|
| LMS (edxapp) | Django (lms.djangoapp, Python 3.11, gunicorn) | Learner-facing courseware runtime + the REST API surface the SOA apps drive: enrollment (/api/enrollment/v1/, /bulk_enroll/v1/), grades (/api/grades/v1/), certificates, user accounts, and the OAuth2 / third-party-auth provider. Served at courses.learn.mit.edu. |
| Studio / CMS | Django (cms.djangoapp, Python 3.11) | Authoring environment for courses (Studio). Writes course structure to the modulestore and drives course import/export (OLX) and video upload. |
| OAuth2 / Third-party-auth Provider | django-oauth-toolkit + social-auth (in LMS) | Identity surface — OAuth2 authorization/token endpoints and the social-auth backend (mitxonline-oauth2) the MITx Online app logs in against. Issues the JWTs the apps use for API calls and federates learner login to Keycloak. |
| Forum (cs_comments_service) | Ruby / Sinatra (forum) + MongoDB | Discussion service backing course forums; the LMS proxies threads/comments to it. |
| Notes API (edx-notes-api) | Django + Elasticsearch (edx-notes-api) | Stores learner annotations/highlights; the LMS edxnotes app reads/writes it. |
| edx-search / Elasticsearch | edx-search + Elasticsearch | Courseware and discovery search index; LMS/CMS index course content into it. |
| Celery Workers | Celery (lms + cms workers; queues low/default/high) | Async grading, certificate generation, bulk course email, course import/export, and bulk enrollment processing. Brokered by Redis. |
| MySQL | MySQL 8 (RDS in prod) | Relational system of record — users, enrollments, grades, certificates, OAuth tokens. |
| MongoDB | MongoDB (modulestore + forum) | Course structure/content (split modulestore) and forum threads/comments. |
| Redis | Redis / Valkey (ElastiCache in prod) | Celery broker/result backend and Django cache. |
| S3 Content / Export | AWS S3 | Course export archives (OLX), uploaded assets, and grade/cert report downloads. The OLX/content archives downstream ETL pulls live here. |