The Open edX platform is constantly growing in every aspect, something that’s desirable for every Open Source Software that proves to be useful and true to the name. In that sense, the ways of setting up the platform keep evolving, too. Unless you’re knowledgeable with the tools used for working with the platform in a local environment, there is no “simple” way to get started with an instance without help. That’s where we come in.
Setting up any production-ready website requires some configuring, let alone an education platform with so many services, such as E-Commerce, forums, platform-wide annotations, analytics, and more.
Using the OpenCraft Instance Manager (OCIM) allows you to focus on what’s important: creating high-quality courses and increasing the possibilities of online education, based on one of the largest and most scalable Learning Management Systems (LMS).
However, we do have a specific way of setting up the platform for our clients, and like everything related to this massive project, it’s constantly changing for the better. The way we do deployments allows us to offer an easily-manageable installation for anyone who wants to try out what the Open edX platform has to offer. Like any other, our method has both advantages and drawbacks, but we’re constantly evaluating ways to improve it and keep contributing the ideas we come up with to the whole community.
There are two main ways for a developer to deploy the platform:
When we say “various platform services” we’re referring to the various services that are actively supported within Open edX. Nowadays, a DevStack has no trouble setting them up; it will boot containers for each one and keep each environment isolated, making only the necessary connections.
Ideally, scalable software services should be deployed apart from each other to ensure availability, recovery from failures, and ease of escalation and maintenance, among other things. So, the best way to have the Open edX platform running is a distributed native installation— to not put everything into a single machine, but rather set up a server for the database, another for the LMS, another for Insights, and so on.
Distributing a system is costly and requires constant supervision and technical support, and while OpenCraft offers this as part of our hosting plans, it’s necessary to have an option that brings together the security, ease of development, and scalability of having isolated environments like in the DevStack, while providing a production-viable instance of the platform. This is the main purpose of OCIM.
OCIM sets up virtual machines (VMs) that encapsulate a native installation of supported versions of the platform. We do this by using Ansible Playbooks, adapted from those that the Open edX community has worked on, to facilitate our native deployments, and also our own playbooks for monitoring, protecting and managing our client’s instances.
This allows us to offer cost-effective and easy-to-maintain instances, fully isolated from each other, adding an attractive degree of flexibility and security. Additionally, this lets users and administrators customize their instances, leaving upgrades and updates for us to handle, something that’s always recommended if using this platform in a production setting.
Having said that, using VMs does have some limitations worth considering:
While these aren’t game-changing issues for simply testing the plans we offer, we want to reduce the wait time as much as possible for all deployments, so our clients can get faster to the work that matters. For this, we’re considering different ways of provisioning the databases and other assets that are limited by some of our hardware, among other upgrades.
Also, we’re already working on newer OCIM features that will help platform administrators know the status of their instance and easily customize it to the greatest extent, all in one place.
Regardless of your subscription tier, we want to provide you with the most effective tools and the highest level of quality, so you can expand your opportunities in providing the best online education possible. Stay tuned for our upcoming updates! ?