mmnfrdmcx
6 hours ago
Cloud is insanely expensive and inefficient. Too many engineers don't understand how slow I/O back and forth is on network storage, or VMs with chatty neighbors are compared to bare metal...
Xeoncross
30 minutes ago
RAM is insanely expensive and inefficient. Try to keep important info in L3 cache. Every additional hop from the CPU transistors adds exponential overhead.
Everywhere we look we see people making the best choice for them. Big apps using Electron vs native. Ports of 250MB games like Starcraft now taking 5GB of "compatibility" libraries to run on modern PCs.
I completely agree that people need to be aware of Latency Numbers Every Programmer Should Know (https://gist.github.com/jboner/2841832), but in reality we don't all have the budget, time, or personal to do things the right way when it's the company ordering us around vs our own projects where we can do things "the right way".
Honestly, I'm glad companies are wasteful. If large companies were super conservative and agile then our economy would be in really, really bad shape. It's thanks to these inefficiencies that small startups can jump in and capitalize in ways the many bureaucracies of enterprise can't.
Then again, the dev in me would LOVE it if everyone rewrote everything in Rust or Zig and we put wasteful scripting languages to death for good.
linsomniac
3 hours ago
>Cloud is insanely expensive
The math has drastically changed over the last few years. For example, the on-prem database server we bought 4 years ago for $14K is now pricing out at $96K.
fillest
2 hours ago
Cloud providers have to buy new hardware too to grow and to replace failing/obsolete units. They will have to raise their prices sooner or later too.
mpyne
an hour ago
> Cloud providers have to buy new hardware too to grow and to replace failing/obsolete units.
They can negotiate better prices based on their scale, and even on their ability to internally source key components if needed.
E.g. if AWS/Microsoft/Google/Apple buy 80% of Micron's entire output it's probably at a much better price than the rest of us competing over the other 20% are going to get.
traceroute66
37 minutes ago
> They can negotiate better prices based on their scale, and even on their ability to internally source key components if needed.
A global supply chain storage is a global supply chain shortage.
Most famous recent example being Apple who were absorbing the rapidly increasing cost of supply until even they had to put up the prices to reflect procurement and manufacturing reality.
And this is Apple. The company that even buys its manufacturers plant equipment in return for it being dedicated to Apple.
Yes the big boys get volume discount. But that doesn't magically entitle them to last decades's pricing.
tshaddox
35 minutes ago
It’s probably cheaper per unit when they buy at massive scale, but that was also true before the hardware inflation of the past couple of years. So I’m sure they are still paying much higher prices than in previous years. Many cloud services have increased prices and I suspect that will continue for at least a few more years.
vidarh
an hour ago
And yet they remain an expensive option.
Even just going to second tier cloud providers will tend to let you rent similar capacity much cheaper.
AWS and the other big cloud providers only gets close to cost efficient when you're big enough to negotiate prices that are nowhere near their public list prices.
traceroute66
34 minutes ago
> only gets close to cost efficient when you're big enough to negotiate prices that are nowhere near their public list prices
And by which time you are spending an ungodly amount of money per month !
Which is why second tier providers are the way to go.
You get better prices. Much clearer price models. Better customer service....
... And all without having to commit to spending more than the GDP of a small country every month on your cloud bill.
KptMarchewa
2 hours ago
AWS will happily sell you instances based on 12 year old Haswell.
geocar
26 minutes ago
O_o
Four years ago, I needed 256gb of ram, and it was costing about $1-2k a month in the cloud, which I replaced with a server on ebay with 1,5tb of ram for about €2k- which I was pricing against equivalent to what I was renting for about $6k or so on newegg. And I think the dumbest IT procurement manager in the planet could've gotten it from Lenovo or HPE or something for $10k providing the easiest 20% savings if they move on-prem.
How much is your $96k server on AWS?
dikei
5 hours ago
It's all about trade off.
Do you want to spend thousands of dollar upfront for that DB server with sweet sweet NVME SSDs, of which your application might not even use 1% before the app get scraped?
sdcfgy
5 hours ago
Back in the old days we chucked it all on one box. Then scaled up when we needed to.
If you can’t afford to throw down enough money on a single box to bring a business up then you’re fucked anyway.
I know whole businesses that make a lot of money and never needed more than that box. (And a hot spare)
kqr
5 hours ago
I would have argued against you a couple of years ago, because I've also built stuff this way and it required a developer or two to care at least a little bit about database administration, and few of the one's I've met do.
However, these days, I notice my DBA skills atrophying because LLMs have encoded most of the answers and diagnostics I need in their weights. Coupled with something like Nix, spinning up new servers including backups and everything, it's easier easier than ever to run your own production database instance.
sdcfgy
4 hours ago
It's easy doing a lot of stuff you don't understand quickly these days. But when the shit hits the fan and you have customers you need to know what you're doing.
Hiding behind the LLM, or even a cloud service like RDS makes you think you can get out of a corner, but you are nowhere near that. Practice, drills, experience are the only solution here. The illusion of that is dangerous.
I spent a couple of days recently digging one of our associated businesses out of the shit because they killed a postgres on RDS instance (AWS bug!) and couldn't google or LLM their way out of it. It hit the trade press and did a lot of damage to them.
If you're not going to do the work, don't take on customers.
kqr
an hour ago
> when the shit hits the fan and you have customers you need to know what you're doing. [...] don't take on customers.
I think you overestimate the level of DBA skills smaller startups have in house.
If you have found a way for a company to hold off on taking on customers until they can afford a proper DBA, I'd love to hear more about it. But it sounds backwards to me. In my experience, it typically goes the other way around: only after taking on enough customers to be decently profitable can a company afford a real DBA.
Until then, the choice used to be between managed database services or striking luck with a developer that had some database interest. These days, it's between managed database services, striking luck, or giving the developers access to an LLM. The LLM doesn't replace DBA skills that used to be there. There weren't any DBA skills there to begin with.
sdcfgy
40 minutes ago
This is incidentally exactly why I never buy any products unless they've been around 10 years. It's a risk.
wanderlust123
3 hours ago
An LLM can absolutely do the harder stuff too. I wonder what model you have used where you think it's only for the easy stuff.
Of course you need understanding for when shit hits the fan, but that applies regardless of whether it's a human or an LLM writing the code.
sdcfgy
3 hours ago
We've had the best people using the best and most expensive models. They confidently produce shit they thought they understood but didn't.
LLMs remove personal exploration from tasks and that's where you really get to know things.
KptMarchewa
2 hours ago
We've all seen best people confidently produce shit throughout the history, before the LLMs.
sdcfgy
2 hours ago
Now they can do it faster than ever and to the detriment of everyone. Which is the problem.
When you optimise for fast and not correct, things are fucked.
Tanjreeve
4 hours ago
Don't LLMs make it easier to write all the low level/boring stuff that makes managing a database deployment directly viable without the middleman?
vbezhenar
4 hours ago
It's all good while it works.
The day it broke, it's a PITA.
You need that RAID card which is not available anywhere around you.
You need to visit your Data Center, but you suddenly have issues with security and you need to arrange all that stuff.
You need to buy DDR stick but you need to wait a month for delivery.
The guy who knows how to insert a stick took a vacation week ago, and everyone else is too afraid to touch big iron box.
With cloud, you either don't notice that, because they have scale and they have spare parts and they have personnel 24/7. Or worst case you order identical server and deploy your app, hopefully in a few hours restoring from backup.
And for some people it might never broke. But it's all the uncertainty and fear that leads people to cloud solutions. You don't plan for average outcome, you plan for worst outcome.
vidarh
40 minutes ago
> You need that RAID card which is not available anywhere around you.
If you're small enough to not be able to justify spares, then rent servers instead. It's still cheaper than the big cloud providers.
> You need to visit your Data Center, but you suddenly have issues with security and you need to arrange all that stuff.
You rarely do. Anywhere beyond the cheapest third-rate colo provider provides "remote hands" services.
Even when managing several racks worth of hardware, I'd go into the colo facilities a couple of times a year at most.
> and they have spare parts and they have personnel 24/7
Even tiny colo-providers still have personnel 24/7, and you can buy fractional devops services for small retainers from any number of providers (like me).
sdcfgy
3 hours ago
That exact line of thinking is how our costs increased 8x over 2 years.
And you're not immune from those issues in AWS. What happens when you run out of EBS IOPS or have to change instance type and it won't boot? What happens when your instance fails? What happens if you hit a quota limit in the middle of a failover?
AWS support is fucking awful unless you pay $5k a month or 10% of your total spend (whatever is greater) and then it's only mediocre.
rwmj
3 hours ago
Yes, you will need to keep a spare running. And have written (and tested!) procedures around how to switch to the spare when members of your team are away.
Cthulhu_
3 hours ago
All additional concerns and requirements that you need money, time, and people for. I'm not claiming a server-as-a-service / cloud has zero skill requirements, but it's a lot less than managing your own hardware.
I can't comment on total costs / costs over time though.
rwmj
3 hours ago
In my experience cloud deployments also need documentation and processes. It is of course a different set of documentation and processes, but cloud's not magically free of these requirements.
vidarh
38 minutes ago
I do devops work for people, and clients using cloud services consistently have more devops issues than those on dedicated hardware.
rwmj
3 hours ago
Single boxes now are also insanely powerful compared to what we had back in the day too. Unless you are genuinely running the next Google, you might not even need to scale beyond one. As you said you might get a second box purely as a hot spare.
I remember we ran a pretty large UK website on 5 x Pentium II boxes, using a Perl stack which is not exactly memory efficient. Later we ran a chat server for hundreds of thousands of school kids on a single server which was (if I remember this right) a Pentium III with 128 MB (yes, megabytes) of memory and a spinning hard disk.
vidarh
35 minutes ago
I used to run a webmail service that we had ~2 million user accounts on. It took several racks of equipment. The combined capacity (RAM, IO capacity, disk storage, CPU) was all below the 250 GBP mini PC under my desk...
c0n5pir4cy
5 hours ago
I built my own server for home last year, all consumer hardware (AMD Ryzen, 96GiB RAM, NVME SSD, HDDs etc). Total cost was ~£3,000 at the time - £6000 up front cost for a business seems reasonable; and you could get away with less.
However, the main cost would be colocation - it's risen quite a bit.
sdcfgy
4 hours ago
Just buy one off Hetzner or something.
I wouldn't use Ryzen on a production server myself.
OliverGuy
31 minutes ago
Nothing wrong with Ryzen for a server, you can get AM5 server boards from Asrock and they support ECC. If you need more they make AM5 Epyc CPUs that are just Ryzen parts with Epyc written on the box and IHS
vevoe
3 hours ago
Just out of curiosity why not?
sdcfgy
2 hours ago
No ECC support on current models, dubious ECC support on previous models, thermal performance issues, crap chipsets, not enough PCIe lanes.
yxhuvud
2 hours ago
Uh, its only the models with builtin GPU (the G series) that lack ECC. The rest seems to support it as long as the motherboard does.
dahcryn
an hour ago
if you do the same type of governance, cloud is still cheap too (everything on one server)
Where the money gets wasted, is doing a different server per project, putting everything in different resource groups, and then overprovisioning those servers many times over. So much wasted capacity because of simple project structure preferences.
And then there is also the fact some features are locked behind more expensive models, which is also rarely cost efficient.
All I am saying is, if you simply create 1 database server on the cloud, with a database per app, and different schema's, isolated users, ... it can stay super cheap. But good look getting through an enterprise cybersecurity audit or ISO27000+SOC2 certification.
sdcfgy
35 minutes ago
I've led and completed SOC2 and 27001 cert on own hardware.
It's absolutely fine. Everyone has just gone stupid recently.
maeln
5 hours ago
You can rent bare metal server for that. The real advantage of cloud solution is a cohesive offer, ease of scalability, and many other things which boils down to "we take care of things for you". It can be worth the $, i can also be a huge waste of $.
mitxela
4 hours ago
Ease of scalability - "it starts at 0.01x, but adding extra increments of 0.01x is easy, provided your app is designed for horizontal scalability"
ndriscoll
4 hours ago
Far lower than 0.01x. Batching can get like a 30x boost, and horizontal scaling makes that impossible, so your upper limit is basically 0.03x. Then you throw it on a volume with 1/1000 the IOPS of a basic consumer drive. So more like 0.00001x, and you can pay through the nose to bring it up to 0.01x maybe.
People have zero concept of how incredibly absurdly fast even a slow computer is. Storage is literally 1000x faster than it was 15 years ago. My first job was firmware for enterprise storage arrays and IIRC we were aiming for 3M IOPS. That's not much more than what kids can put in their PS5 now, and these were arrays running companies like Walmart and JPMC.
sgt
5 hours ago
You also fail to realize that even managing a physical DB server is much easier now with AI, enabling people to more easily understand what their infrastructure needs are, what maintenance is needed, how things can be automated.
mlnj
4 hours ago
True. We do have to remember that this is only possible in the last few months. The costs to manage more and more infrastructure is steadily going down.
vidarh
44 minutes ago
Renting (either just the hardware or a dedicated box at a hosting provider), leasing, lease to own, or just plain regular payment plans are all options that tend to work out at a fraction of the big cloud providers.
In 30 years of hosting on-prem or in colo facilities, I've never once bought hardware up front for corporate accounts.
haileys
4 hours ago
No, you can just rent a VPS with local NVMe storage if even renting bare metal is too much.
mitxela
4 hours ago
So like, 0.5 extra salary months to make sure the whole company's app is fast?
mcapodici
4 hours ago
Sounds cheaper than AWS :)
tecleandor
4 hours ago
And yet we do multi year purchase commitment contracts with cloud providers that break that "flexibility" premise.
With the multi million dollars A MONTH purchase commitment contracts I've seen in my previous employers, you could use a single month budget to buy hardware that could serve our applications for years.
dizhn
5 hours ago
Why are you paying for hardware that might not even be used ? If you get an unexpected burst of demand that's not the worst problem to have. You can even jump on a cloud for a few months.
vidarh
30 minutes ago
Being set up to be able to quickly "jump on a cloud" is the best way of ensuring it's even less cost efficient for you to actually use the cloud most of the time.
Which is to say, it's good advice.
It lets you load your dedicated servers far higher than what you can safely do if you don't have the option of using a cloud provider for burst traffic, but in practice most people will very rarely need it.
chrisweekly
3 hours ago
scraped -> scrapped
totally different words
elendilm
2 hours ago
The very thought of a single storage request hitting the network unnecessarily boils my blood.
Some latency increase must be traded for scalability. But at least we get the required utility in return.
But without that utility, one is just hiking up the cost. Any competitor who can deliver at reduced cost holds a potent weapon that you simply cannot survive.
A company that has efficient cost structure across its operational domains holds an advantage which is near impossible to out-compete. A sense of inevitability and resilience is what reduction in cost buys you.
Cost is a weapon. One of the most fundamental weapons in almost all domains.
mightyham
2 hours ago
Latency can also be traded for availability. EBS storage provides replication and can trivially be removed/attached to new instances if the database server for some reason needs to be taken down. Any database with built-in replication/consensus (Kafka, Spanner, Dynamo, Cockroach, etc.) is making this same tradeoff and is effectively hitting the network on every storage request.
elendilm
2 hours ago
"Unnecessary" is the keyword you missed. Refer to sentences 1, 2 and 3 in my response.
The argument of cost is fundamental and no amount of Kafka, etc. can override it.
mightyham
an hour ago
Gotcha, seems like we agree then.
Considering that the topic is an article is comparing raw NVMe vs EBS performance for postgres storage and GP saying that cloud is unnecessarily inefficient, I misinterpreted your comment as implying that networked storage is always an unnecessary cost. In many cases the cost of replication and availability is lower than the cost of data loss and downtime.
elendilm
an hour ago
Even during replication, any unnecessary network payload beyond the absolute minimum required is still a cost that boils my blood :-).
bell-cot
2 hours ago
> Cloud is insanely expensive and inefficient.
Depends on your metrics. Say you're an early startup - short on man-hours and bare-metal skills, with backers who think that "cloud" sounds fast, cool, and scalable.
Or you're a VP at some big company - with C-suite mandate to deliver Cool Solutions ASAP, whatever the cost...but a byzantine mess of middle managers between you and the actual engineers. Deciding "we'll use CloudCo" can rob your steaming heap of PHB's of a lot of opportunities to make bad decisions and drag things out.
perching_aix
6 hours ago
> Too many engineers don't understand how (...) VMs with chatty neighbors are compared to bare metal
sell a lie, blame the victim?
MisterMunchkin
3 hours ago
I can have an app which scales to zero and costs me nothing, but could instantly handle everyone using it. That's not possible on-prem.
unfocso
2 hours ago
Could instantly handle everyone using it, at the sweet sweet price of the money you saved when it scaled to zero and a little bit more.
buckle8017
3 hours ago
For the low low price of unlimited liability.
No thanks.