Self-Hosting Fundamentals is live!
TLDR; Here's a link to the course.
It always pains me when I see a developer get sticker shock from hosting their application on Vercel or one of the big cloud vendors. You see, these products are convenient: you click a few buttons and, like magic, your application is live.
For some projects, that convenience is worth paying for, but you're renting that convenience, and the bill scales with your traffic. What starts as a free and easy way to promote your application can quickly turn into hundreds to thousands of dollars per month. In fact, that's their whole business model: lock you in with convenience and free credits, then murder your wallet when you start to scale.
I do some private consulting and advisory work as part of this business, and I have saved many small and medium-sized businesses tens of thousands of dollars per year, sometimes more, just by applying basic self-hosting techniques and reaching for free open-source solutions where they make sense. A VPS (Virtual Private Server) can often run your internal apps just fine at a fraction of the cost.
I'm not even exaggerating, I saved an education company about $45,000 per month last year by replacing some SaaS with free open source software running in containers and moving some AWS and Vercel deployments to dedicated servers in a colocated facility.
If you don't know what those words mean, this course is for you!
I regularly talk to professional developers who are afraid to touch things on the server and networking side. And the business stakeholders don't know any better, so they just keep paying the bills. It's because nobody taught them about the layers underneath: the server, the domain, DNS, ports, containers, and the TLS certificates that encrypt the traffic. So they pay a platform to cover a part of the job they never learned, and they keep paying until the bill gets big enough to hurt.
It's a bit sad because these concepts are the same no matter what programming language your apps are written in. If you learn them once, you'll understand how every web application you ship reaches a user.
Privacy and AI
If the cost savings aren't enough to sway you, take a moment to consider the current environment. Privacy has long been under attack, but now we have AI companies slurping down all the data they can get their hands on, legal or not. One of the best ways to protect your data is to not put it on big tech's servers to begin with.
And, if you're using AI in your day-to-day work, let me assure you that learning fundamental server and network management skills is even more important. There are many server environments, configurations, and software versions across companies. If you don't know the basics, you can't appropriately prompt an AI assistant, and worse, you won't understand the shell commands it's asking you to blindly run. And if you really want to break your server, then running a bunch of random commands that an AI generated without proper context is a surefire way to burn it down.
A Few Notes About the Course
This course is a bit different than the other ones in the subscription because we are working with real servers in the cloud:
- You will need a domain, which you can purchase for $5-$15 per year.
- You will need a VPS, which will run about $5-$15 per month. You don't need anything fancy to learn on, so a cheap one will do. You'll get far more out of it by running every activity on your own server than by reading along.
This course assumes you're comfortable in a terminal, navigating directories, running sudo commands, and editing files with nano.
You don't need to be a sysadmin, and the course won't make you a sysadmin. But you will fundamentally understand how to deploy an app and do basic maintenance on an Ubuntu server when you're finished.
You also don't need an application to deploy. We will be using a Docker WordPress image as an example, but the same principles apply to any containerized application, including your portfolio sites.
I hope you find time to check it out!
Happy Coding