I'm really interested in trying out Amazon Cloud hosting for a new LMS project. I saw Turnkey Moodle - this looks like it may be a very good solution.

  • I'm wondering about the setup - is it just straight Moodle source code or modified?
  • Is this using MySQL? Will that scale on Amazon - even if it grows to say 10,000 simultaneous users?
  • How would I have to set it up on Amazon to handle this kind of scale? Would I need to switch out the db to something else?

Hope you can help me understand this a little better - I am new to AWS and to Turnkey's appliances so it would be great to get some feedback. Thanks!

Jeremy Davis's picture

But the current TKL Moodle appliance (v11.1) should be fine.

It uses the current upstream stable Moodle v2.0 without any modifications (although it is possible that it may include some non-standard plugins - not sure on that one though, TBH I don't even know what, if any plugins are available).

The appliance uses MySQL as the backend database. You may wish to make some tweaks to get the best performance out of it, especially if you have 10,000 users. Regardless the default MySQL should handle this fine.

Liraz Siri's picture

TurnKey Moodle uses the unmodified upstream source. Regarding scalability, you can get quite a bit out of mileage on a single instance, even a small one, but how far really depends on the specifics of your usage scenario. The best way to find out is to test the performance using web benchmarking tools that simulate users.

Also, we'll be introducing support for larger instance sizes soon so when you need to grow out of the small instance you'll be able to do that.

But 10,000 users all active at the same time is a crazy load. If those 10,000 users are active for an average of 5 minute sessions across the day that is roughly equivalent to 3 million active sessions per day and about 50-100 million visits a month.

It's very rare for any website to reach this scale. There are probably not more than one thousand in the world that do. Usually complex cluster configurations are needed to support it.

Users would be clustered during the day and spend say 1 or 2 hours per session. So if there were 100k visitors/month or even 1 million - does that change anything?

Regarding pricing - how would I calculate possible costs on AWS? I know there is a ~$.10/hr charge for the EC2 instance (including the 10% for Turnkey). Then I would have ~$.10/GB charge for data transfer? I'm new to AWS so I'm not familiar with how the appliances work - does this include other AWS services I need to estimate?

Thanks so much for your help - I know my questions are rudimentary right now, but getting started is the hardest part :).

Liraz Siri's picture

Costs: check out AWS's economics center. They have a monthly calculator and other resources you might find helpful.

Scaling: If you're looking for a solution that scales automatically to accommodate an extreme range of variable load (0-10,000 simultaneous users), TurnKey might not be right for you just yet. TurnKey currently caters more to the simple low-end of user needs. Auto-scaling cluster configurations consist of banks of multiple instance layers (e.g., load balancing layer, application layer, database layer) and are currently much more expensive to run even at minimum load.

We do plan to look into supporting auto-scaling cluster configurations eventually but if you need this right now you may want to look at a high-end solution provider such as RightScale. I think the minimum load is 5 servers though.

Jeremy Davis's picture

Have a look at the Hub (https://hub.turnkeylinux.org/) and see how that works for you! :)

Add new comment