What does self-hosting mean?
Self-hosting means to run and maintain your website or service using a private web server. In the context of this article series you can think of it as the opposite of using a managed hosting solution. This blog started on such a managed solution, a managed WordPress installation. This means, that I paid the provider I chose for provisioning of the service (WordPress) and all I got was an admin login to the WordPress installation. Within the installation, I was free to do what I wanted (and also responsible for it).
In the managed solution, I got what I bought: WordPress. Now I am renting a server and I have full control what I do on it.
Self-Hosting: rent a (virtual) server
If you take the word “self-hosting” a 100%, it would mean you have a server standing in your flat, cellar or garage and on that server, you run your services and host your website(s). The “soft entry” into self-hosting is to rent a server. You can either rent a physical server or a virtual one. For a start, the virtual one is cheaper and definitely enough for hosting your own website.
Advantages and Disadvantages of self-hosting
As outlined already, you have a lot more freedom. You can connect to your server and freely install anything. Want to tryout hosting a small API that gives static answers to learn about authentication? Go ahead? Migrate your blog - like I did - to Hugo. Why not, just do it.
The - maybe obvious disadvantage - is, that nothing is provisioned for you apart from the server and your root login. You have to take care of dependencies, basic server security and things you need on your own. What does that mean? Well, here’s one example: My WordPress blog came with e-mail alerts. My Hugo blog does not. Why? Because I did not set it up.
Self-hosting means more responsibilities on your side, but I think it is worth it for the learnings you will have. After all, I managed to do it, so you can, too!