Hosting & Infrastructure
Overview
Hosting & Infrastructure covers the operational layer of Open edX — deployment tooling, database and cache configuration, Celery task queues, storage (S3), CDN, monitoring, and scaling. This is the domain of platform operators and DevOps engineers.
The Open edX community has standardized around [Tutor](https://github.com/overhangio/tutor) (maintained by Edly/overhangio, *not* in the openedx org) for Docker-based deployment. Tutor replaced the earlier `configuration` repo (Ansible-based) as the primary deployment mechanism.
Current State (2026)
• Tutor: Docker Compose / Kubernetes-based deployment; the dominant deployment approach in the community; managed via `tutor config` and Tutor plugins
• Databases: MySQL for relational data; MongoDB for course content; Redis for Celery broker and caching; Elasticsearch for search
• Celery: Background task processing via Celery with Redis or RabbitMQ as broker; used for email, report generation, grade computation
• Storage: Static assets and user uploads typically stored in S3-compatible object storage
• CDN: Video and static assets served via CDN (CloudFront or equivalent)
• Monitoring: Prometheus + Grafana common; `edx-django-utils` provides DataDog/New Relic integration hooks
Architecture
• Service topology: LMS, Studio, `course-discovery`, `credentials`, `forum`, `ecommerce` (if used) as separate Django services; each with its own database
• Tutor orchestration: Tutor manages service configuration, networking, and deployment; plugins extend the base deployment
• Kubernetes: Tutor supports both `tutor local` (Docker Compose) and `tutor k8s` (Kubernetes) deployment modes
• Codejail: Isolated Python execution for graded problems; runs as a separate container/service with strict sandboxing
History
Origin
• Year introduced: 2012 (edX.org infrastructure was custom; community deployment was more ad-hoc)
• Initial implementation: Ansible-based configuration in the `configuration` repo; custom AWS infrastructure for edX.org
• Context: edX.org ran at massive scale; community deployments (xMOOC, national platforms) needed their own deployment tooling
Key Milestones
`configuration` repo (Ansible) open sourced
Tutor project begins (by Régis Behmo / Edly)
Régis Behmo
Tutor becomes the recommended deployment approach
`configuration` repo deprecated in favor of Tutor
Open Questions
- ?What was the original edX.org infrastructure like (AWS services, AMI-based, etc.)?
- ?What drove the community to build Tutor rather than improving the Ansible configuration?
- ?How does the multi-service architecture affect operations complexity?
- ?What monitoring and alerting setups are used in production deployments?
- ?What are the most common infrastructure failures in Open edX deployments?