What is Open edX?
Open edX is a world-class web-based platform for creating, delivering, and analyzing online courses. It is the open source platform that powers the edX.org initiative, created by founding partners Harvard University and MIT and joined by dozens of leading global institutions and millions of active online learners worldwide. It has been proven to scale to tens of millions of users, and it’s being used for thousands of other organizations, becoming the most powerful open source alternative for massive open online courses.
This great power of scale also comes with added complexity, so despite the fact that the source code is freely available, undertaking the hosting of a production-ready Open edX site involves a number of significant challenges that will be reviewed in this article.
What are the challenges of self-hosting Open edX?
Self-hosting, in the context of this article, means to install, configure and deploy the applications in your own servers, either in an Amazon AWS or Azure infrastructure or a similar cloud provider, or even in your own bare metal machines.
Over the years, our team of Open edX experts has helped a large number of organizations worldwide to adopt and profit from the open edX technology, and in many cases, we’ve encountered self-hosted installations that were experiencing severe difficulties and failures, often originated in a less than ideal installation and hosting.
Even when performed by experienced IT professionals, Open edX installations tend to present more challenges than other open-source web applications. So, why is hosting Open edX especially tough? Basically, because:
- It involves a large and complex technology stack.
- The available documentation is not so detailed / complete / updated.
- Devstack is not a production ready environment.
- Not every infrastructure provider is supported out of the box.
- There is an array of applications and services to choose from.
- The design of the computer and network architecture that will be optimal for your specific use has to be done based on your specific situation and requirements.
- Customization is always needed.
- Theming is always desired (assets and images, logos, banners, colors, etc).
- Plan for continuous maintenance, upgrades, etc.
These are all significant challenges, but it doesn’t mean that this is a dead end or is intended to discourage you from using the Open edX platform, just to let you know what you are up against and provide you with the tools and information to make the best choices.
Are there other alternatives?
Definitely, It’s not the only way. you can also:
- Use a Cloud subscription. Since 2016, eduNEXT has pioneered a different approach to Open edX which is a Cloud-based subscription.
- Have a team of experts install it and configure it for you. as a well-established company, we provide an improved and well-tested installation and configuration procedure. As part of our self-hosted services at eduNEXT, we take care of the installation, configuration, data migration (if any), maintenance and all the other technical aspects, deploying the solution in the customer’s AWS, Azure or any other provider infrastructure. In this case, we’ll need to tailor the projects to your specific requirements to make sure we include the right set of applications and customizations and that we design an architecture that copes well with the amount of traffic that your users will bring. This alternative will allow us to take care of installing configuring, customizing, and optionally supporting your Open edX installation in your own infrastructure.
To find out more, and see the details and features of professional installation of Open edX, visit eduNEXT on-premise services.
What are the advantages of self-hosting Open edX vs a Cloud subscription?
The most common reasons why you’d be more geared towards an on-premise Open edX installation as opposed to a Cloud subscription are:
Specific location. You may need your application or data to comply with specific internal or external policies and that may imply that they are hosted within the borders of your own organization or in a particular geographical zone or Infrastructure provider. In these cases self-hosting, the applications and data within those borders is the way to go.
Full control. Despite the fact that the Cloud alternative has a lot of benefits and powerful control and customization options, it may be the case that you need to retain full control and unrestricted access to all parts of the systems and data and can only be accomplished in a self-hosted configuration.
Software Customization. It may be the case that you need Additional flexibility, for example, to customize or extend the platform considerably to adapt it to your use case. This may be easier in a self-hosted configuration.
A large number of users. One of the great advantages of the Cloud approach is the cost reductions you get due to the economies of scale. For smaller initiatives, this means that it will be more costly to go for a self-hosted option, but if your initiative is large enough, and in our experience, this means to have an active population of more than 20-25k active recurrent users, you may gain the benefits of the economy of scale in your own installation as well.
A note on Costs. A very common misperception is that the self-hosting is the less costly alternative or even one completely free of cost. If you are planning for a real operating online learning service to be delivered or sold to demanding learners, you understand the cost structures beyond the upfront costs of cloud infrastructure. First of all installation and proper configuration, theming and tuning for your site requires a serious amount of time, and even if this cost is hidden in your organization payroll, it may be much more efficiently employed elsewhere. Moreover, the opportunity cost of taking too long in being ready for market or of making a serious mistake that jeopardizes your initiative before or soon after it launches is often underestimated.
Last, but not least, we find it common for people to estimate only the cost of the installation services, and ignoring the fact that this platform, as much as any other complex and changing piece of technology these days, requires active maintenance, proactive monitoring, and continuous knowledge management, data privacy protection, it security and continuous upgrades to be taken very seriously in order to deliver a great experience, stay ahead and deliver the value that users expect from everyday online services.
With all these costs in mind, you are certainly facing higher total yearly costs in a self-hosting configuration than those you would expect in a Software as a service subscription.