Hacker News new | ask | show | jobs
by FpUser 1747 days ago
>"Racked up a several-hundred-thousand dollar bill in a couple of hours."

This is enough to rent big server from Hetzner / OVH for like forever and have person looking after it with plenty of money left.

>"I've experienced how painful companies that tried to run their own infrastructure made things like DB backups"

I run businesses on rented dedicated servers. It had taken me a couple of days to create universal shell script that can create new server from the scratch and / or restore the state from backups / standby. I test this script every once in a while and so far had zero problems. And frankly excluding cases when I want to move stuff to a different server there was not a single time in many years when I had to use it for real recovery.

I did deployments and managed some infrastructure on Azure / AWS for some clients and contrary to your experience I would never touch those with the wooden pole when I have a choice. Way more expensive and actually requires way more attention than dedicated servers.

Sure there a cases when someone need "infinite scalability". Personally I have yet to find a client where my C++ servers deployed on real multicore CPU with plenty of RAM and array of SSD came anywhere close to being strained. Zero problems handling sustained rate of thousands of requests per second on mixed read / write load.

4 comments

I think your last paragraph is the sales pitch for AWS. Hiring that level of expertise doesn’t scale. Easier and cheaper to hire 10x as many “developers” and pay the AWS bill than headhunt performance gurus that understand hardware and retain them .
What expertise? My specialty is new product design. I am very far from being performance hardware guru. I just understand basics and do not swallow propaganda by loads.
Even if you're right, it's still cheaper to get a dozen dedicated servers than to get a huge pile of AWS servers.

Bad performance means you need more servers, it doesn't mean you need instant scaling.

> Bad performance means you need more servers, it doesn't mean you need instant scaling.

Or better code/a better engineering organization

Oh sure but that's been declared too expensive in this scenario.
I'm not saying it can't be done cheaper or more efficiently on simpler providers or even self-hosting, but you need the expertise and time to stand up the foundation of a secure platform yourself then. For example, AWS Secrets Manager is just there and ready to code against, as opposed to standing up a Vault service and working through all of the configuration oddities before you can even start integrating secrets management into an application. If you already have a configuration-in-a-box that you can scale up, then more power to you.

Your use-case of running a web service that is written in a very efficient language like C++ is not something you see too much these days. While it would be nice if most devs could pump out services built on performant tech stacks, our industry isn't doing things that way for a reason. Even high-prestige companies with loads of talented engineers only build select parts of their systems using low-level languages.

>"Your use-case of running a web service that is written in a very efficient language like C++ is not something you see too much these days"

In some place including big ones it is very much being used.

>"our industry isn't doing things that way for a reason"

I think the real reason is - the slower your stack the more money you will pay to Amazon, Azure, Google or whoever else. And by way of advertising, trickling down to education and lots of other means they make sure that this is what everybody (well most) uses.

>"using low-level languages."

Since when modern C++ is "low level". It is rather "any level". I compared my C++ server code with the similar ones written in JS, Python, PHP etc and frankly if you skip standard libraries C++ code can end up being actually smaller.

> > "Racked up a several-hundred-thousand dollar bill in a couple of hours."

> This is enough to rent big server from Hetzner / OVH for like forever and have person looking after it with plenty of money left.

That's no fair comparison, as you're comparing the cost of a worst case caused by a misconfiguration under very specific circumstances with the cost it takes to operate the service without such a worst case.

If you want to avoid any possibility to generate costs like that by accident you of course are better off with self-hosting. However even then generating such costs is certainly possible, e.g. by accidentally leaking a database with customer data through a misconfiguration.

Without assuming such worst cases AWS Lambda can be much more cost efficient than a dedicated server, depending on the use case.

There is no silver bullet. For some use cases self hosting makes sense, for other use cases using a cloud provider is the better choice.

AWS value comes from things like * RDS - easy db backups * CloudWatch - easy monitoring * IAM - easy access control * Systems Manager - easy fleet management and distributed parameter store. Integrated with IAM so you can hide your secrets. The list goes on.

If all you need is one server then you don’t need all of that. Things change as soon as you need 40 servers, or you have 40 people accessing 10 servers.

You can do it with open source tools. It takes time and expertise to do so. Both expertise and time are not available to the most companies.