I’m trying to figure out which community K8s deployment would be right for our organization if we were to self-host it on AWS infrastructure. We’re looking for a solution that handles provisioning, updates, and monitors K8s well.
We’ve deployed using tutor local
on AWS but realize that we need to set up K8s architecture to handle our growing user base. Here are some of the K8s deployment solutions that I see in the community. Based on this criteria, I’d like feedback (positive/negative) on these options.
Criteria
- Cloud provider AWS.
- Metrics for Overall Accounts and Course Enrollments for our instance.
- 19544 active accounts.
- 41511 active course enrollments
- Microsites with Site Configuration and Theming Enabled for our instance.
- 17 sites (we’re considering reducing this a good bit)
Open Source K8s Solutions
I’m trying to keep the write-up below short because the repos/documentation go into more detail about these deployment solutions.
-
cookiecutter-openedx-devops
This seems like a complete solution for deploying on AWS with K8s and other services needed by Open edX. Additional blog articles to help you get started here https://blog.lawrencemcdaniel.com/ appear helpful. -
Grove
This seems like a complete solution for deploying on AWS. Additional documentation here https://grove.opencraft.com/ is a good starting place.We will most likely need a subscription to GitLab to use this CI/CD configuration and deploy to AWS. What GitLab subscription would be best? Could most of our dev team stay on Github and push our changes to GitLab to deploy?
I noticed Multi-domain Setups - Grove Documentation and use of eox-tenant which is new to me but seems like a viable way to handle multisites.
-
Harmony
This does not appear to be a full solution for setting up the infrastructure (e.g. VPC, K8s, S3, MySQL, MongoDB) on AWS. It includes a Helm chart to configure the K8s cluster for multiple Open edX instances (namespaces), including a single load balancer with ingress-Nginx controller and scalability for pods both horizontal and vertical.It appears to be production ready based on @braden’s comment in the issue 26. What additional concerns would someone have for production ready?
@braden Can you tell us how open-craft is using Harmony? Is this integrated into Grove?
GitHub - openedx/openedx-k8s-harmony: A Prototype Helm Chart for deploying multiple Open edX instances (via Tutor) onto a cluster.What classifies as a large instance?
GitHub - openedx/openedx-k8s-harmony: A Prototype Helm Chart for deploying multiple Open edX instances (via Tutor) onto a cluster.