All sites and blogs on the Internet start with hosting.
Hosting is one of those beasts with so many variables that everyone gets lost, even developers with plenty of prior knowledge. In this article I’ll clear up the differences between the most common hosting types: shared, VPS, dedicated and cloud, let’s get started.
What is Web Hosting in general?
First, let’s clear up what hosting is in the first place. When you view a website in a browser, you are actually receiving code written in a bunch of different coding languages.
Your browser converts this code into something we can actually understand: images, buttons, text columns, and so on.
The code for a website is held in a bunch of different files. Everyone’s used files before, they can be created, modified and deleted. Files also need a place to live.
On your computer this is a hard drive. Your computer also has a processor that deals with the basic file operations like editing, copying, deleting and so on.
This is exactly what a server is. It is essentially a computer that holds a bunch of files and is capable of performing operations on them. It has a CPU, it has memory, it has a hard drive, and other components. It even has an operating system, usually a Linux-based one.
So where does hosting come in, what’s the difference between a host and a server? Your host is the company that owns the server your content is on (this is a white lie, more on it later). In addition to giving you the hardware for your website a host usually offers a bunch of other services like server management, support, malware scanning, backups and so on.
In a nutshell: a hosting provider is a company that sells server space and related services.
There’s different types of web hosting
What caused me some confusion when I started out was differentiating between “host (wikipedia definition)” and “hosting package”, they are used somewhat interchangably. Most hosts offer multiple packages which may be wildly different. For example: GoDaddy offers all four hosting types mentioned in our title.
The easiest way to get started is to figure out which type of hosting you need, and then look at all the different companies and what they offer for your hosting needs.
There are three basic ways to differentiate between hosting packages. One way is to look at the technology used for the server.
This is what gives us our four categories: Shared, VPS, Dedicated and Cloud.
The second way is to look at the level of management offered. I mentioned earlier that a server is exactly the same as your computer at home. It not only runs an OS, but software packages as well. Just as any other computer, it needs to be updated and maintained. Most hosts offer server management, but you can buy servers where you need to do all of this work. A managed server means less work for you but also less flexibility, an unmanaged server means more work but more flexibility. There are packages that offer some management services so unmanaged/managed is only the two extremes, there is a spectrum of services in between.
The third way is to look at the additional services on offer. Some additional services would be: backups, level of support, malware scanning and cleaning, SSL certificates, free CDN bandwidth, platform specific services (e.g: WordPress), staging site creation, etc.
In this article we’re focusing on the first way, looking at the technology used on the server. Let’s explore them each in detail.
Shared Hosting – Cheapest, Best for Beginners
Shared hosting is the budget option. It is extremely cheap, but also not very good – let me explain how it works.
Remember how a server is a computer with resources like hard drive space, CPU speed and RAM? In a shared hosting environment the host puts a large number of users on a single server. By large number I mean that it can be over 1,000 users. Each user may have a number of sites so that one single server houses somewhere around 3,000 sites.
The problem is that these websites all share the server’s resources. If one website has some faulty code or simply gets a lot of visitors it could use 75% of a server’s memory for example, which means that the other 2,999 sites are left with 25% of the total RAM.
Needless to say, this leads to websites going down or loading slowly for people who have nothing to do with the site the issue originated at. Even worse: these issues are completely unpredictable from the point of view of those 2,999 sites.
This is called the “bad neighbour” effect and is one of the main reasons shared hosting is not the best idea.
Quick tip: When you are running your website on a shared hosting and you feel that the load time is a bit slow, get in touch with your hosting provider support and ask them politely to move your shared to another server/neighbourhood.
To be fair, many hosts try and make things better by detecting faulty sites – or sites that experience a high level of traffic – and either working with the owners, or disabling the site temporarily. This rarely works in the long run. It’s not the hosts’ fault, it’s simply a sisyphean struggle.
In addition: do the math. If each customer is paying $5 per month, is it really worth spending hours of support on a single customer? Not really.
So is shared hosting ever a good idea? Yes! It can be great for housing development sites, test sites or websites where uptime is not a huge bother. You could have a personal diary or a website created for your family. It may go down a few times a month, but that shouldn’t be a problem.
Shared hosting is also a great option if you are on a very tight budget. In many countries we are extremely fortunate to experience wages that allow us to afford everything we need. Shared hosting allows businesses to create an web presence in countries where it would otherwise be impossible. As such shared hosting is an extremely important tool for equality on the web.
Further reading: Here are 7 Best Cheap Hosting Providers.
VPS Hosting – More powerful than Shared hosting
VPS stands for Virtual Private Server and is probably the most popular service to upgrade to and it can be the most well-balanced one as well.
A VPS server is still a shared environment, but the way it is shared is very different.
First of all, a VPS server is usually limited to 10-20. This decreases stress in itself, but the real improvement comes in the form of the hypervisor – which is the coolest name for something ever.
A VPS server is literally split into as many parts as there are users. If there are 10 users, 10GB of RAM and 200GB of hard drive spave on the server, each user will be able expend 1GB of RAM and 20GB of space. Once you hit the RAM limit your site may go down, but the others will remain stable. The hypervisor is the one responsible for managing the virtual machines that create this separation within the server.
This simple addition removes almost all of the bad neighbour effect. Extremely rarely there can be some issues which affect multiple users by affecting the hypervisor itself, but this isn’t something you need to worry about.
Another big benefit of VPS servers is that they are highly configurable, providing a lot more flexibility. On shared hosts you can’t really modify your environment because you’d be changing everyone else’s as well. Since your account is contained within a virtual machine you can make a lot more changes without affecting others. This is something developers will be happy about.
Lastly, VPS is scalable. Since you are running a virtual machine which takes some percentage of the resources available to the server as a whole, the amount of resources you are allowed to use can be increased in seconds. This is a great comfort to business owners who expect their sites to grow and flourish.
So, who is VPS for. I would actually recommend VPS services to anybody who has around $20/month to spend. VPS can get a lot more expensive, but even the lowest tier will be a lot better than any shared hosting solution.
VPS packages can come as low as $10/month but most of them would clock in at around $25 with the average service being $50 a month. As you scale up you can get into the $120 – $150 range but don’t worry too much, if you actually need that much RAM and bandwidth you are probably making enough money to easily cover the cost.
A little addition here at the end: A high end VPS can be a lot cheaper than a low end dedicated server and also a lot more powerful. Don’t be fooled into thinking that dedicated is a more advanced option just because you are the only person on a server. Look at the resources available to you instead, that’s what really matters.
Dedicated Hosting – If Your Site Exceeds 100k Visits/month
This is the hosting service that negates all bad neighbour issues because you are all alone on a server. This provides a host of benefits, but also comes with quite a few downsides.
Since you get a computer all on your own, many companies allow you to customise it extensively. You may be able to choose the amount and type of memory, the OS to install, and other hardware elements that make up a computer. This gives you a lot of flexibility which may be needed for some specialised software.
The downside here is that you actually need to know quite a bit about computers and server technology. While there are managed dedicated hosting solutions you’ll still need to do a lot more on your own.
On the extreme side of things, you could get a completely unmanaged service where you would even need to install the OS yourself, let alone all the tools needed to run a web server, security scanning, malware removal and so on. I wouldn’t actually call this a downside, but it’s something you need to be aware of when shopping for a server. If you want to go dedicated you’ll need a server admin, or sufficient knowledge to do it yourself.
With great flexibility comes great control. You can potentially run a lot more applications in a more streamlined fashion. You can run a bunch of tools that serve only one purpose: making your website faster.
Being alone on one server comes with another downside: hardware failure. With a cloud VPS if RAM fails in the system, other memory modules simply take over. With VPS if something fails, another memory module might take over, or the module will be replaced automatically pretty quickly. With dedicated servers you might need to wait a lot more, especially if all the server monitoring is up to you.
When would someone need dedicated hosting. In today’s World with cloud VPS catching on I would maybe even discount large sites needing dedicated hosting. Dedicated can take a lot more hits than traditional VPS, but nowhere near anything a cloud based system could scale to.
The only two times I would say you definitely need a dedicated server is if you have highly specialised needs in terms of hardware, or you want a lot more control over your data’s privacy than anywhere else. A dedicated server compartmentalizes you which can be a bad thing, but from a security point of view it’s great.
Cloud hosting is essentially the same as VPS hosting. Some companies don’t even call their service VPS anymore, the say Cloud or Cloud VPS. Let’s look at what cloud computing is first, and get back to what this has to do with hosting.
Until now we’ve been talking about computing that is similar to buying unit based products. If I buy a one-use battery and put it in video camera I can use it for a set amount of time until the battery runs out.
Cloud based computing is similar to how utilities work. If I plug my video camera into the mains I can use it as much as I need and it will take as much power as it requires at the moment. If it is on standby it will use very little power, when it is recording it will use a lot more but the electric system can handle the changes in power requirements.
Cloud based hosting allows you to use the resources of multiple servers in a network. This makes it even more scalable, in addition to providing a host of additional benefits, mainly based around security.
A traditional VPS can be scaled, but only to a certain point: the maximum capacity of the hardware it is on. A cloud based system can be scaled a lot further.
Cloud based systems also have a much higher chance of protecting you against DDoS attacks. DDoS attacks are not a security risk, their only purpose is to overwhelm your website with requests, causing the server to crash. Currently the best method of protecting against such an attack is to block as many requests as possible and spread the rest within a large network.
With cloud systems the network is right there, if it is large enough it could withstand an attack much better than any single-server system.
Cloud systems are great if you want to be able to scale your website a lot further than traditional systems. That said, at this point it doesn’t make a huge difference to most people shopping around for VPS. Many companies are switching to cloud based systems to replace their regular VPS systems simply because of the benefits it offers to them as well. Actually, many hosts base their whole infrastructure on the giant cloud based architectures of Amazon and Google.
Choosing a hosting package can be pretty difficult. The first step is understanding the type of hosting you need: shared, vps, dedicated or cloud. Hopefully this article has given you the background to figure that out.
If you’re just starting out (building your first blog/site) – go with shared hosting. It’s cheapest and usually more than you need at the beginning.
As the next step you should take a look at a bunch of companies, I recommend checking our top rated hosts to find the best ones. Look at what’s on offer and compare the RAM, disk space, CDN usage, bandwidth and other quantifyable resources. Then take a look at any additional features on offer.
At the end of the process you should have 2-3 favourites at which point it will boil down to personal preference. Perhaps a short talk with support – to gauge their helpfulness – will go a long way.
Need further reading? Read this handy explanation from WebsiteSetup.org.