We have no financial support as we’ve not started our courses yet. So we plan to deploy a lms as serverless on aws. after spent a long in our code and considering existing solutions we have found ‘Open Edx’ is the best option so far. But currently as we googled we have found, it takes one or more running ec2 to run for deployment.
But our initial plan was making a serverless LMS with django in aws(as we’ve an active account there and hopefully aws is better). We would like to use lambdas, microservices, api, s3 and other serverless options. We assume that would be cost consuming for us as it promise pay-as-you-go.
So our questions are
- Is Open Edx monolithic?
- If yes, then how can we make it into several microservices? and if no, then where are the resource to use it as microservice?
- Is it possible to apply aws lambda with Open Edx?
- If yes, then any example? What will be the list of functions to be considered to convert to lambda in order to go serverless?
- and if No, then what will be the alternative?
- And Finally We have some other functionalities like student ranking/reputation, mini social network among students, critical analysis on student performance, mobile payment etc. How can we add a new features which we plan to write from scratch? Is there any documentation or tutorial to do that?
- And How about customizing existing functionalities? Is there any reference?
- Finally if we want to replace database engines in Open Edx like mongodb with dynamodb of aws and mysql with postgred, is that possible? If yes, then How?
I know it’s a lot of questions. Any opinion will be appreciated.