ProTalk: Hosting Your LMS Website

A question most frequently asked while setting up an eLearning website is:

“What kind of hosting does my website need?”

In all fairness, it’s not a very easy question to answer; you wouldn’t have articles like this floating in cyberspace if it really was. There’s no clear-cut answer, it would all depend on the kind of requirements your website presents.

Hosting can be one the following 4 types:

Free Hosting: Provided by web companies for free of cost and is usually very limited in terms of features. Low bandwidth and low data transfer rate makes this type of hosting vulnerable to greater downtime. Your website may or may not be used by the parent company for advertising, and will probably not have it’s own unique domain name.

In terms of hosting an LMS with this type of service, it is a strict no. You can’t have your students stumbling across 404 Errors in the middle of a session.

Shared Hosting: This is where you pay a web hosting company to host your website on it’s servers, which is shared by a number of websites, usually around 100.

Dedicated Hosting: While leaning more towards the expensive side, dedicated hosting gives you complete control over all the elements of web hosting. This is where you own the server and the resources involved in hosting a website. It’s perfect for sites that are heavy on content and require frequent monitoring.

Image Courtesy: Hostingadvice.com

Which gives rise to the following questiosn:

Should you go for shared hosting services or get your own dedicated server for hosting?

If you want to go with Shared hosting services, then who should be your vendor? Which of these vendors are feature rich and what are their uptime records?

What possible options are available for hosting your own server and which is the best among them? What costs are you looking at in order to use their services?

If you want to go with your own server, then how to set it up? What all components are needed?

Let’s take on these questions one at a time.

A) Should you go for shared hosting services or get your own dedicated server for hosting?

To answer this question, consider the following points:

Do you need to install software on the server?

Do you want control over php, mysql, apache and caching configuration?

If yes, then do you have the requisite expertise to control these technicalities?

Are you looking at more than 20,000+ visits in the first 3 months?

Do you need SSH access to the server?

Are you planning to launch a Software as a Service (SaaS) or an API?

If the answer to all of the above questions is NO, shared hosting should be a viable option for you, provided the pricing is right.

If the answer to any of the above questions is YES, go with Virtual Private Server (VPS) or Managed hosting. If you have the requisite expertise, a VPS is definitely a good option. The rules would be your own, so you could customize things as and when you like.

If you don’t have access to technical assistance, a managed hosting service is your best shot at a sustainable LMW website.

B) If you want to go with Shared hosting services, then who should be your vendor? Which of these vendors are feature rich and what are their uptime records?

This question would be best answered by comparing different hosting providers and their offerings. Web hosting search tool whoishostingthis.com has a great list.

Personally, I prefer Siteground and WP-engine. These two web hosts make for the most suitable environment for WordPress hosting, and they take care of all the harsh stuff for you. In fact, WP-engine also provides you with a staging site so that before you publish any changes, you can first test them on the staging site and make them live later.

For businesses that are carried out primarily online, it is important to have the website up and running at all times. But the bitter truth with any web hosting service is, your site is bound to go down sooner or later. Which makes uptime statistics a vital criteria to find a good host. You can find the uptime record comparison of most popular web hosting providers right here.

C) What possible options are available for hosting your own server and which is the best among them? What costs are you looking at in order to use their services?

The first thing you ought to take care of when you decide to go with hosting your own server is whether the respective service provider has datacenter in the area of your target audience.This parameter is extremely important when you considers latency.

There are service providers like DigitalOcean, Amazon web Services, Linode, Google Cloud Engine etc. You can find comparison between them here.

Take a look at the the differences between the pricing of Digital Ocean droplets and similar AWS instances.

Memory

Space

Bandwidth

AWS Pricing / month

DiO Pricing / month

AWS Pricing for 500GB Bandwidth

1GB

30GB

2TB

$182.97

$10

$43.65

2GB

40GB

3TB

$295.17

$20

$63.69

4GB

60GB

4TB

$408.36

$40

$84.72

8GB

80GB

5TB

$556.69

$80

$124.78

16GB

160GB

6TB

$749.08

$160

$241.12

32GB

320GB

7TB

$1,146

$320

$441.58

48GB

480GB

8TB

48GB not Available on AWS

$480

64GB

640GB

9TB

$1,789.65

$640

$842.51

D) If you want to go with your own server, then how to set it up? What all components are needed?

If you plan to host a PHP application like WordPress on the server, you would need to install and configure web server like Apache and caching software such as Memcache, Opcache etc.

A good alternative for Apache would be Nginx, which is steadily gaining popularity. Digital marketing firm The Organic Agency has a great article that compares the two in terms of performance.

So if you choose not to use Apache, you can replace it with Nginx + php-fpm. You ought to have an in-depth understanding of the configurations present while setting up the server, because even a minor error might lead to a crash. For example, if during SSL setup, the redirections are not proper, the site may head into a redirection loop. Or if ssl_ciphers and ssl_protocols are not appropriate, your website maybe be rendered inaccessible to the masses.

In case of self hosted solutions, a lot of time is spent in debugging rather than the actual hosting. Setting up a website is relatively easy, it’s the debugging that takes up a majority of time and other resources. Resolving an issue may take days without an access to comprehensive information about the server and hosting on the whole. If you are planning to host your own LMS, make sure that you have considerable information about:

SFTP for users to manage files.

MySQL tuning and optimization.

Nginx installation and configurations.

PHP-FPM or fastcgi setup and configurations.

Configuring in a service which alerts you when other services are non responsive.

Configure in a mailing service to send mails from your VPS.

Analyzing CPU load and memory consumption.

Debugging of I/O related problems.

Parse logs available in order to understand the cause of issues.

Configuration of SSL certificates.

Because if you are going to handle these issues, you will soon realize that rather than focussing on business, you are surrounded by these unwanted server issues.

Should any of the above sound greek to you, managed hosting is the best bet, as it eliminates all the tension and frustration comes with managing your own LMS..

Like what you read? Let us know in the comment section below. Happy to help!