Moodle Architecture Calculator

Moodle Architecture Calculator

by Noveck Gowandan -
Number of replies: 13

Hi Moodlers,

I had this idea a few months ago and spent some time with an excellent web developer to execute it.
It's basically a moodle server architecture calculator that can help newbies, c-level, management or non-technical users quickly understand what sort of environment may be needed to support their new moodle initiative.

I've based these estimates on my exposure in the field, from small environments with less than 300 people to tens of thousands of users. It's not perfect, it's actually still in beta testing, and it's a learning tool for me as well.

It is free to use, and will remain free for the forseeable future.

Please check it out and I'd love to hear your feedback. I've deliberately left out advanced clustering, this is quite advanced and where the freebie ends, so to speak.

https://tucuche-consulting.com/calc




Average of ratings: Useful (2)
In reply to Noveck Gowandan

Re: Moodle Architecture Calculator

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Interesting idea, although I think I'd be more comfortable if you released the code/logic you are using behind that as an open source project - you might also need to be careful with the Moodle trademark here too - the fact that you are offering advice around Moodle infrastructure could be a problem:

https://moodle.com/trademarks/
In reply to Dan Marsden

Re: Moodle Architecture Calculator

by Noveck Gowandan -
Oh my!

Very Very Sorry about the trademark stuff. I've removed the Moodle name from all pages. If HQ has any concerns with the edited version, please let me know. 

Thanks for your feedback - it's just fancy web-based interrogation of a huge codified spreadsheet - I guess I can release that as open source, although I don't know if it will make sense in that context.

It's really a learning experience for me as well.

In reply to Noveck Gowandan

Re: Moodle Architecture Calculator

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi Noveck

This would be a great help here on Hardware and performance forum. Look at the number of enquiries like "What is the hardware needed for N users?" where the FAQ is not very helpful:
- https://docs.moodle.org/en/Performance_FAQ#What_hardware_should_I_buy_for_.27n.27_concurrent_users.3F
- https://docs.moodle.org/en/Performance_FAQ#What_are_the_requirements_for_N_users.3F
- https://docs.moodle.org/en/Performance_FAQ#How_many_users_will_my_installation_support.3F

The "empirical" part is OK with me. The original classical calculator "Performance perspectives" https://moodle.org/mod/forum/discuss.php?d=57028 was empirical too. When I am back from the summer break, I will do some sample calculations and compare the results with my experience.

I hope you will be able to settle the licensing and trademark issues and keep this service running. IANAL but as I understand your calculator does not need the Moodle code for it to run. So GPLs do not apply. Yes, the trademark is an issue: You can’t use “Moodle” to describe services around Moodle (such as hosting, training, support, consulting, course creation services, theme development, customisation, installation, integration, analytics and certification). This applies even if you do not charge for the services. https://moodle.com/trademarks/. I find it restrictive, too restrictive to follow up all the breaches!
Average of ratings: Useful (2)
In reply to Visvanath Ratnaweera

Re: Moodle Architecture Calculator

by Ken Task -
Picture of Particularly helpful Moodlers

Wow ... far from a 'legal beagle', but ...

"You can’t use “Moodle” in your domain name."

Server like moodle.somenet.net according to above is not compliant cause technically moodle.somenet.net is a subdomain of somenet.net.

Sure do hope that Blackboard never attempts to enforce patents as they have in the past with what was #2 leader in online learning world. :|

Hmmmm ...

https://www.softaculous.com/apps/educational/Moodle

Oh, well.

'SoS', Ken

In reply to Noveck Gowandan

Re: Moodle Architecture Calculator

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Well.... ok. It's a cool marketing hook I'll give you that wink

I think, significantly, it misses out what we *always* say to people - "what are your users doing". I had a play and - not unreasonably - it errs on the conservative side. However, someone wanting to run some crazy only quiz for 5000 users (we get variations on that quite frequently) is going to be disappointed. So if it's genuinely intended to be altruistic I think it needs another slider ('looking at resources' <======> 'nothing but timed quizzes') to make sense.
In reply to Howard Miller

Re: Moodle Architecture Calculator

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
You are absolutely right: 5000 users doing homework (means typing on Word) generates a fraction of the load of 50 users hitting the start button of a quiz during a period of 10 seconds. Even then not all quizzes are the same. One has 5 questions per page, the other 50!

The regulars know that this is not a sensible question. It is always the beginners who ask, and get lost in our deep discussion. I agree, adding a branch to handle quizzes would improve the accurary of the prediction. Something like "Will they conduct a synchronous on-line exams?" How many users per minute will fetch the quiz? How big, number of questions per page, is the quiz?
In reply to Visvanath Ratnaweera

