Hosting for Online Courses

How do You Pick the Right Hosting for Online Courses?

I'm not going to tell you which host you should use for your online course. You'd likely think I was lying or being biased if I told you we designed Nexcess specifically for courses, memberships and stores. So let's skip past specific recommendations and talk about what's important when figuring out hosting for online courses.

Regular Hosting Won't Work

The first thing you should know is that if your online course is going to have more than 50 concurrent users, most of the cheap hosting plans out there won't really stand up for what you need.

Why?

Because most of the inexpensive WordPress hosting out there is just slightly better than shared hosting, and often relies on a caching layer implemented by the host to manage their own resource utilization. In other words, those plans are great for brochures that can be cached. But it's not great for your logged in students.

What Happens When You're Running Online Courses?

So let's imagine you are running a popular online course. People are logged in. 50, 100, maybe 1000. Each one of those folks is making requests for pages (lessons or quizzes).

Each page is making multiple requests – based on your theme, your learning plugin, the other plugins on the site, and any JavaScript on your site.

Those requests may require PHP to be processed, JavaScript calls to external sites, calls to video embed sources, or database queries. That's a lot of calls that make the server do work.

So if a page makes 45 calls, and you have 1000 users logged in asking for those pages every few seconds, the multiplication can get large quickly.

This is why highly concurrent traffic on learning sites requires more than just a simple WordPress hosting plan can deliver.

Hosting for Online Courses

I wrote a post last year about hosting high traffic eCommerce stores. When you're not hoping for cache to help you, and you have a lot of concurrent logged in users, you need to support that scale. It's not different than high traffic stores…

PHP workers are essentially the concurrent threads that your web server allows you to spin up so that you can have more lanes on the highway. If you have more traffic, you want more lanes or else you get gridlock, right? So if you're working with a host who understands that, they're not just going to say, “Oh, okay, we'll give you two PHP workers and you're done,” right? You will likely need more and often you have to pay for more. But what's important to understand is that if you have a lot of traffic coming through, even just for one hour a day, you need your server to be able to dynamically scale or support that many concurrent users.

I'll tell you this too, there are people who talked about auto scale, but if they're talking about auto scale from a RAM and disk perspective, and not about PHP workers, you might be given more RAM and more disk and still not get more lanes on the highway. That's not going to help you very much. So you need to ask about the PHP workers.

Me, on this blog, when highlighting the need for PHP Workers

If you're in a Walmart and you see 40 cash registers, but only 2 cashiers, you're going to be frustrated, waiting in line.

I mentioned a multi-lane highway in that other post. If you're on the highway that has 6 lanes, but four are closed for construction, you're going to be frustrated, waiting in traffic.

You need hosting that can scale up more lanes, or more cashiers. It's really that simple.

So how do you ask for that?

Talking to Your Hosting Company

Here's how I suggest you talk to your hosting company.

“I have an online course that means most of my customers will be logged into my site for hours at a time. It means normal caching strategies won't work – in fact only a small percentage of my traffic can be cached.

So I'm wondering what you have available to me to ensure that my plan can handle _____ concurrent users logged in and navigating my online course. I now PHP Workers won't solve everything, but I'm wondering if there is a limit on my plan, or do I have to upgrade to a plan with more of them, so I can handle the high concurrency traffic.

Since it won't always be that high, I also wonder if my plan supports auto-scaling of resources (including those PHP threads), so that I don't need to call you when traffic goes up or down.”

If they tell you not to worry about things, run! If they sound intelligent and can handle this discussion, you're in a good spot. If they don't get into any nuances and simply tell you that you have to jump to their $1500 dedicated server, it's time to go shopping.