Hacker News new | ask | show | jobs
by g9yuayon 877 days ago
IBM Mainframe was an answer when computers couldn't vertical scale fast enough. Cloud is the answer when our systems couldn't horizontally scale fast and reliably enough. So, the real question is: can we really scale our need of computation again on a single computer or on a set of computers with low enough cost to render Cloud unnecessary?
5 comments

Cloud was actually the answer to "how do I give more virtualized compute to people without hiring more expert server and networking admins."

The rest is noise.

Startups aside, most enterprise teams match the following: apps don't need to scale massively (scale up is enough and a surprising number of large, well-knwon services are entirely based on scale-up architectures behind the facade), most don't need dynamic scale, and most aren't even going to be started and stopped dynamically.

But hiring people who can run a network, only to have them sit idle most of the time or - and this is common - doing things and as a result breaking things, and people who can run servers and VMware and so on, and firewall, and WAN connectivity, ...

A lot of these things are, in fact, trivial, but vendors made them stupid and hard and painful to set up and doubly painful to troubleshoot. Cloud exploited that situation.

Things aren't a _lot_ better now but they're somewhat better, and now the economics of cloud are starting to get looked at.

> how do I give more virtualized compute to people without hiring more expert server and networking admins

I put these into the bucket of productivity and low cost. And this issue arises when we need to scale our business, in particular our computation.

It's not really true though. Incremental expansion doesn't actually require more heads if the compute is uniform.

I should really have mentioned storage. Networking is a vendor-imposed shitshow, but storage, storage is next level. It's almost like the vendors in 1995-2020 actively built their products around spite and hate for their customers.

To me it is interesting that despite the massive economic advantage that vendors _should_ have, they've made their products so unusable that people will pay 3x-10x more just to not have to deal with them, which is what cloud amounts to for enterprise customers.

> Cloud is the answer when our systems couldn't horizontally scale fast and reliably enough.

Not quite, the cloud forced you to figure out how to scale, do reliability and all the hard parts, mainly because AWS didn't offer any features like zero downtime VM transfers or any kind of pracitcal storage migration.

The point of the mainframe is that its almost like a really fucking huge lambda function host. You sling your app on the mainframe, ask for resources and let it run. If you run out of capacity, buy another mainframe and link it to the old one. Need a new region/reliability zone? pay a license, install a fat network link and jobs a goodun.

There are videos of where HP/IBM literally blows up a mainframe to prove its auto failover skills.

THe cloud is a poor proxy of what a mainframe _could_ do at its best. But its a reasonable facsimile of what a main frame did at it's worst.

And this tight coupling of code/process/data/apps to the platform is why mainframe migrations have a strong tendency to crash and burn. Folks should look at mainframes as a cautionary tale of "platforms".
The answer is the classic desktop model, local first than "connected" (these days we would use more the synced term instead). Meaning some do NOT want people own their digital infra and know the power it give for business reasons, meaning big money. While most to not even know what they can do with their own "endpoints" or modern dumb terminals that actually do have much more power than old dumb terminals and they cost much as well.

The answer is "hey users did you know that you can have GMail on your iron? All you need is to pull messages from a server to your local maildirs and run a local indexer with the relevant UI. If you do that perhaps with a personal domain you can change the provider or be yourself the provider without change NOTHING nor the UI nor the addresses/aliases. YOU WON YOUR DAMN DATA". Or as well "hey, did you know you can damn work with some files locally than have them auto-sync-ed back to the server? It's easy. And so on.

The answer is that we need damn desktops also in hw, meaning not using craptops as desktop replacer no matter if docked with a decent screen(s) and input devices or masochistically used directly on their small bad keyboards and small screens. We need the concept of home-office and tools to be on-the-go ONLY when we need them, we need the concept of a damn homeserver per home, to host personal services in an IPv6 internet with a static global per device (allowing privacy extensions, but still knowing a static address if needed) and so on.

Unfortunately most people do not care until they discover they are trapped and that's too late because they use walled gardens and there is not much modern sw to work in the classic way while few profit from the most and to their best to avoid such knowledge.

> can we really scale our need of computation again on a single computer

That door has been closed to chips built on CMOS for a long time. It's why we started scaling horizontally in our chips by adding more parallel cores.

> to render Cloud unnecessary?

The advantage with cloud is, the machines can die, and I'm not severely impacted. A new lambda machine will spool up, will be sent my function, will receive a copy of the asynchronous event to start working again.

This, personally, is why I love the cloud. I no longer have to worry about the mapping of code to the hardware that will run it. I pay up front for designing my code around the architecture, but I win every time it runs in that I have essentially zero maintenance overhead associated with it.

Scalability from cloud providers masks inefficient code. In my opinion there are a lot of applications that can significantly reduce resource utilization if enough attention and care is given by the developers.