Tech Explained

Terms and Concepts of Webhosting You need to Know: Part 1 (Servers to VPS to Webhosting)

Part 1 of a Multipart post about concepts of Webhosting and Internet.
Shounak Pal 8 min read
Concepts of webhosting: Part 1
Concepts of webhosting: Part 1
Table of Contents

Hi, welcome to TechWeirdo, where I am documenting my own journey to the tech side of internet, and in the process trying to help non techy person to under things a little bit better. So it is fitting to learn the basic terms and what they mean in the Webhosting and Selfhosting space, atleast what we will need to know for the future posts in this blog.

Internet is vast complex thing but in simple terms it is just different computers (from your smartphones to wireless toothbrush and big large datacenter computers) connected together sharing data. And they are connected through a super complex network just like our transport system. But you may say, how your phone and my computer exchanged data? Well I am writing these texts here on my PC and you are probably reading that on your phone or computer. It is magical. So let's begin.

What is a server?

Concept

Well any computer that serves something (data) is a server. But in general internet term when a computer primarily serves data to multiple other computers we call it a server. If you serve a website form your phone it becomes a server. In reality though we use optimised hardware and softwares on a computer to use it as a server, it can be a tiny raspberry pi at your office corner to a massive computer in datacentre.

My tiny little Raspberry Pi vs Ahrefs Server (both are servers, but the scale and job is different)
My tiny little Raspberry Pi vs Ahrefs Server (both are servers, but the scale and job is different)

But the how many computers (users) can it serve data to depends on its hardware. You can very well serve a a tiny blog like mine from a raspberry pi at your home, but if suddenly Elon musk or Taylor Swift retweets your blog then that pi, is going to have a very hard time along with the visitors. And there comes the question of right balance. How we balance our hardware based on the expected users. More power more user but also more cost. That is simple now, but it is not that simple in real world, but smart engineers have solved those things for us already, don't worry.

Introduction to Webhosting, VPS and Datacentre

Our Internet is centralised. There is a group of specialised computers that hosts all the data you receive like Websites to YouTube videos. They are called server hardware and usually have lots of CPUs RAMs and Storage. Now you don't want your server to go offline ever. Also they generate a lot of heat and uses large amount of electricity. There comes datacentres.

Datacentres:

Datacentres are specialised locations that houses racks and racks of server computers. To give you a perspective, a single rack may contain multiple servers stacked on top of each other's, and there can be thousands of racks. And a datacentre's job is to keep all the servers up and running 24×7, and keep them cool. Some datacentre providers are NTT, Flexential, etc. And dataentre houses servers of large Cloud providers like Google, AWS, Microsoft, Cloudflare along with network hardwares of different ISPs. When you play a cat video on YouTube, a server in a datacentre sends the video data through your ISP network to your mobile. Read an interesting post about what happens when a datacentre looses power.

Inside of a Google Datacentre (Council Bluffs, Iowa)
Inside of a Google Datacentre (Council Bluffs, Iowa)

Look inside a Google's datacentre

Servers:

Now, not everyone needs a server with lots of CPUs RAMs and Storage. And moreover servers are costly amounting to thousands of dollars per server. So big companies like Amazon Web Services (yes that Amazon AWS), Google (GCP), Microsoft (Azure) spend billions to buy servers and put them inside datacentres accross the world. Now a server may have 8/16/32/64/128 cores of cpu and lots of ram in it. But you don't need even 8 cores in most of the times. Like this blog can easily run comfortably with 2 cores of cpu and 2 GB of ram. Proper optimisation is the key.

Inside the Supermicro Server
Inside a Supermiceo Server ( From servethehome.com)

Virtual Private Server (VPS)

