Should you self-host your website?

You don't necessarily have to host the website yourself. Services like Github Pages will allow you to create a website and will host it for you. But, services like Github Pages may not be powerful enough for your requirements. It does not let you have a database, which you will need to make a complex website like a website that will let you create user accounts. In short, Github Pages does not let you make a dynamic website (where your web pages can look different based on the user). So, if you want a dynamic website you need to host the website yourself where you can store server-side logic.

What website building engine to use?

The most popular way to make a website is by Wordpress. It's a powerful tool, with lots of website themes and plugins to support a wide range of functionalities. You can use cloud providers like Google Cloud Platform or Microsoft Azure. However, I chose to use Hexo. This is because I am just writing a blog right now. A static webpage generator such as Hexo is good enough for me. Wordpress is a dynamic website generator and is more expensive to host. My bill for single day on Microsoft Azure was $0.3 while trying to host a simple WordPress blog with a single article.

The monthly estimated cost of hosting WrodPress on Google Cloud is $50.

Alt Text

My monthly bill for my blog that is created using Hexo is less than $0.05.

Alt Text

Should you buy a domain?

If you are serious about your website, you should buy a domain. I have used NameCheap.com. There are quite a few steps to link your Google Cloud Platform(GCP) hosted website to the domain that you buy. But you should got through the hassle to enable the custom domain, since the url that GCP provides by default is not practical. People don't want to memorize the ugly long url.