5 ms·
> I can invest in a $3000 PowerEdge server with much better hardware And when some component of the server fails, your app is unavailable until you can repair
by deepspace 5y ago
> I can invest in a $3000 PowerEdge server with much better hardware
And when some component of the server fails, your app is unavailable until you can repair it. So you need another server for redundancy. And a load balancer. And a UPS. And a second internet connection.
If your app is at all critical, you need to replicate all of this at a disaster recovery site. And buy/run/administer DR software.
And hardware has a limited lifespan, so the $3000 was never a one-time investment.
I think there is often still a case to be made for self-hosting but the numbers are not as rosy as they seem at first glance.
- dijit 5y agoYou need to replicate in Cloud too, most people tend not to because they think the cloud is magic, but it's computers and computers can fail- even if they're someone else's. Also "if some component fails or the app is critical" has a lot of nuance, I agree with your sentiment but you should know: 1) Component failures in hardware are much rarer than you think 2) Component failures in hardware can be mitigated (dead ram, dead PSU, dead hard disk, even dead CPUs in some cases: all mitigated) The only true failure of a machine is an unmitigated failure due to not configuring memory mirroring or something' or a motherboard failure (which is extremely uncommon) 3) The next step after "single server" isn't "build a datacenter", it's buying a couple more servers and renting half a rack from your local datacenter, they'll have redundant power, redundant cooling and redundant networking. They'll even help you get set up if it's 2-3 machines with their own hardware techs. I do this last one at a larger scale in Bahnhof. also, $3000 will get you about 3-5 years out of hardware, at which point, yeah, you should think about upgrading, if for no other reason than it's going to be slower.
- Lamad123 5y agoI don't know what they call that logical fallacy cloud fanatics use when they say "if blah blah just make build your own datacenter".
- StillBored 5y agoSo, just buy another and leave it as a hot (or cold) standby in a different data-center. Or use AWS as the DR site an spin it up only if the local HW fails. This sounds expensive if your talking one server and vs a year of AWS charges, but is a tiny bump if it turns out you need to buy a dozen servers to replace a large AWS bill. Plus, I think most people underestimate how reliable server grade hardware is. Most of it gets retired because its functionally obsolete, not because a power supply/whatever fails. Which brings up the point, that the vast number of failures with server grade hardware are on replaceable components like power supplies, disks, SFP's, etc. Three or four years out those parts are available on the secondary markets frequently for pocket change.
- bcrosby95 5y agoYeah. We run servers into the ground where I work. We have around 20 of them. Average age is around 11 years old. Oldest is around 18.
- Underphil 5y agoHoly crap. I work in a relatively young sector and we retire them no later than 5 years. Do you mind sharing the type of business you work for?
- bcrosby95 5y agoIt's a smallish, family ran company. We don't have any particular sector, and historically have done both business and consumer software. Currently we're primarily working on a game - where many of us definitely feel like a fish out of water - but we have a few old websites and apps that pay the bills. Everything has been bootstrapped going back to around 1999.
- wwweston 5y ago> Or use AWS as the DR site an spin it up only if the local HW fails. Yep. This seems like the obvious setup to me: 1) make the usual case as economical as possible (and ownership and the associated control will probably help here, unless you have to lease the expertise too) 2) outsource the exceptional case (ownership is less likely to matter here, and will matter for less time even if it does)
- kxrm 5y agoI am not the guy you replied to, but I also self host my web apps. I think every project is different and not all projects demand near 100% uptime. I certainly strive for HA for my projects but at the appropriate budget and my users understand. If you are trying to go commercial you might have a different attitude but for those of us who do this mostly for fun and for some donations on the side, over complicating our setups to ensure we add a 10th of a percent to our uptime stats just isn't worth it.
- warent 5y agoThis is an important point. My customers don't love outages (who does?) but I've had them and it doesn't really hurt that badly. My products aren't that critical. They're understanding as long as you communicate.
- exdsq 5y agoPlus they still happen on AWS (or other critical bits like GitHub) so you’re not immune anyway
- deckard1 5y agogithub took down our eng dept probably half a dozen times last year. I don't even see how they hit 3 nines last year. It was insane. Even before that we had to switch off Azure. That was a sad joke of a service. They must be running their entire ops out of a log cabin connected with the bare minimum of cabling and bandwidth necessary. That's also the thing the serverless/API-all-the-things/cloud promoters don't get. This interconnected web of services is incredibly fragile. It's to the point that every day is a new failure. One day github is down. Next day your CI process breaks because Docker shits the bed. Next day your E2E service is hosed. Following day you hit an API limit and need to go dump more money into the firepit. Everything is broken all the time.
- theodric 5y agoThere's a big difference in service criticality between your business website and your NAS full of pirated tentacle hentai. Cases like the latter can accept extended outages, and are very cost-effectively served by home-based infra.
- senko 5y ago> And when some component of the server fails, your app is unavailable until you can repair it. So you have some downtime. Big deal. If this happens once every few years and you need a day to repair it, your uptime is still better than AWS. Not just everyone hosts a realtime API millions of users depend on every second of the day.
- wang_li 5y ago>And when some component of the server fails, your app is unavailable until you can repair it. So you need another server for redundancy. And a load balancer. And a UPS. And a second internet connection. Most applications don't actually have a four 9s uptime requirement. Like, how many otherwise healthy businesses closed up shop during the cloud providers we've seen in the last year because they didn't have their stuff implemented and deployed such that it would remain fully functional when these issues happen?