4 ms·
> why wouldn't I want to use something horizontally scalable instead? Besides the (purported) reliability reasons other commenters have brought up, because "ve
by mmt 8y ago
> why wouldn't I want to use something horizontally scalable instead?
Besides the (purported) reliability reasons other commenters have brought up, because "vertical" [0] scalability is, often enough, more efficient in terms of money and (human/engineering) time.
This can hold true even if paying a premium for both the hardware and the humans (which, presumably, are more expensive due to their scarcity, as implied by the article).
The promise of "horizontal" scalability is being able to achieve arbitrary performance just by adding more units (e.g. servers), but not at any particular efficiency (slope or shape of the curve). Even that promise is suspect in the face of Amdahl's Law [1] and USL [2]. In reality, the Fallacies [3] matter, so the most general-purpose supercomputers are still bespoke and expensive, even if they're assembled from (a selection of) commodity parts.
Even just in the realm of commodity hardware, I/O-heavy loads are going to benefit from keeping everything as close together as possible, on as fat pipes as possible. Distributed databases or any distributed data handling (that doesn't involve heavy processor use, such as compression or transcoding) is what I've personally seen suffer from this issue. 20-60 "inexpensive" ($3k-4k) servers instead of 2-3 "expensive" ($20k-$60k) ones.
Cloud infrastructure further confounds any calculation, since, with the most popular provider, AWS, you'd pay 2x-10x what you would buying and operating your own hardware. That, multiplied by the inefficiency of scaling a distributed system, especially on a network you don't control, may well be higher than the price premium of a mainframe.
OTOH, if "you" are like Google, and are paying commodity (or below) prices and have had operating your own hardware, as cheaply as possible, as part of your strategy all along, including investing in experts/specialists to keep it cheap, then mainframes wouldn't make much sense. Amusingly, it seems popular to emulate only part of the big players' distributed systems, the software, while ignoring the context that made it so useful for those players, the cheapness of the hardware.
[0] I'm using quotes because the terms are a bit imprecise in comparing mainframes, which, even traditionally, involved distributed processing. IIUC, the reason there's a "C" in CPU is from mainframes, which routinely relied on processing units that were not central. Other commenters have asserted that mainframes are horizontally scalable without detailing what that means.
[1] https://en.wikipedia.org/wiki/Amdahl%27s_law https://en.wikipedia.org/wiki/Amdahl%27s_law
[2] http://www.perfdynamics.com/Manifesto/USLscalability.html http://www.perfdynamics.com/Manifesto/USLscalability.html
[3] https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...