Re: Moodle Architecture Calculator

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Which brings us back round to the answer nobody likes...

"Go and do a pilot and make sure you do loads of measurements on your site"
Average of ratings: Useful (2)
In reply to Howard Miller

Re: Moodle Architecture Calculator

by Noveck Gowandan -
Lovely ideas here, thank you! I love the idea of the quizzes/activities expansion so I'll definitely do some work on expanding the beta.

Even though I am a "consultant", I do a lot of pro-bono work with schools in developing countries or areas and this tool was really designed to "help users help themselves", in the absence of any similar resource.

The disclaimer is there that not all environments are the same, but the tool is really for the managers/execs/non techies who desire a moodle on prem or IaaS and would like a starting point. It might even help with comparing hosted vs PaaS discussions.

I will definitely review the trademark stuff in more details - as I'm waaaayyyy too small to be a moodle partner, but I don't want to intentionally step on any toes.

I'm still a Moodler and this is just one way of me trying to give something back. If it's viewed as commercial advertising, please don't hesitate to delete the post, it's not my intention.
In reply to Noveck Gowandan

Re: Moodle Architecture Calculator

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
One more thing about the nomenclature: In this connection 'architecture' for me is either an instruction set architecture or the system architecture of a computer cluster. One could even understand a software architecture. Your calculator prints CPU cores, RAM and storage. Aren't they just hardware?
In reply to Visvanath Ratnaweera

Re: Moodle Architecture Calculator

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Correction: Only later I noticed that your tool suggests multiple web servers and additional database, storage or cache servers for heavy load. So the tool is not only a hardware calculator, it also proposes an architecture!
In reply to Howard Miller

Re: Moodle Architecture Calculator

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Yes, "Go and do a pilot and make sure you do loads of measurements on your site" is the circular answer. If the person can do this, he won't ask here!
Average of ratings: Useful (1)
In reply to Noveck Gowandan

Re: Moodle Architecture Calculator

by Ken Task -
Picture of Particularly helpful Moodlers

Thanks for sharing ... took a look see and have to agree with others ... although your tool not the only one I've seen ... or can re-call using - which were by modern standards ... ancient! :|

To extend the tool ... just think how cool (for sys admins who really aren't sys admins) a true moodle addon/plugin for admins only that could break down moodle mods/blocks/quizzes, etc. into usage of resources - memory/space, etc.  Broken down by course and site.

Am  currently using CLI moosh for a course-info dump to a text file that shows somethings like that only in text but for one course only.

Looks like:

Course ID: 546

No of contexts: 251
Context by level:
	CONTEXT_MODULE (70):	246
	CONTEXT_BLOCK (80):	5
Context by module:
	assign (1):	4
	folder (8):	80
	forum (9):	1
	label (12):	9
	resource (17):	49
	url (20):	103
Number of role capability overwrites: 0
Role capability overwrites by context:
Number of local role assignments: 0
Locally assigned roles by context:
Number of enrolled users: 0
Users enrolled by role:
Number of groups: 0
Group statistics:
	Min number of members in a group:	0
	Max number of members in a group:	0
	Avg number of members in a group:	0
Course modinfo size: 489344
Number of sections: 17
Section statistics:
	Sections visible:	2
	Sections hidden:	15
	Min number of modules in a section:	2
	Max number of modules in a section:	32
	Avg number of modules in a section:	14
Number of grades: 0
Number of log entries: 0
Number of files: 772
Total file size: 2658661700
Cache build time: 0.085025072097778

What I started to use moosh course info for was size of backups and what
teachers might have been using up more than their fair share of limited drive space.

At the very end if for a course, some recommendations ... like MySQLTuner makes
about databases. Certainly site wide ... also ... with some 'red flags' for things like
100 question quizzes generated on one page - synchronously run Moodle ... face-2-face.

Sorry ... no mock up. Kinda thinking out loud here!
Anyhoo .... 2 cents worth! :)
'spirit of sharing', Ken
Average of ratings: Useful (2)
In reply to Noveck Gowandan

Re: Moodle Architecture Calculator

by Jeff White -
Only 10,000 users and 1,000 courses? What about us with +100,000 users or should we be knowing what we are doing with environments that size ? big grin

I love the concept of this. Additional options to factor other thing would be good but there would be no way to meet everyone's Moodle set up/usage. I am curious when your tool decides to make multiple web servers, a separate cache server, and/or database server. If the user needs to have a high availability environment then the system will always have at least two of each server type. I would think you would want to keep a single web server until you hit that server size limit as you have to go from local disk speeds to network shares for Moodledata. There are hundreds of other factors but the transition of using local disk to shared storage is probably the number one thing that would bottleneck in Moodle.