Abstract:Over the past few years, massive open online courses (MOOCs) powered by Open edX have become wildly popular, bringing free or low-cost education to millions of students around the world. Such success, however, presents a slew of challenging problems in terms of providing a scalable, robust, and secure platform.
At Appsembler, we offer customers a fully managed and supported Open edX stack, all the way from the frontend web application to the backend services like ElasticSearch, MySQL, and MongoDB. With so many moving parts, we have come to realize the value of a multi-container, microservices-oriented architecture using Kubernetes.
In contrast to a single-container deployment of the Open edX stack, a Kubernetes-based approach allows us to scale different services independently; improves robustness since we can simply spin up new copies of containers if they go down; and results in improved security through greater segmentation and isolation. In addition to discussing these benefits, we'll also cover Kubernetes’ integration with Google Cloud services like Cloud SQL and Cloud Logging.
Outline:
- Open edX background & architecture
- Why we chose Kubernetes
- Scaling & resiliency with Kubernetes
- The challenge of deploying Open edX with Kubernetes
- Architecture of Open edX running on Kubernetes
- Lessons learned & conclusion