Open edX deployment through Tutor in AWS EKS
Online learning platforms are important part of our lives. We spend most of our free time with learning something online. Companies need internal learning platforms as well. One of the most famous learning frameworks is Open edX. Current topic describes how easy this platform deploys Locally or in AWS EKS service with IaC approach based on Terraform and Tutor.
The Open edX project is run by The Center for Reimagining Learning (tCRIL), a nonprofit organization (the “NP”) that was formerly known as edX Inc. The NP is led by Harvard and MIT and will focus on inclusive learning and education. The NP will collaborate with educational institutions, governments, and other organizations to develop and evaluate new approaches to learning and pedagogy; invest in new learning models that combine the best of online and in-person; and promote the adoption of best practices across the education continuum. The NP plans to support innovation in lifelong learning and advance next generation learning experience platforms.
Tutor is the official Docker-based Open edX distribution, both for production and local development. The goal of Tutor is to make it easy to deploy, customise, upgrade and scale Open edX. Tutor is reliable, fast, extensible, and it is already used to deploy hundreds of Open edX platforms around the world.
Do you need professional assistance setting up or managing your Open edX platform? Overhang.IO provides online support as part of its Long Term Support (LTS) offering.
- 100% open source
- Runs entirely on Docker
- World-famous 1-click installation and upgrades
- Comes with batteries included: theming, SCORM, HTTPS, web-based administration interface, mobile app, custom translations…
- Extensible architecture with plugins
- Works with Kubernetes
- Amazing premium plugins available in the Tutor Wizard Edition, including Cairn the next-generation analytics solution for Open edX.
- No technical skill required with the zero-click Tutor AWS image
Install the latest stable release of Tutor from pip
pip install "tutor[full]"
tutor local quickstart
If you got an error
ERROR: Service ‘mfe’ failed to build : Build failed
tutor plugins disable mfe
Next step is Deployment cluster using terraform into AWS EKS
Here’s an example of the Cluster deployments through Terraform
GitHub - helli0n/aws-terraform-template
You can't perform that action at this time. You signed in with another tab or window. You signed out in another tab or…
- aws cli
- S3 bucket for Terraform state
- DynamoDB for statelock
For creating EKS cluster just execute the command
After cluster is created you need to generate proper config for managing this cluster. Use command below
aws eks --region $region update-kubeconfig --name $eks-cluster-name
Create namespace for openedx
kubectl create namespace openedx
Here is example of the tutor deployments. Pull that repo for deploying Open edX.
In Tutor folder run deployment command
kubectl apply --kustomize env/ --wait namespace/openedx configured
After deployment is completed, dashboard looks like
System architecture diagram shows example of the components communications in AWS. End users will have access to apps through the AWS Application Load Balancer.
Deployment of your own learning platform is easy and will bring profit to your business. Tool set uses the best practices and approaches: IaC, Orchestration, Containerization, etc.
Open edx is considered to be a modern learning solution. It’s easy to deploy and customize, the example is provided here https://docs.tutor.overhang.io/k8s.html#customizing-kubernetes-resources.