I recently ran a test where I had a $350 mini server using a golang binary, rabbitmq, redis and MySQL (all hosted on the same mini server)handle 5000 reqs/s sustained. That translates to 400 million reqs in a 24 hour day.
I’m amazed at how great the tools are these days that are free and yet we pay so much to cloud providers. I know it’s not an apples to apples comparison but it was so great to develop all that and fine tune it on a box in my basement.
Yep, and I hear everyone deploying some Kubernetes microservices monstrosity that slows development down tenfold because they don't know that servers can do more than 1 req/sec.
It's crazy to me that we keep paying all these overheads for no reason other than "it's what Google does". I really need to write my article about my modular monolith architecture up, it's worked really well for us.
I agree — Docker Compose is more than enough in most cases. At work, the only reason we migrated to Kubernetes was to enable zero-downtime deployments (blue/green).
That said, to be honest, I don’t find Kubernetes complex — but that might be because I’ve been using it for quite some time.
The problem is not to use it but to maintain it, keeping a baremetal k8 cluster updated takes a lot of effort, reason why most people recommend to use a managed one. It is like the entry pill to the cloud lock-in.
I am not sure if the _Swarm_ is still alive, but it can definitely do blue/green rolling deployments...
I fought really hard at one of the startups I previously worked. For the CV/Resume polishing, engineers pushed for K8s. It was outrageous for me since there were total of 3 applications running. 1 Python monolith and 2 other smaller Go apps.
Just before that, I was able to reduce AWS costs from 5k+/eur/month to sub 2k/eur/month. Having 3 parallel environments running at the time. (Dev/Staging/Prod).
You don't have to pay cloud providers. You can rent a dedicated service from a hosting provider and go to town with it (very much limited by your bandwidth or transfer limit).
Cloud providers are used because there is a lot of vested interest - e.g. VC and investors also having shares in cloud companies, then there is fear their investment might not survive imaginary surge of traffic that will never happen in reality. Cloud sales people are masters of playing at investors insecurities.
I think it’s also largely driven by the apparently cheapness of turning the CapEX of server buying to the OpEX of cloud renting. Less up front investment and auditing/access controls for SoC2 compliant are so much easier m.
I've thought about hosting my side projects in my basement, but then I'd be susceptible to power outages and ISP downtime. If a drive fails while I'm traveling I'm SOL. If I accidentally lock myself out, there's no serial terminal to fall back on. I could go the route of those folks on r/homelab, but then it's no longer clear I'm saving money, especially if you factor in my time. My conclusion is that cloud providers are actually a great deal and benefit from huge economies of scale.
I’ve thought through this as well. I’m not saying your conclusion is wrong, but if I get to where I really need backups to all this, there are solutions available. And I’ve had to learn lot more about logging and alerting to make sure my services stay up. But that time spent is repaid many times over with solutions that I understand. There is a time trade off but it’s usually a few hours of me learning “oh this is how you solve this” and then I don’t worry about it anymore.
In my experience, cloud at scale has ALWAYS required someone with a pager willing/paid to get up at 3am on Christmas Eve. So someone’s time is being used no matter.
I've been hosting my side projects on a Synology NAS I bought back in 2018. I would have the NAS anyway to backup my laptop etc, so the hardware is effectively free for hosting.
Power draw is low so it's on a basic consumer UPS which has worked fine for the short power outages we've had (minutes).
RAID means that a drive dying doesn't impact service, although I've yet to have a drive outright die, I've just had them start developing bad sectors and preemptively replaced them (btrfs checksumming keeps the data safe)
I have backups going to a cloud storage service, so if the crap hits the bucket when I'm traveling, I can just spin up a VPS and restore to there (which is what I would have to do if a cloud server died anyway)
> If a drive fails while I'm traveling I'm SOL [...] My conclusion is that cloud providers are actually a great deal
You realise you can always still restore that backup onto someone else's server? When you need to restore from backup either way. I don't really see why one would pre-emptively pay for it
> If I accidentally lock myself out, there's no serial terminal to fall back on.
Why not? That sounds like a choice you can make. The hardware I hosted on either had a KVM built in or can just attach a USB keyboard and VGA (or nowadays HDMI) display
Power outages aren't common in my area, and otherwise a UPS is not that expensive (compared to if you pay a third party to set up redundant power for your hobby system)
You can choose to pre-emptively pay the cloud premium and give them access to your server so you can also social engineer yourself back in via customer support (after all, if you aren't expecting to lose the password and thus don't need to convince a human to let you into your hosting account, then you could also hold onto your own server's password). It just all seems very opposed from the self-hosting spirit where you're self-reliant, which apparently you value since you were considering whether to self host?
> You realise you can always still restore that backup onto someone else's server? When you need to restore from backup either way. I don't really see why one would pre-emptively pay for it
Huh? If a drive goes out in my home server, the entire thing is offline until amazon delivers a new one (don't tell me I now need to keep a stockpile of spares). If a drive goes out in S3, I never know about it because AWS takes care of it. You don't understand why someone would want to "preemptively" pay for that?
> It just all seems very opposed from the self-hosting spirit where you're self-reliant, which apparently you value since you were considering whether to self host?
My self hosting is not ideological at all. I couldn't care less about "self reliance." The reason I considered hosting locally was to save money, and I concluded I was actually getting a lot of value for the money I was spending on AWS.
I had presumed you had off-site backups from where you could restore. If that's not the case, the cloud premium might be extremely good value comparing to losing all data sooner or later indeed!
Indeed. When I look at our VM spend, it's high because we need servers with a lot of local disk--not a lot of compute. For some reason, you cannot get one without the other.
Can you imagine the size of the business / service you could run with 4 attached 20TB drives, and a modest CPU? Good luck getting such from a cloud provider.
I’m amazed at how great the tools are these days that are free and yet we pay so much to cloud providers. I know it’s not an apples to apples comparison but it was so great to develop all that and fine tune it on a box in my basement.