5 critical LMS scalability mistakes and how to avoid them (updated May 2021)
On 09 May 2021
Features and Design, Help Guides
Demand for e-learning has surged in the pandemic. As long-resistant organisations finally adopt this form of education, industry experts expect that the “legitimisation of e-learning” will provide long-lasting growth for the industry. Initially expected to be worth over £275 billion ($375 billion) by 2026 (Global Market Insights, May 2020), however, the global pandemic has accelerated the growth of the e-learning market, with predictions now set at over $660.8 billion by 2027 (Globe News Wire, May 2021).
It’s no surprise then that scalability is on everyone’s minds right now. At Plume, many of our clients have experienced tremendous and sometimes unexpected growth. And we’ve helped them overcome the technological barriers to scalability. But it’s not easy.
Simply put, scaling a learning management system that wasn’t designed with scalability in mind is often a very expensive and challenging process. We’ve found that the earlier you consider scalability, the easier and more affordable it will be.
This guide will help you to scale your LMS to 25,000 – 1,000,000+ learners
This guide is perfect for organisations who are looking to build a new, scalable LMS, that will support them through significant growth.
It may also be useful to those who are looking to scale an existing LMS. However, scaling an existing system is often not achievable – so consider this throughout.
Thinking of building a scalable learning management system? Talk to Plume about our custom LMS development services.
The five common mistakes are:
Mistake 1: Ignoring scalability and worry about it later
Fix: Consider scalability from the start of your LMS build
Mistake 2: Choosing unscalable technology to power your LMS
Fix: Carefully choose the right technology stack
Mistake 3: Overcomplicating the system
Fix: Be hyper-focused in what the LMS is supposed to achieve
Mistake 4: Adding non-essential functionality willy-nilly
Fix: Don’t bloat the system
Mistake 5: Failing to maintain and optimise your LMS
Fix: Continually optimise your LMS
Now you know the mistakes, let’s explore how to avoid them!
1. Consider scalability from the start of your LMS build
As with the development of any software product, building a custom learning management system requires a fairly significant upfront investment. So it’s important to get it right the first time around, or risk having to double-up on your investment to fix issues later.
The choices you make in the early planning and development stages of your learning management system will determine how scalable it is in the future. If you make the wrong choices now, your ability to scale your LMS will be severely, if not critically affected.
What happens if you ignore early scalability consideration and worry about it later?
The best-case scenario is that with significant optimisation work, an LMS development agency with experience in this field (such as us) will be able to scale your existing system. But from our experience, this is not the most cost-effective approach.
Instead, most organisations will find themselves in a situation where they simply cannot scale their existing technology, and they are typically presented with two options:
- Stick with the current “unscalable” system and abandon future growth plans
- Start again and build a brand new system at significant time and cost in order to facilitate growth
In short, avoid building your LMS twice by considering scalability from day one.
2. Carefully choose the right technology stack
Some technology does not scale. There will be layers to your technology stack, and you need to be sure that each layer of that stack is scalable to facilitate growth.
Layers to your technology stack might include:
- Frontend frameworks
- Backend frameworks
- Content management systems
- Open sourced LMS frameworks
- Plugins / modules
- Third-party integrations
It takes just one element in any of those layers to present scalability limitations; some of which are more difficult to overcome than others.
For example, if your server environment isn’t up to par, it’s relatively easy to move your LMS to a more appropriate and powerful server and increase resources as demand increases.
Unscalable APIs, integrations and plugins will present more difficult challenges. Over time, your dependence on these technologies increases, and transitioning to more scalable alternatives will prove to be disruptive and costly.
Unfortunately, unsuitable technology in some layers is critical. Choose the wrong CMS or LMS framework, and scaling may be an impossible feat with insurmountable technological challenges.
So what technology should you use if you want to scale? Unfortunately there’s no clear-cut answer – the right stack for one organisation is often wrong for the next. An experienced consultant will be able to help you architect a suitable solution.
Not sure what technology you need to succeed? Ask Plume about our technology consultancy & development services. Contact us
However, here are our general thoughts on LMS development approaches
Fully custom: React + Django or React + Node.js)
React powers the front-end experience of some of the world’s most popular websites and apps, including Facebook, AirBnB and Netflix. So as you’d expect, React front-ends are perfectly capable of scaling when used correctly.
Django and Node.js are backend frameworks. Django is used by Instagram, Spotify and YouTube, while Node.js is used by LinkedIn, Uber and Trello. Again, these products are used by hundreds of millions of users, so are capable of scaling.
However fully custom software products require a higher up-front investment in comparison to some semi-custom approaches, so this approach is best suited to established organisations or start-ups with investors.
Semi custom: WordPress & LearnDash
Firstly, when we say semi-custom, we mean taking an open sourced technology and adapting it to your needs. This can be a more cost effective approach to development and may be better suited to bootstrapped start-ups.
The WordPress CMS is scalable if scalability is considered early and with the right expertise, and assuming you address some of WordPress’ own bottlenecks. However, many of WordPress’ plugins (including the LearnDash LMS plugin) do not necessarily scale without significant optimisation work.
When talking about scale, a WordPress based stack is only as strong as its biggest bottleneck. If you install a lot of off-the-shelf plugins to introduce new functionality, you also increase the number of potential bottlenecks and therefore the difficulty of scaling.
Scaling WordPress & LearnDash to 25,000 users is relatively straight forward. Scaling to 100,000 users can be challenging, and scaling beyond 100,000 users requires a lot of work, but is achievable to a point.
You will need to bring in a systems architect who has experience scaling up enterprise-grade load-balanced hosting infrastructure, and the earlier you do this, the better.
In short, to scale WordPress, you must ensure that you have support from experts with a proven track record of scaling WordPress based LMS from day one.
Semi custom: Drupal
Drupal is the chosen CMS for many enterprise-scale and mission-critical websites, and it’s scalable. However, Drupal’s open-sourced LMS options are severely lacking in comparison to LearnDash, and can’t really be relied on.
The Drupal approach normally means custom building an LMS on top of it, at which point the benefits of using Drupal are nulled, and you may as well invest a little more for a fully custom build.
Semi custom: Opigno
Opigno is an open-source LMS that builds on top of Drupal. It can scale too and is popular with non-profits. However, as touched on above, Opigno is difficult to work with, so costs and timeframes tend to be quite high to extend it beyond its out-of-the-box functionality.
Semi custom: Open edX
Open edX is an open-sourced LMS that was intentionally built to scale to millions of users, built using Django.
However, Open edX has a smaller community of developers compared to other options, which means that there is limited professional support and development costs tend to be higher.
Semi custom: Moodle
Moodle is still the LMS of choice for colleges and universities (presumably only because nothing better has come along). If you’re willing to accept its many, many shortcomings, it is capable of scaling.
3. Be hyper-focused in what the LMS is supposed to achieve
When building a custom piece of technology, it can be tempting to use this as an opportunity to develop an all-encompassing system that delivers every tool that the organisation needs. Stakeholders might ask:
“Can we build the website into the LMS?”
“Let’s build a custom CRM into this too.”
“We hate Mailchimp – can you add in newsletter technology?”
“We also want this to also be a global social network.”
And while some of the above may be viable when scalability is not a concern, ‘one system to rule them all’ is generally not something that you should strive for if scalability is a priority.
To support significant growth, it’s important to keep the system as hyper-focussed as possible, with only the tools and features required to reach the key objectives of the build (usually around facilitating learning).
If your LMS is also your website, CRM and marketing suite, there is simply more stuff to go wrong and the introduction of more bottlenecks that hinder scalability. This means more bugs and more downtime which impacts your user experience (and your bottom line if those users leave). It also means much higher maintenance and hosting costs, sometimes to the point where it’s no longer viable to continue supporting it.
Most of all it makes scalability more difficult, if not impossible.
4. Don’t bloat the system
“Bloat” is a term used to refer to features and code that can slow down a site. When you install a theme, module or plugin, you add features to the site. But with each feature comes a certain amount of code, some of which may constitute “bloat”. This causes several problems:
- The site slows down, meaning it takes more time for each page to load which damages the user experience
- It increases the likelihood of bugs arising, which frustrates users, increases your maintenance bills and can result in downtime
- You’ll routinely need to de-bloat in order to fix the resulting issues, further increasing costs and delaying significant progress
- And, most importantly, it increases demand on the system and your servers, which limits scalability and increases costs
Developers install plugins in order to reduce development costs. If you need a feature, there’s a chance it can be added to your LMS by installing and setting up a plugin, saving development time and money. It sounds like an attractive approach because it allows you to build a more functionally complete product with fewer initial development costs.
It’s easy… Perhaps too easy to install a plugin. And, because of this, it can be easy to get carried away.
Unfortunately though, many plugins don’t only contain the one feature that you need – they also contain hundreds that you don’t. This means there’s an awful lot of bloat per plugin, despite only using a fraction of its functionality.
So using off-the-shelf-plugins will allow you to save money in the short term, but you’ll spend a lot more in the long-term to eventually remove these barriers to scalability.
This means you should make two very important steps when developing your own scalable LMS.
Custom develop lightweight plugins
Your agency of choice should custom develop more features specifically for your use-case. This means developing plugins with only the features you need, and none of the features that you don’t. Sometimes you may be able to take an existing plugin and strip out the bloat, other times it will be necessary to start from scratch.
It’s worth noting that this means more development, resulting in higher initial development costs but fortunately reducing future costs.
Custom develop a lightweight theme
Themes help to determine the look and feel of your LMS, and just like with plugins, there are many “off the shelf” themes available for purchase for quick setup of your site. Unfortunately, these add to your overall bloat too, so designing and developing a lightweight theme will prove to be an important aspect of a scalable foundation.
5. Continually optimise your LMS
No matter how much work you put in to develop your MVP (minimum viable product), the LMS you launch on day one will not scale to millions of users without optimisation along the way.
You will encounter bottlenecks and portions of your LMS that collapse under the pressure of many users.
For the initial development of your LMS, it’s unviable to pre-empt and fix every bottleneck that could be encountered through the product’s lifetime. It’s more realistic to identify the bottlenecks that are likely to present themselves within the initial launch period – and fix those first.
Once launched, anticipate the next set of optimisations required to facilitate the expected rate of growth. Rinse and repeat. Continuously.
Agility is key, so make sure that your development agency of choice is proactive in supporting you through your growth, and that they are able to react quickly to scalability concerns.
Kaine is the founder and managing director of Plume and the award-winning designer of many of our client’s products. Kaine’s 10 years of experience means that he can solve complex user challenges through creative interface design, and his work has been recognised by Interfacely and CSS Awards.