Introduction
This is my first post. And as my first task is to make the articles available on the internet I will explain how to launch a website, to make it available online so anyone can access it using its name.
Steps
- Build it
- Pick a name
- Publish it
- That’s it
Build
A website can be a simple blog or a complex web app such as a social network. We’ll talk about a blog here, but the principles remain. You still have to build it. A blog is not overly complicated, an experienced frontend web developer could write just html and css and have something nice. But I’m a backend engineer so I better use a framework to avoid creating an abomination.
There are online platforms which can do all the work, one of the most popular and of which you certainly heard if you watch youtube, is squarespace. But I will choose an open source static site generator (https://gohugo.io/). Why? Hugo will generate the code for me so I’ll have full access & control of it. If I use squarespace or a similar solution I can be stuck in their ecosystem and it’s not easy to migrate on another platform if I want.
There are more complex frameworks like React(https://react.dev/) where you still have full control, but it’s better to pick the simplest solution you need for a problem. There are other good alternatives besides Hugo, but I like it because it’s fast and found some nice themes for it. Also, it’s pretty popular and we’ll see in step 3 that it has integration with different hosting platforms which makes life easier.
A tip, use git
to version control your code. This way you can revert changes and keep a log of your work. It will also help us down the line.
Name
Websites have names. Technically you do not need a name, you can just send the address IP to people and they will be able to access it. For example if you type 142.251.46.238 it will send you to google.com (if you read it some time after I publish this it may be another IP). But having all websites accessed only by IP addresses would be a nightmare, us humans are not that good at memorizing long sequences of numbers. That’s why we put names for telephone numbers in our phone agenda or some people choose simple words for passwords (please use a password manager).
After you decide on a name you have to buy the domain. These are not free and can vary from 1$/year to thousands or even more a year. GoDaddy and Namecheap are one of the most known domain providers, but there are a lot more options. You select the name and the ending .com, .eu etc. If the combination is available great, you can buy it and the first step is finished. Think of it as buying a field to build a house when you get an address. Fortunately a domain is (most of the time) a lot cheaper.
Publish
Third and final step is hosting. The files which compose the website need to be stored somewhere available for other internet users. You can start the web app on your device and access it on localhost or 127.0.0.1, this means other people can not access it. Technically you can do it on your own laptop/desktop, but it’s more complicated and we’ll (maybe) talk about this in another article.
There are a lot of cloud companies which offer hosting. As discussed previously there are some which offer you the tools to design the website, give you the backend and all things you need. They can even sell you the domain name, they offer the full solution to fully deploy your website. Disadvantages can be a higher price because you get all these things in one place, you can be locked into their platform and migrations can be a headache.
We are going to do it in a way more like IKEA. We will only buy a cloud instance, which is just someone else’s computer. If you use hugo or a similar popular framework you will find simple documentation on most of the big and medium platforms.
The big 3, at least in the West, are AWS (Amazon web services), Azure (Microsoft) and Google Cloud. But to be hipster we will use a smaller one. You probably can find offerings in your city and country, but take into consideration that you want a company which will be alive for some time. In this scenario it will not be very hard to move, but it will still take some time and we want a reliable company.
For the bigger companies, you’ll get some credits if you sign up with a new account. Credits are money you can spend on that platform. You can probably run a small website like these for a few months on those credits. I will go with Digital Ocean, it’s a multi billion dollar company but more focused on SMBs (Smaller and Medium Business) so I think they are more suited to my needs. They may lack some of the more advanced features of the big 3, but for this project I think they are good. If I won’t be satisfied I can always change it.
End
That’s it. The building part can take some time, until you find a theme you like and customize it. But after that everything is easy, especially if you use popular solutions which have a lot of integrations and documentation.