This blog post will detail my experiences with shared hosting and why I chose it. ## What is hosting? Before I can talk about what shared hosting is, I first have to talk about what hosting is in general. The internet is made up of many many computers that are connected together. That means that any website which can be visited is stored on a physical computer that is accessible by other computers. **Hosting** refers to a computer that houses a website (or web service) and makes itself available to other computers for them to be able to access the website. Now the intuitive assumption would be to simply store my website on my own personal computer and make that available to other computers. This method is actually quite common, and is termed "self-hosting", but it comes with several considerations. ## Self-Hosting Considerations The major consideration with self-hosting is practicality and convenience. I expect my website to be accessible most of the time. If I were to host it on my own computer, then my computer would have to be running all of the time and I would have to be careful not to shutdown the computer. The computer running all the time could significantly impact my electricity bill depending on how much power it takes up. So I would have to have a separate computer to use for personal use and may also have to pay a higher electricity bill. Another concern is whether my internet service provider (ISP) would allow me to even host a website. Some ISPs may not allowing host a public website and may block the specific port to host it. That means you would have to type in the domain plus a port (e.g. "google.com:1234") to be able to visit the site, making it very inconvenient for others to visit your site. Depending on how many people connect to a website and what the website does, an ISP may also slow down the bandwidth for the network making the internet slow for personal use as well. Finally, there are some minor security concerns with self-hosting. If a website is not secure, then allowing other people to access it may provide a way for malicious actors to hijack the network and potentially get to other computers on the network as well. However, with proper precautions a lot of these hacking attacks can be avoided. Even with these considerations, self-hosting may be a good choice for someone if they have a spare laptop or computer lying around, and want a cheap way to host a web-service. Self-hosting is espicially good if you want to host a multimedia server or need a place with a lot of storage. In this case, I didn't have continuous access to a computer I could use to self-host, nor did I have an ISP that allowed me to self-host, so I opted for another solution. ## Dedicated Hosting Now another assumption would be that if I cannot use my computer to host a website, then I can pay to use someone else's computer to host it instead. There are quite a lot of hosting services out there and different methods of hosting. Let's talk about one type of external hosting called **dedicated hosting**. The dedicated part means that I would have access to the entire computer and all of it's resources. This is an ideal hosting option as it would offer me the most flexibility to run whatever web service I want and to setup the computer however I want. BUT as you can imagine, paying for an entire other computer is expensive, and dedicated hosting usually runs in the $100 to $200 per month range which is not a very affordable option. So let's take a look at another option that hosts on external computers but is not as expensive as dedicated hosting. ## VPS **VPS** stands for Virtual Private Server. Like dedicated hosting, it's hosting on a different computer. Unlike dedicated hosting, you don't have access to the entire computer nor the entirety of it's resources. Instead you only have access to a little portion of it that you can use however you want. It's also substantially cheaper than dedicated hosting. However, the resources you have access to is proportional to the cost. So for very cheap, you will only have access to a small amount of resources. For example, [OVHcloud's cheapest VPS](https://us.ovhcloud.com/vps/compare/) which costs only $6 (at the time of writing this) only gives access to 2 GB memory, 1 VIRTUAL CPU core (not even a full physical core), 40 GB storage, and 250 Mbps bandwidth. So even with a VPS, it's unlikely to be able to run computationally expensive services that require a lot of RAM. When it comes to hosting a simple personal website though, there is still a cheaper option that probably suits the basic needs for a website. ## Shared Hosting Finally, I can talk about shared hosting. **Shared hosting** is similar to a VPS but instead of getting access to a portion of the computer, you get access to an even smaller portion and with restrictions of what services can be run. Most shared hosts do not allow you full access to the portion you get, and instead let you manage the portion via some admin pannel with a pre-determined service you can choose to run. While this may seem very constrained, it doesn't take much to run a personal website, so this actually works great for the majority of people with basic websites. It is also very affordable, costing only around $3 per month (which is way cheaper than a Netflix subscription). I use shared hosting to host this website and I am pretty satisfied with it. There is one big thing I should mention with shared hosting though: you don't get a fixed IP address. While this may not sound like a big deal, it is something to consider when selecting which domain registrar you want to use for your website. I'll talk about what domains are, what domain registrars have to do with them, and my experience with them all in the next blog post, so stay tuned! And as always, thanks for reading!