Skip to content

Containers — MicroMasters

Generated 2026-06-24 13:33 UTC · c4gen dev

The runtime/deployable units inside MicroMasters and how data moves between them and adjacent systems.

Containers

Container Technology Responsibility
React SPA React 16 / Redux / webpack 4 Single-page app bundled by webpack and served by Django templates (static assets via S3/CloudFront in prod, webpack-dev-server locally). Calls the Django REST API from the browser.
Nginx Nginx Reverse proxy in front of Django via uwsgi; serves static assets.
Django Web API Django + DRF + Wagtail (uWSGI, Python) REST API, OAuth (python-social-auth) against edX/MITx Online, catalog & Wagtail pages API, learner-search proxy, admin, and dashboard hydration.
Wagtail CMS Wagtail (in-process Django app) Editorial program pages (ProgramPage/HomePage/ResourcePage). Exposes the Wagtail v2 pages/images/documents API under /api/v0/wagtail/.
Celery Worker Celery (queues: search, exams, dashboard, default) Runs batch enrollment/grade/cert refresh from edX, hourly exam authorization, daily grade freezing, course-run sync, and OpenSearch indexing. Beat embedded (-B).
PostgreSQL PostgreSQL 16 System of record for programs, courses, enrollments, grades, exam auth, and cached edX data.
Redis Redis Celery broker/result backend, Django cache, and batch-job coordination locks.
OpenSearch OpenSearch 1.3 (opensearch_dsl) Indexes program-enrolled user profiles for staff learner search, plus percolate queries that trigger automatic emails. Alias-swapped reindex.
S3 / CloudFront AWS S3 + CloudFront (django-storages) Static and media file storage (optional; MICROMASTERS_USE_S3).