/
Hosting edX in Production

Hosting edX in Production

Placeholder for details around installation alternatives and best-practices.


An Example of how a deployment might change as it grows can be found in Feanil's talk from Open edX's first conference: http://goo.gl/5nlNqy

As the talk suggests for any size production, in order to simplify scaling and updating, the first step is to spearate your persistance layers from your application layers.


The content below is in progress and playbooks mentioned may not exist yet!


Small Installations

For small installations, you should start off with one machine that has all the applications layers and one machine that has all you data.  The machine with you applications can change more easily and more often without having to worry about updates causing issues with your data. Furthermore, when you do updates to the databases you can be more deliberate with the changes.

Setting up App Layer Machine

The app layer consists of any of the front end or API servers that you need that can scale horizantally.  This includes any of the django apps(edx-platform, insights, ecommerce, xqueue), the ruby discussion app(forum/cs_comment_service).  To bring this up, you can run the edx-stateless.yml playbook against the machine that you want to use for serving all your apps.

Setting up the Persistance Layer Machine

To setup the use the edx-persistance.yml playbook.  This playbook will setup, mysql, memcache, rabbit, elasticsearch and other datastores that various applications need.


Related playbooks can be found here

Feanil's Stateless Deployment Playbooks


Large Installations

edX's Deployment

Related content

Koa Native Open edX platform Ubuntu 20.04 64 bit Installation
Koa Native Open edX platform Ubuntu 20.04 64 bit Installation
More like this
Open edX Installation Options
Open edX Installation Options
Read with this
Deploying a Simple Cluster for Hosting edX
Deploying a Simple Cluster for Hosting edX
More like this
How to Enable Semantic Release through Github Actions
How to Enable Semantic Release through Github Actions
Read with this
Development Environment Improvement Plans
Development Environment Improvement Plans
More like this
How to Install and Start the E-Commerce Service in Native Installations
How to Install and Start the E-Commerce Service in Native Installations
Read with this