5 critical LMS scalability mistakes and how to avoid them (updated October 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 that 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: Investing in scalability too early or too late
Fix: Consider whetner you should invest in scalability yet
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 whetner you should invest in scalability yet
As with the development of any software product, building a custom learning management system requires a fairly significant upfront investment. If you build an unscalable LMS, optimise where you can and still hit the limits of the technology, you’ll need to start again, effectively doubling up on your investment.
Does that mean that you should ensure your very first custom-LMS can scale? Not necessarily.
To ensure scalability costs money. If your budget is limited and you’re in the early stages of your company or product, it may be more beneficial to invest that money into developing more functionality instead, to help carve out your space in the market.
Investing in scalability too early can quite literally kill your company. According to research by The Startup Genome, “74% of high growth internet startups fail due to premature scaling”. And of those that failed due to premature scaling, not a single one reached over 100,000 users (despite being confident that they would).
We can often over-estimate our potential reach, so it’s important to set some realistic and achievable growth plans in the planning phase of your product. If you’ve already seen massive growth in your first LMS product, then by all means prioritise scalability in your second. But if you haven’t yet even validated your product idea or grown to 5-figures, building for scalability might just kill your company.
So what happens if you don’t plan for scale and then hit the wall?
There isn’t a wall. Your technology doesn’t just stop working when you hit a specific number. It’s a more gradual process, and you can feel the limits of your technology approaching over a fairly long period of time. When the telltale signs work their way into your product, and when you’ve optimised it to squeeze more out of it, then it’s a good time to consider a more scalable solution.
Now, if you’ve made the decision that you should invest in scalability, you ought to consider it very early – in the planning phases – to avoid running into technology limits and to avoid facing a re-build.
2. Carefully choose the right technology stack
If you’ve made the decision that it’s right to scale your technology, it’s important to consider that 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
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 late-stage start-ups.
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 straightforward. 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 with the right help, it can be scaled to millions of users. However, Drupal’s open-sourced LMS options are not as strong as the WordPress counterparts, so you often need to invest more into Drupal LMS to bring it up to par.
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, 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.
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.
Founder & Managing Director
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.