Presented at DevOpsDays Boston. 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 Docker.
In contrast to a single-container deployment of the Open edX stack, a multi-container 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 how we're managing deployments using Kubernetes for orchestration and service discovery along with Google Cloud infrastructure.
Nate Aune is a developer and entrepreneur with over 15 years of professional experience building highly scalable web applications. Nate is also the founder and CEO of Appsembler. Morgan Robertson is a DevOps Engineer at Appsembler with experience in Docker, Ansible, Python, and automation tools.