Moodle Enterprise

Moodle Enterprise

by Susana L. -
Number of replies: 27

Hi,
From some time now I have been discussing with some colleagues the best technical design for a moodle implementation in a large institution (~30000 users). Basically we are considering advantages and disadvantages on having a single installation vs having separate moodle instances.

Our concern is to offer an integrated learning environment, regarding that nowadays: more and more students attend multidisciplinary courses, information should be easily shared and we have much more user centered information... among other issues. So, having completely independent moodles in a single institution is chaotic for students, teachers, admins, and, in our opinion a waste of resources.

We started making some tests using MNet, but it seemed to be a nightmare when it comes to managing user accounts and automatic enrollments... (anyone using it in a large intitution?)

I remember that some years ago WebCT had a license, specifically designed for large institutions. I have searched and I miss an official recommendation for Moodle on that subject...

However we have found that more and more institutions with large installations are using moodle as a single instance... [http://docs.moodle.org/en/Large_installations] and we have read in several reviews that performance and scalability... it's all about hardware...

Anyway I would much appreciate your opinion on this issue and get some real experiences on the subject. I think this is something that may interest a lot of administrators, developers and institutions using moodle as their main LMS.

Thank you for your attention!
susana

Average of ratings: -
In reply to Susana L.

Re: Moodle Enterprise

by Colin Fraser -
Picture of Documentation writers Picture of Testers

Perhaps one of the best people to discuss this with would be Tim Hunt. Tim comes from the Open University and I think thay have a much larger, perhaps the largest, enrollment base of any organization I know of.

Having said that, the issue you raise, that of multidisciplinary studies, is one of the more interesting phenomena in education in the last 20 odd years. It is certainly changing how Universities are operating, that is for sure.

Having had some experience with WebCT in a multi-campused organization, I can suggest the approach they took was not necessarily a good one. Each campus had its own WebCT install which also proved somewhat inconvenient when travelling between them not to mention the difficulties that seemed to magically appear when trying to move between disciplines, inside the same campus. (I think that was more about a lack of understanding of WebCT than it was the limitations of the program, but it may have been both.)

I noted then that the hardware also played a much greater role in the efficiency and stability of the program than I had thought. I am aware of a rather large organization curently using a commercial product updating its servers due to the poor performance of that product - but to be fair, there has also been an increase in the number of users which would also have an effect. Whether this will produce the desired results is somewhat questionable, I suspect, as I think the product deeply flawed due to the acquisition and incorporation of another LMS a few years ago that has not be properly digested, but that is another story.

As for Moodle, I do not think that you are going to get out of it cheaply. The hardware requirments alone are going to frighten you, with that number of enrollments - but I suspect that true of any LMS, and Moodle is one of the more efficient ones. A server cluster or farm that is mirroring or load balancing is going to be essential, I am sure you have already determined that.

However, one of the better setups I have seen was a cluster of ordinary PCs, used as servers. They used Linux, but what flavour I do not know, there was about 12 machines and the service was flawless. Admittedly, they were not dealing with 30,000 enrollments, but what I saw of it was pretty impressive. The techie said this was scalable to as many PCs they could fit into the room, but there would be a serious noise issue with the machine's cooling fans. They were doing on the cheap actually, and that system is still in use, btw, and still works well and it is much easier to replace a 350Eur PC than it is a 10,000Eur Server.

Average of ratings: Useful (1)
In reply to Colin Fraser

Re: Moodle Enterprise

by ben reynolds -

Just a note that MootUK11 had a presentation

Moving the Open University to Moodle 2.0

Ross MacKenzie, The Open University

that I believe is publically available

http://mootuk11.org.uk/videos/

Average of ratings: Useful (1)
In reply to Colin Fraser

Re: Moodle Enterprise

by Susana L. -

Hi Colin, thank you for your input!

Yes, we already have load balancing, storage, etc, for an instance with about 14.000 active users (per year) (~30.000 enrolled at the moment). But our campus still have another 3 moodle servers that aproximatly will sum another 14.000 active users.
In order to have an integrated environment we are considering to gather it all in a single instance (~30.000 active users). I just wonder if there are any known drawbacks on this kind of implementation using moodle.

Thanxs,
susana

In reply to Susana L.

Re: Moodle Enterprise

by P Cooke -

Hi Susana, I woukld recommend a really good dedicated solution and good management of that server:0 cybertech88

In reply to Susana L.

Re: Moodle Enterprise

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I have some experience in sites of that size. Obviously, there is no straightforward answer. Multiple instances (e.g. one per department/school) have certain advantages from the implementation point of view (one server per Moodle for example) but are a hassle from the administration point of view (e.g. needing to log in to several different Moodles to change a setting).

A large single instance of that size will almost certainly need some sort of load balancing and while not "rocket science" you clearly to to have (or be willing to get) the technical knowledge to run that properly.

Either way, sizing the hardware for a 30,000 user Moodle is something near impossible if you are going from a standing start. I would encourage you to run smaller pilots to get a handle on your loading if you can. This is a common forum question - "what hardware do I need for 50,000 users?"; there is no answer!

I would also encourage you to look very carefully at systems that work with Moodle. Multiple sites (or indeed a single site) can work fine if you have (again, for example) an external LDAP server for authentication and some sort of database to store your student course enrollments. With Moodle 2.0 you can also look at external repositories for commonly used course materials. A Moodle site of this size is unlikely to be "standalone" and these factors will feature prominently in your decisions (or they should anyway)
Average of ratings: Useful (1)
In reply to Howard Miller

Re: Moodle Enterprise

by Susana L. -

Hi Howard,
We already have load balancing etc, so we are not starting from scratch at all. We have a great team of system admis that manage different university resources.. and so far everything has been pretty smooth... We are happy with moodle smile. My concern now is specially about moodle (itself) scalability? Are there any drawbacks on having an even larger moodle instance?...

Thank you!

In reply to Susana L.

Re: Moodle Enterprise

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
We should probably be asking you then smile

There is nothing I am aware of that restricts Moodle beyond the hardware. That's probably a gross oversimplification but around the 30K users mark is not exceptionally large. Unless you are going way beyond that I don't think you are going to have major worries.

Clearly there are real-world considerations such as is your SAN/NFS connection fast enough, is your database tuned properly (enough) etc.? You can always find a bottle-neck.
In reply to Howard Miller

Re: Moodle Enterprise

by Susana L. -

Ok, got it. ~30K active users is not exceptionally large for a Moodle site...

In reply to Susana L.

Re: Moodle Enterprise

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Actually, it probably is exceptional but not unique and nowhere near the biggest smile
In reply to Susana L.

Re: Moodle Enterprise

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
To which extent are these considerations related to the past discussion "Quizzes : performance on exams period" http://moodle.org/mod/forum/discuss.php?d=149959 (forum "Hardware and Performance") ?
In reply to Visvanath Ratnaweera

Re: Moodle Enterprise

by Susana L. -

Hi Visvanath,

Yes, they are related smile. Quizzes might be a particular issue for large Moodle implementations. I would love to hear some practical cosiderations about it when it comes to large implementations...

Cheers,
susana

In reply to Susana L.

Re: Moodle Enterprise

by Robert Brenstein -
Having multiple Moodle instances does not need to be chaotic and confusing. I am a proponent of a what I call a mixed model: a university should have a central Moodle instance; however, if any department or program wants to get heavily immersed into using Moodle, they should be allowed to have their own instance of Moodle. The latter request must come from that unit and not be forced administratively. Having own instance of Moodle gives such a unit more control in terms of using Moodle and adjusting it to the way they teach and function, whereas central service by its nature will always provide the most common denominator only. There is also psychological aspect of having own Moodle instance. Such a department or program must be doing their own administration of their instance (it is a separate matter whether they operate the server themselves or that is done by the central team). For example, when I looked at http://kampus.umcs.lublin.pl/moodle/ a few years ago, they had only a few department-specific instances. Now they have like 21 with central Moodle serving anybody else. On a campus where I operate a Moodle instance, there is a strong recommendation to use the central service; however, there are a few department-level instances as well. Mine predates the central Moodle and its usage has been extended to be also an Intranet for our students. We like being able to do things the way we like. Our instance uses the central service for verifying passwords, so students log in the same as to the central Moodle but they do have to create a login and set up a profile separately. There is a link to our Moodle instance from the central service, just like there is a link from our instance to the central service, letting students easily switch instances. Operationally, this allows to move the groups of heavy (heavier) users to a separate physical server. Such an approach requires opennes and cooperation but creates a uniform virtual campus spanning multiple VLE instances (must not be all Moodle for that matter).
In reply to Robert Brenstein

Re: Moodle Enterprise

by Colin Fraser -
Picture of Documentation writers Picture of Testers

Currently, my employer has consented to about 180 odd Moodles to cover about 160,000 students spread out over 1,000,000 k2. However, this is preventing development of a common resource base, in one way, because we do not have a common Moodle. Hopefully, when we get to Moodle 2.0, 2012 I understand, we will have been able to develop sufficient number of Repositories that we have them in a single site - or at least have them readily accessible. (Currently though, to be fair, it is still early days for the Moodles, some are used well some barely touched, but it all takes time.) So there needs to be common ground, but as Robert suggests, there is plenty of scope for individual initiative and variations even within a single campus.

In reply to Colin Fraser

Re: Moodle Enterprise

by Susana L. -

Hi Collin,

I'm not sure if I was able to completely understand your input... Your plan is about gathering 180 moodle instances in a common ground? A single site? This is really interesting... I would love to understand I little bit more about your project smile.

We are also planning full Moodle 2.x for 2012 (only a pilot for next academic year), and as I mentioned before we have been planning to reorganize and redesign our system. We want to offer better product to our academics... scalable and an integrated learning environment.

Thanks for sharing!

In reply to Susana L.

Re: Moodle Enterprise

by Colin Fraser -
Picture of Documentation writers Picture of Testers

The background: It is still early days yet, but we are, apparently, moving to Moodle 2.x in early 2012. In 2013 we are commencing a national (common) curriculum, and a number of people, myself included, are suggesting that we prepare for this change by creating as many common resources as possible. (Note resources, not activities, simply because resources take time to gather, activities based on those resources are easy to generate for individual circumstances, generic activities often cause more problems int he classsroom than they resolve.)

An Issue: Repositories will help facilitate this kind of change but those repositories need to be available to everyone, and I doubt that is ever going to happen. Internal security policies will prevent it.

One solution: A single Moodle that all schools are given access to that contains all the common modules generated. All schools can use these resources and while there is no requirement to contribute, any such contribution would be welcomed, and thoroughly vetted.smile

Thinking about your particular issue, this may find resonance for you in that all institutes have specialist departments that require their own sets of tools. All education institutes also have generic education requirements that must be met to satisfy a particular set of criteria. These are not mutually exclusive, just technically challenging. Say you have 20 departments, you could, using Shibboleth and/or LDAP create a single logon situation, log into one Moodle and you log into all, but you may only ever use two, the generic Moodle and a single specialist Moodle, or three if you are specializing in two different disciplines, e.g. Humanities and Computing.

How you could set that up would be based on what each department sees as its core and non-core requirements.. the specialist areas and subjects would be obvious, but the generic areas mmm a bit more problematic I think...

Hope that helps a little..

In reply to Colin Fraser

Re: Moodle Enterprise

by Robert Brenstein -
I wonder whether using a central repository, like Alfresco, could be used to make same materials readily available to different Moodle instances.
In reply to Robert Brenstein

Re: Moodle Enterprise

by Susana L. -

Yes, I understand your point of view. Multiple instances approach is also a practical option. But I think that what we miss is a more integrated flexible model.

Having separate multiple instances doesn't solve some issues like:

  • Integration of users MyFiles, Messages, Forum Posts, Blogs... If we have independent instances the same user will have its information spread by those instances.
  • In intitutions with transversal courses, students will have to know to which instance to access in order to attend a certain course. This should be transparent to the end user.
  • Information about courses, student records and enrollment is usually in the institution IS. This should be integrated with moodle. And using several instances, information gets replicated and management of users gets more complex
  • It gets more difficult to have the big picture (statistics, etc)
  • Server administration is also replicated by several instances... and it starts to have different versions, different layouts, plugins (that's not so good for users with transversal courses)

I would love to hear advantages of having separate moodles. You talked about the fact of being able to adjust it to the unit own needs, and of course, the psychological aspect. And the latter one is absolutely the most impressive one!! smile.

But technically, are there any other benefits?! And about students? In your opinion, which approach will benefit them most? Which approach would be more user friendly?

Thank you for your input!
Cheers,

susana

In reply to Susana L.

Re: Moodle Enterprise

by Robert Brenstein -
Michael Penney raises a number of important points. The central-only solution has some limitations, particularly forcing everyone to use the common denominator set up an increasing the complexity of the course structure. Fully-decentral solution brings the opposite problems, particularly the issues you mention. The model I described ain't perfect but gives most flexibility. Let me repeat that the central service is, well, central to its operation. The independent instances are only for units that really want them.

MyFiles -- that could be restricted be only on the central Moodle.
Messages -- they should be discouraged in the first place since the bog Moodle for no good reason IMHO. Their usage is very low here fortunately as most students use email or sms.
Forum post, blogs -- those are course-specific or department-specific, so no issue here. I mean single or multiple instances make no difference really.

which instance to access in order to attend a certain course -- if instances are department/program based, then there is no ambiguity: students quickly learn that all computer science courses are not on the central moodle but in cs-moodle. Those who get to the CS area on the central Moodle should find a link to CS-Moodle with appropriate information.

SIS integration -- that will vary a lot but I don't read much on moodle.org forums about any deep integration with SI systems. I don't see replication as in issue, particularly if LDAP or some other central service is used for authentication.

Statistics -- yeah, statistics are not so clean, but teaching is the reason for having Moodles not statistics and in my mind not absolute statistics but differential statistics for each instance is what is important.

Server administration -- yes, it gets replicated in some ways, but since each instance is managed by different people everyone does less.

Layouts and design -- it is a matter of policy. I don't really think that this would be a problem. On the contrary, variations in design may help users distinguishing the services. Instructors are free to rearrange layouts of their courses anyway, so variation of layouts can't be an issue.

versions -- Moodle basic operation does not vary that much among versions, particularly on the student level, so I don't see that as a real issue.

Plugins -- being able to use additional or custom plugins is exactly an advantage of separate instances. This affects instructors not students if they happen to have courses on different instances but that should not be that common if extra instances are department or program based.

advantages of having separate moodles -- I'd say that additional flexibility is the main advantage. As I said earlier, on the campus where I operate a departmental-level moodle instance, there is the central moodle and a couple separate instances. Those run on separate, local servers, although that does not have to be so (cf. Michael Penney's post). A few examples of differences. On the central server, instructors have to request having a course area created each semester. In our instance, we automatically create areas for all courses we offer (department caters to 5 study programs at this time). That would not be reasonable for the central server, of course. In our case, the usage of Moodle within department is so high (the psychological aspect of owing an instance and having local individual support is part of it) that only a few course areas stay unused. In most departments, only individual instructors are using Moodle. Another thing we have is an intranet-like area for our students, which would be not practical if inappropriate on the central server. With true permanent enrollment in them, so students stay signed up during duration of their studies, we have several courses that cover specific aspects of study programs. Aside from keeping all related info in one location that gives us push mechanism for reaching majority of students interested. We also have a number of 3rd party modules installed which are not available on the central service. Our instance has also a few dozen small and not so small hacks, so it works just like the people in the department want it to work. Language pack is also adjusted to make our users more happy.

about students -- operating in this setup for quite a few years, I can say that I don't see any real issues that students have with switching Moodle instances except for those who are not regular students (we need to create a manual access for them). Only a couple of our instructors have to also use central instance due to teaching multi-disciplinary courses. I never heard any complaints about that from them.

Having said all that, I should clearly state that Moodles here are used primarily to support presence teaching. Things might be different for online-only programs, distance teaching, etc. There is no single recipe that works for all.
Average of ratings: Useful (2)
In reply to Robert Brenstein

Re: Moodle Enterprise

by Susana L. -

Thank you Robert! Very interesting post. Could you tell me please approximately how many users are you talking about? Central Moodle and local Moodles.

In reply to Susana L.

Re: Moodle Enterprise

by Robert Brenstein -
Our local Moodle has about 2k active users each semester. I don't have the current data for active users of the central Moodle, but the whole institution has just over 20k students, so we are talking a fraction of your usage.

What I'd like to add to the above is that the expectations, needs, etc of students and instructors are quite different and that should be taken into account. You are not a Moodle novice, so I am sure you have observed this yourself. Students seems to be fine with any system that is coherent and clear to navigate. They will use whatever they are given. Instructors are more feeble, need more support, the more direct the better, and shy in using new things. A local moodle server removes some of the barriers, bringing the technologies closer home.
In reply to Robert Brenstein

Re: Moodle Enterprise

by Colin Fraser -
Picture of Documentation writers Picture of Testers

Yes Robert, this is a very accurate description of real time..smile To gwet around part of this problem the local Moodle User Group is discussing this issue in detail and will be developing essential training packages for school staff. The students are fine, as you noted, in fact, I took a bunch of Yr 8 students into a course yesterday, for the first time, and I can see me having to develop and include a lot more lessons in the course already. Most have finished the first assignment in ordinary class time, and the rest do it for homework. Unbelievable - when most of them have the attention spans of a gnat on speed.

In reply to Susana L.

Re: Moodle Enterprise

by Michael Penney -

Hi Susana, at ~30,000 users the decision between a single instance or multiple instances really isn't about scalability, but about whether you are planning on having different modules, or plug-ins, different management policies, etc. on the different instances.

For scalability an essential metric you'll need to look at is peak load (also known as concurrency) - how many users may be on the site at one time. This is an especially important metric for academic institutions as peak load times tend to be around mid-term tests and finals, when you may have 1000s (or 10,000s) of students trying to complete online tests, submit assignments, check grades, etc. at the about the same time. Often system loads at these times are 2 times (or more) 'normal', this is also when system outages are most disruptive. So an essential part of designing a hardware solution for a large Moodle site is to design for the peak load times, and to build in a method of scaling the system rapidly, as well as recovering rapidly, from hardware or software failure, into your system plan. To do this, identify the points of failure and build in contingency.

Because Moodle has so many modules and can be used in many different ways, it's difficult to say 'build your system like this and it will work' - a site configuration (hardware and software tuning) that works great for a 30,000 user site where the courses use mostly resources and discussion forums will be inadequate for a similarly sized site where  there is heavy use of the quiz. For example one ~30,000 user site I know of has several courses with over 1000 students each - and these courses make heavy use of the Moodle quiz module for end of semester summat assessments, with randomized questions from very large question pools. Hardware requirements for this site basically double when students are taking these tests on the last day of the semester or if they happen to get scheduled at the same time during mid-terms. For this reason, it's essential to actively track your site's system resource usage throughout the year, discover when and what your peak loads are, and plan for them. Of course it's difficult to do this when starting 'from scratch' with no data.


At Remote-Learner, we currently have ~800 client Moodle sites, and many that are over 30,000 users. For most of the 30,000-40,000 user sites, our "level 4" configuration works fine (with some site specific configuration for peak load in some cases)- this is a highly tuned two box set up as described on our site. We have also implemented the Red Hat Enterprise Virtualization  server platform, which enables us to dynamically scale resources for peak load - we can dial up and dial down server resources depending on your needs, and often we'll start a 30k user site on a level 4 equivalent RHEV virtual server, and then work with  the client to tune the configuration to optimal performance.

Finally, for large sites, an essential component for adequate stability is well trained staff who can setup, monitor, and tune the system. If you are doing it yourself, a decent rule of thumb is 1 well trained SysAdmin for every 10,000 users (that rule is pretty much the same for users self hosting WebCT or Blackboard, by the waywink).

We also have our Enterprise Learning Intelligence Suite for Moodle - I only mention that because it has methods for mananging a multi-tenant Moodle system with one codebase, shared resources, etc. with the option for separate administrative structures for different organizations using the site - so for instance Department (or College) 1 can have a local admin who can manage & get reports on her/his own users without seeing the users of College 2. There is more information about that here if you are interested.

I wish you the best with your Moodle project!

Average of ratings: Useful (2)
In reply to Michael Penney

Re: Moodle Enterprise

by Susana L. -

Hi Michael,

Thank you for all the advices!

As far as I could understand, this kind of decisions are not so deeply technical stuff (scalability and good performance are achievable with fine tuning, good knowledge of the system requirements and well dimensioned hardware). The real issue should focus on practices, management policies, local requirements and I think, as Robert mentioned, psychological aspects "... of having own Moodle instance."

A more flexible Moodle instance would be a good option. About Enterprise Learning Intelligence Suite for Moodle, is this for Moodle 2.x?

Thanks.

In reply to Susana L.

Re: Moodle Enterprise

by Hubert Chathi -

Enterprise Learning Intelligence Suite for Moodle (ELIS) is currently only for Moodle 1.9, but we will be porting it to Moodle 2 soon.