So they virtually divided the server in small chunks with software (like VMware) and rent those small chunks to you like renting rooms of a big house, and depending on your need you can choose number of rooms you want. And that is where the term Virtual Private Server or VPS comes from. Virtual because the big boy computer is divided virtually into smaller pieces (virtualisation). [ Don't try to physically chop parts of your CPU with a knife 🥲]. Private because you pay rent so you own them and can do whatever you want with them and Server because it is a server.

Companies like AWS, Azure, GCP, Oracle, DigitalOcean, Linode etc rents this hardwares along with other things to you me and to other companies. To give come context, your beloved(?) Netflix, Tesla, CIA uses AWS, Uber uses GCP. And almost 35-40% of the internet runs on AWS, your friendly grocery shop!

Webhosting vs VPS

Now sometimes people mixes up Webhosting with VPS. The thing is VPS are used for Webhostings. But you can also use a VPS to do lots of other things like building a Minecraft server, a VPN server, a Media and storage server and many more. You can directly access it with root

Webhosting on the other hand is a service that specialises in hosting websites, including wordpress and others. People and companies (like hostinger, siteground) they rent servers and VPS, installs specialised softwares ( like cPanel, Plesk) and sell you a service where with one click of a button you can get a WordPress hosting, and you don't need to worry about cooling down your server.

Now if your Webhosting providers runs multiple Website on a single VPS they call it shared hosting. But if they allocate a single virtual machine for you they call it dedicated hostings. Basically let's say you yourself rent a 2 core 2GB ram VPS, install a software like Plesk and let's 3 other along with yourself to host Website on that vps, that is shared. But if you use that for yourself it is dedicated.

When you share resource with someone, the performance of the website depends on traffic on the other websites on that same server, as the resources is shared. But in dedicated, you own the VPS, so you have dedicated resource allocated to you.

A high level diagram to show the relation between Webhostings at the bottom and datacentre at the top
A high level diagram to show this concept simply

Colocation and Bare metal

Now if you run a large workload a VPS may not be sufficient. So you may need a large server. Also during virtualisation a lots of performance gets lost specially in the storage department as the storage may sometimes lives on a seperate server box. Sometimes you may also want to buy and build your own server. So you can rent a full server box from a company without any software pre-installed, i.e. baremetal hardware. You ask the company your need, they managed the hardware for you.

You can also take you own server, drive to a datacentre and ask them to give you a rack to put your server. You own the machines and you are responsible for it's maintenance, the datacentre will give you internet, power and cooling. That is called colocation. Why colocation? Because your are putting your server in a location where thousands of companies like AWS, GCP, cloudflare, Bunny CDN and other companies and some other people have also put their hardware in there, so you are colocationg with them.

Internet Fibers and Power cable inside a Colocation centre
Internet Fibers and Power cable inside a Colocation centre

What do you need to know:

So from this long story about VPS and datacentre let's come to a conclusion. If you want to host a website your go to place would probably be Webhosting companies like hostinger, siteground, bluehost, bigrock etc. All of them provides general Webhosting along with Dedicated Wordpress hostings. Or you can choose to go with a VPS provider. I like the VPS route as it provides more flexibility for me, but if you don't want any headache go with webhosting. For my use I usually uses Oracle, GCP and DigitalOcean for VPS, but there are other companies too. I have written a detailed post comparing different VPS providers here.

Depending on what type of website you want to host you will get different hosting companies. The companies I said above hosts WordPress. There is also easy to use drag and drop Website builders like Wix, Squarespace, Webflow and they come with their own hosting. You can publish a blog using Ghost (like this one) and Ghost and some other companies like MagicPages offer Ghost Blog hosting.

The main thing you need to know is which providers are good, easy to use, cheap yet fast. In subsequent blog posts, I will rate and review them, but testing and collecting reviews take time. Don't overspend on hosting. A small VPS can handle a surprising amount of traffic if configured correctly. Also in webhosting especially self Hostings security is a big part and often neglected, I will talk about that in part 3.

General structure of mordern Webhosting
General structure of webhosting

When determining the size of your VPS, consider your expected traffic and website requirements. For instance, a VPS with 2 CPU cores and 2 GB of RAM is generally enough to handle around 10,000 page views per month for a WordPress website without a CDN, assuming a smooth distribution of traffic over time. However, this configuration may struggle to handle sudden traffic spikes or bursts. I will cover proper web server setup to maximize efficiency and handle traffic surges in later posts, so subscribe to the email notifications to stay updated.

Select the amount of CPU and RAM that makes sense to you. Select a decent amount of storage space (20 to 50 GB is sufficient for a relatively large site, unless you host videos). And always prefer NVMe SSD server over normal SSD and mostly avoid Hard Dride (HDD) for a webserver.

With a Content Delivery Network (CDN) in place, the equation changes completely, as CDNs can significantly improve your website's performance and ability to handle traffic. In Part 2, we'll dive deeper into CDNs and explore how they can benefit your website's hosting setup. For example I use a free VPS from Oracle and Bunny CDN (It cost me 1 dollar/month) but I load tested it and it scaled from 0 to 17000 page views per minute within seconds.

Bunny CDN's Colocation location
Bunny CDN's Colocation location (edge network) [More in Part 2]

This post is long enough already. So let's end the part 1 here, hopefully you have a clear understanding of VPS, and Webhosting. If you have any suggestions comment down below, and let me know. In Part 2 we will discuss more about domain name, Ip address, DNS domain name etc and in part 3 we will talk about other related things like CDN, CMS, Security and Backups. So stay tuned and have a nice day. We will meet again soon.

Share
Comments
More from The TechWeirdo

The TechWeirdo

This is The TechWeirdo, a Not So Weird Tech Blog by me, Shounak. Here I cover in detailes, topics like servers, cloud, hosting etc.

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to The TechWeirdo.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.