I generally agree that there is nothing new under the sun. But I also think history doesn't repeat, it rhymes.
> When to mainframes kind of suck? Well when you don't know whether or not you want to use them. ... Ending up, nearly exactly back where they started except that now one company owns a mainframe and dozens of companies use it to run their bits of code.
I think this reveals that there is an economic distinction between mainframes and serverless, along two fronts: size of commitment and economies of scale. Mainframe time could be extremely precisely subdivided when billing users, but the capital cost of getting to the first kilosecond was extremely high. In serverless settings the capital cost for the first unit of consumption is experienced as zero by everyone except the vendor.
(Yes, IBM runs mainframes-as-a-service, but they don't do it on the cheap).
The second difference is that the hyperscalers enjoy economies of scale and scope that no other organizations can match, including mainframe operations. If IBM is choosing between two different parts for a mainframe, they can pick the more expensive part and foist most of the cost onto their buyers, for whom there is little alternative. Meanwhile, for the hyperscalers, customers are much more price sensitive. More expense falls to their bottom line. But because they operate at such high scale, even tiny improvements are rational to pursue.
Similarly, economies of scope come from the fact that they can pool much larger amounts of variance, which makes their workloads more predictable overall than any smaller organisation can achieve. This is just the central limit theorem mercilessly steamrolling noise into smooth, predictable shapes.
But at least no punched cards.