I have been experimenting with open edx for quite sometime. And one thing that has always disappointed me is making server related decision. Clearly because I don’t understand too many things. and I have been stuck of I get some clarification on these issues I can make some progress.
So here is my question that will involve lots of ifs and buts.
So open edx provides single system installation which is good for understanding allover platform which is great.
Going to production with it would be big NO if one expects increasing userbase.
Having said that I am planning to separate MySQL mongoDb and memcache to separate instance so while I do that what would be ideal cpu required? A ballpark figure would do too. How do I monitor these systems if I had to do it all by myself?
I was also considering RDS for MySQL eliminating need for monitoring it.
Could I similarly use dynamoDb? Out of the box? Or how do I migrate from mongo to dynamo?
Regarding cache I have a question before even sizing decision
- if my target audience is from one
region only and my servers are sitting close enough do I really want to go to CDN or memcache is fine?
I will have about 8 courses in my lms. How much cache can memcache retain? Because I am afraid if I let more request to my server the more resources it will need and I am doing this whole project on my own without any financial support infact I am not even a developer I don’t understand python django MySQL or anything it’s all resources I am reading and have been able to get the platform running for me. Rational behind this is I have struggled to acquiring some skills and I don’t want others to go through the same. The fact that these are communication skills (learning languages) it will attract lot of audience.
What I need is the way where most content is delivered without hitting server (may be through cache)
Is there a way where I can work around to increase the concurrent user capacity without investing too much on the server if I know my content once published may never change?
is serving from cache is also a load on server?
Can cdn help my situation? Where content is delivered through them without having to make requests to server or request always hits the server?
I used to face this quite often. Whenever I spin up ami I used to get lot of rabbitMq errors. Now I use lilac.
And I heard rabbitmq is not there in lilac.
Is that true?
Or do I need to migrate that as well?
Finally when I deploy a server how much power does lms have or cms have is determined. So upon increasing its size do I need to configure anything or lms and cms on its own will take up the proportion of this cpu? Also I will only be the one authoring course can I manually configure the least resources to cms and most to lms? That would help too I guess
I have heard many people advice against using load balancer. Can someone give idea why is that? How are we suppose to scale application server without load balancer?
Hope to put these questions to rest