Yes, if you want to save money and learn about networking on Linux along the way. Pieter Levels does it.
Horizontal scaling (more than one machine) is rarely needed. Vertical scaling (adding computing power to a machine) can go very far, millions-in-revenue far.
There are multiple platforms offering convenience when setting up a server, but free tiers are severely limited or nonexistent (as is now the case for Heroku). An economic environment of sane interest rates is likely to keep this as the standard. Comparatively, VPS’ can be radically affordable, with 1GB of RAM costing around $5/month at time of writing - and no limit on the number of servers you can run on it.
Personally, I also like the sense of ownership in setting up my own machine, and knowing exactly what it takes to make a website available to the world.
How much trouble is it?
Quite a lot. If you’re setting up a VPS for the first time, expect to spend a few days learning through trial and error.
There are lots of guides around for any thing you may need, but getting to the ground truth is surprisingly hard - configuration files are mystical and sometimes options may come out of nowhere with very slight explanation.
Take for example the systemd website, which has precisely 0 getting started guides or beginner friendly tutorials. It feels weird having to learn how to use these tools by averaging third party resources together.
I have been writing down the steps I’ve taken in a document, which is now at 200 lines. Some of the steps include:
- Managing SSH connections
- Setting up the
- Setting up the NGINX reverse proxy server
- Setting up HTTPS with the EFF’s certbot
- Setting up a Python environment with
- Setting up systemd to manage the server as a service that boots with the OS
And more to come, such as log rotation (avoiding forever-growing files) & monitoring for errors, and looking into things like Cloudflare for additional security and caching.
Here’s the guide in its current form and full raw power:
What about you? Do you think it is worth it to go through the hassle of setting up a VPS? Let me know on Twitter - I’m @voxelbased.