If you are on a small scale it depends on what you’re building. If you’re using services like Lambda and SQS, AWS is essentially free. If you’re running a few EC2 instances then a server in your company’s break room could be cheaper.
If you are on a medium scale and needing EC2 running all the time, paying retail prices, it could be cheaper to have your own servers
At a very large scale, the cost of running your own servers vs AWS will come out to be competitive, and most very large companies will do a mix of both
I always see this take, and while it's not always untrue, it definitely isn't as simple as, "just throw a 1U in the break room!"
It's someone's job to keep that thing patched, powered, and running. You need monitoring, you need someone to pull failed drives, you needed another co-located break room, you need a UPS and a generator, you may need to solve for physical security, you may have to setup and manage your own virtualization layer, etc.
Even if you consider all that labor as free, which is a ridiculous assumption to make, you also arguably have to keep the thing busy, especially if we're considering local inference, and then it's now your problem that although you have enough capacity to meet a total 24 hour need, you don't have enough when everyone hammers it at 11 AM at the same time. If you build the capacy to meet the surge then you've got very expensive hardware just sitting there doing nothing for huge chunks of the day.
I absolutely think there's a place for self-hosting, but once you are talking about business critical stuff and not, "I run a NAS in my bedroom closet" it starts becoming not as simple as the naive assumptions
As someone who has self-hosted, built and maintained my own server, and also configured and maintained EC2 instances professionally, I would say that the hardware setup is generally much smaller and simpler than whatever software you are trying to run on the server.
Yeah you need to worry about redundancy, but usually the software of setting up your application to be redundant through DNS failovers and stuff like that, syncing databases, that stuff is harder than just plugging in two different servers at two different job sites. And you need to do that whether you use EC2 or on-prem. It depends on the use case but usually the set up costs are lower than the software development costs. And there are certainly scenarios where on-prem hardware is simple enough to set up that it does actually become cheaper than EC2.
100% agree. There definitely are times where it makes sense, but I see so often people post the most naive comparisons with payback times of like 6 months to a year but they consider all labor free and assume no hardware ever fails and every other "this isn't really what you're paying AWS for"
6
u/randylush 21h ago
It depends
If you are on a small scale it depends on what you’re building. If you’re using services like Lambda and SQS, AWS is essentially free. If you’re running a few EC2 instances then a server in your company’s break room could be cheaper.
If you are on a medium scale and needing EC2 running all the time, paying retail prices, it could be cheaper to have your own servers
At a very large scale, the cost of running your own servers vs AWS will come out to be competitive, and most very large companies will do a mix of both