Multi-site / tenant support

Hi

I setup a Tutor install on AWS using guide here : https://blog.lawrencemcdaniel.com/tutor-1-click-installer-open-edx-installation-guide/

I’m now looking at adding multi-site/config to this setup. I’m not clear how being inside Tutor impacts how Open Ed X works / gets setup? I’m referring to the basic info found here.

From my understanding the Tutor quick start script creates a single site for you based on your inputs. However when I look under the Django admin pages then I see a single entry for example…com (which doesn’t match my domain), and nothing under the site config settings.

Can I just create new sites and configure as for vanilla Open Ed X install, and if so how does the domain / port resolution work - given there are multiple LMS/Studio etc domains?
o I need to add some of this info to the Tutor config?

Any general guidance would be a great help !

Thanks

Richard

1 Like

Hi @Rickety,
Tutor does not support multiple Open edX sites. To be honest, I always considered that multiple sites are a terrible practice: they were created because it’s always been difficult to launch multiple platforms on a single server – that is, until Tutor appeared. With Tutor, it’s now possible to launch multiple platforms side by side on the same server: https://docs.tutor.overhang.io/local.html#running-multiple-open-edx-platforms-on-a-single-server Thus, multi-site installs do not make much sense anymore, in my opinion.

2 Likes

Thanks for the clarification, appreciate those points. I’ll bare them in mind.

Hi @regis. I would like to ask you that if I have 1000 clients and each of them have their own LMS and CMS. So it will require 1000 edx platforms on single server. Can tutor sustain this?

Sure, Tutor can handle this no problem. The real question is: can your server handle it? Bear in mind that you’ll need ~8Gb per client. I strongly suggest you dedicate a single server per client.

Thanks for your clarification @regis . It really make sense to deploy each customer on separate servers.

In the use case of a e-learning business or for a SAAS provider, how to workout? Consider there are many small trainers / instructors who may have little audience.

I know this question should be posted to edx community to be more appropriate. Asked here out of my curiosity.

In other way, can we conclude that Open edX is not a right candidate to be deployed as a SAAS service?

1 Like

You should setup a common MySQL, MongoDB and Elasticsearch cluster so as to minimize hosting costs. Once these three components are migrated to a separate cluster, running the web servers themselves should require much less resources. (maybe ~3-4 Gb)

If you are serious about deploying Open edX as a SaaS service, then I woudl strongly recommend relying on a more powerful deployment solution than docker-compose. You’re in luck, as Tutor supports Kubernetes deployment out of the box :slight_smile:

Tutor is a very good fit for SaaS providers, and some Open edX providers actually run Tutor under the hood. But you must understand that SaaS providers are power users, so you will almost certainly have to customize Tutor (via plugins) to get it to work the way you want.

2 Likes