A bit of background: I've been using Linux both on my desktops and servers since the early 2000s. I'll try to distill what I learned over those years into a simple and easy-to-follow guide, in a way that I would approach things if I had to start from scratch.
I'll try to make things friendly towards new users - you should be able to follow the guide even if you have very little (or even no) experience with Linux.
We're going to start by going through the process of setting up a Linux VPS and then build upon that.
So, why even bother instead of going "serverless"?
Well, first, there's no such thing as serverless, there are only servers controlled by you and servers controlled by someone else. In the long term, trading-off that control tends to come at a huge price.
By learning to run things yourself, even if you do end up going "serverless" on some projects, you'll have a much better and deeper understanding of those trade-offs, limitations, pitfalls, and lock-ins.
Easy scaling promises, for the most part, are just that - promises. Even if they weren't, it's extremely unlikely that you'll really need them. A lot of people would be very surprised how much you can get from a single Linux box.
Considering what you get in return, running your own VPS is really cheap (you can get a nice KVM-based VPS for a few bucks a month).
But having full freedom and control over your server is priceless. With serverless options, you'll always be severely limited in what you can do and what you can depend upon (and even that limited set of dependencies is subject to change at any time).
In the next post, we're going to make a few important decisions about our new server.
Note: This is part #1 of the Essential Guide to Linux Servers in-progress series. You can follow me here or on Twitter for updates.