Types of web hosting services
There's a lot of fancy terminology in the web hosting space, some of it seems to be designed to confuse customers, and make things seem a lot more complex than they actually are. In this lesson we're going to break it down.
A server
Regardless of what new buzzword the marketing department has come up with this quarter, everything runs on a server. Not in the clouds, not shipping containers, not serverless, and certainly not on firecrackers.
At the end of each trail, there is always a server. Always.
A server is the fundamental building block of all web hosting. The way a server is configured, used, and partitioned determines the resource availability, performance, isolation levels and the cost to the end customer. Let's look at some potential options for a WordPress application.
Dedicated server
Dedicated servers, bare metal hosting, bare metal cloud, even colocation to some extent. This is the most transparent and the least opinionated option for web hosting. Full tenant isolation, direct access to most of the hardware and full control.
As a customer, you're usually on your own, with limited support from the provider. You have the freedom to run whatever operating system and software you like. Running a Raspberry Pi in your homelab also falls into this category.
Self-hosting WordPress and other applications on dedicated servers will usually give you the best performance (compared to similar specs) when configured and maintained correctly.
Virtual machine
VPS, VDS, Xen, KVM, VMware, and, most importantly in today's world, cloud hosting. The transparency here typically drops quite a bit, but varies from one provider to another. You're fairly isolated from your neighbors, but might still have to compete for CPU time and other resources on the underlying physical machine.
Similar to dedicated hosting, working with VMs requires some knowledge and experience. Performance may vary between vendors, but typically one whole step (sometimes a full octave) down from a dedicated option with similar specs.
One thing to note here is that the terms CPUs, vCPUs, cores, processors, etc., are usually very misleading without actual benchmarks in the VM hosting space. Two cores on a dedicated server can easily outperform a 16-core VM deployment. The numbers usually tell you how many CPU cores you are allowed to speak to. What they don't tell you is the time it will take for any of them to respond.
We'll run some benchmarks in Module 7 to demonstrate this. Geekbench will also have fairly accurate numbers from some major VM and cloud vendors.
Shared hosting
Shared hosting, often referred to as virtual hosting, is likely the simplest way to split some resources between different sites and customers. Shared hosting plans usually start very cheap, because providers can pack customers on underlying servers with very high density.
Counterintuitively, shared hosting plans can often outperform VM-based plans, because the isolation level gives WordPress sites access to more server resources than in a VM environment, especially for a short amount of time.
This causes a lot of frustration when a customer is asked to move to a more expensive VPS plan, only to get worse overall performance than their previous significantly cheaper option.
It does come with more risk though, as a neighbor's CPU, network or disk usage can easily bleed into the availability for your site. The underlying resources for shared hosting are often provided by a dedicated server, but can also be a virtual machine.
Working with shared hosting doesn't require much knowledge or training. Everything can usually be done through a GUI panel or by asking a support agent. While most shared hosting plans do fully support WordPress (and provide 1-click installs) they aren't exclusively for WordPress and support a wide range of PHP/MySQL applications.
Managed WordPress hosting
These platforms are usually exclusive to WordPress and have additional software and services that run alongside. Many such platforms are very opinionated, with various custom plugins, tooling, caching solutions, sometimes even visual page builders and other bloat. Some providers will have lists of disallowed/banned plugins and themes too.
The underlying architecture for managed WordPress can be dedicated or VM-based, with the latter typically being the most common choice. In fact, most mainstream managed WordPress providers today are based on VMs from public cloud providers, such as AWS and GCP. Server resources are abstracted away as much as possible, and plans are often split by the number of monthly page views.
From a customer's perspective, it seems like every aspect of their site is taken care of, including security, backups and maintenance. However, those things are quite opinionated as well. For example, some managed WordPress providers charge extra for you to be able to download a backup. Most of them won't let you run load tests or security audits on your site, or do off-site backups.
Managed WooCommerce hosting, managed LearnDash hosting, managed Elementor hosting, etc., all fall in the same boat. The only difference is some of the plugins and tooling, but mostly marketing.
Similar to shared hosting, managed plans don't require much involvement. Most things can be done through GUI control panels. Other things can't be done at all. A very hands-off experience, which is perfect for some sites.
Others
There are quite a few other types of hosting (particularly for WordPress) available and many more new ones to emerge in the coming years, months, possibly weeks. I'll try and keep this short list updated.
- Enterprise WordPress hosting: sometimes multi-server VM or dedicated server based architectures. But more often than not, just a glorified managed WordPress platform with slightly larger underlying VMs.
- Serverless hosting: slightly different method of virtualization (micro VMs, Firecracker, V8). Despite the name, things still very much run on servers.
- Container hosting or app hosting: another way to virtualize and isolate applications. Sometimes directly on bare metal hardware, often through another virtualization layer.
- Kubernetes hosting: same as containers with 50x the complexity.
- Software as a Service (SaaS, WaaS): you don't get a WordPress, you just use somebody else's WordPress.
- Platform as a Service (PaaS): mostly misused by marketing. Closest would be containers and enterprise platforms.
- Grid hosting: often refers to a regular shared platform, but can sometimes be used to describe a VM/container-based offering.
Self-hosted WordPress
This course is about self-hosting WordPress. While the skills and knowledge you will gain can, to some extent, be applied to many of these types of environments, our primary focus will be dedicated servers and VMs.