Technical Independence
This topic has been cooking for a minute in my head. Figured on the weekend of Independence Day in the United States would be a good time to get up on my high horse and talk about it.
With all of the AI agents this, and one-click platform that, I've decided to take it all back. Most of it at least, and a lot of it is a work in progress. By "taking it back", I'm referring to my owning my stack. Running software, I installed, on a server that I control.
I'm still a proponent of VPS hosting, but I wouldn't rule out my moving back to bare metal at some point.
But... why?
I've already been asked this, and my reasoning is dead simple:
Because I fucking can.
:%s/bankruptcy/tech independence/g
I've been technically independent before. There is a learning curve. I have hosed things real good. It's been fun, and I'm enjoying doing it again.
Convenience isn't a good teacher
I was muddling my way through this shredded cheese / box grater analogy. It kinda fell flat, so I dropped it. The point is that convenience doesn't teach you jack shit other than how to be reliant on somebody else doing the "hard" work.
A better analogy would be teaching somebody to fish. If you're only ever going to click a button out in Heroku or Vercel or whatever the hell this year's lazy platform du jour is, you're not really learning anything.
I get it, some folks don't want to learn how to configure a web server.
Easy mode is expensive to scale
I've heard my share of horror stories on scaling on these convenience platforms. If you're not willing to pay, you deal with all sorts of inconveniences to help push you into paying.
If you are paying, your scaling option is to pay more.
This is a truth, even when you're running your own servers. The difference is, you're in control of how you scale.
When a platform bundles everything together, you lose the granular control. Doesn't matter what you may need, more processing power, memory, bandwidth, the path is the same, upgrade to the next tier.
Don't get me started on charging for "unique visitors" and how inconsistent the tracking of that metric seems to be.
When you run your own servers, you have options, and scaling tends to be significantly more affordable. Proven horizontal and vertical scaling strategies are available. Sometimes tossing in another 5 buck server will be more beneficial than doubling the server's specs.
Death by a thousand subscriptions
Even if you're not faced with the crippling fees of scaling, you may be managing a ton of different subscriptions. It's easy to do when you're "outsourcing" everything.
You end up with a subscription for your web hosting, paying another guy for your database. Email's hard, let's pay for sending those messages too. Don't forget your trendy AI feature, that's got a separate subscription now too.
Amazon's done a good job of helping to reduce the volume of subscriptions with AWS, but it's significantly more complex and easy to run up a crazy bill.
But they're experts at this
It's easy to think that by using some platform you're instantly gaining so much expertise from them and their team.
That's called marketing.
Big companies have outages and breaches all of the time. Their expertise is often in their business, and scaling it, as much if not more so than the underlying technology.
Similar to "the cloud" being somebody else's computer, these services are just businesses built around, usually, open source software. That's the same open source software you can easily run yourself.
You too can stand directly on the shoulders of giants.
More to come
I'm still at the beginning stages of this journey. Hell, I'm barely at the beginning of this rant, as I didn't even touch on privacy concerns. My plan is to get a bit further along and put together an evergreen guide to self hosting on Linode/Debian similar to Derek Sivers' Vultr/OpenBSD-flavored post.
While I'm breaking up with as many services as I can, I'm still struggling to get over the mental hurdle of hosting email and documents. I let Google get those claws in way too deep, unfortunately. Suspect I'll just need to make a clean break and hope I don't end up with DTs.