3 ms·
It depends on the applications you're going to use them for, and how much you're willing or able to invest in making your applications be able to take advantage
by dantillberg 11y ago
It depends on the applications you're going to use them for, and how much you're willing or able to invest in making your applications be able to take advantage of using a larger quantity of cheaper hardware. A lot of big companies run applications that are not nearly as resilient to failure or nearly as linearly scalable as the systems routinely built by the internet giants.
I realized this before with regards to the ridiculously overpriced top-top-of-the-line CPUs. Let's say you're running an existing application at, say, a moderately small scale: 20 servers. Each server is only handling a couple dozen requests per minute, so the load is not very high, but the requests still take too long. You've hired a whole team of engineers to work on optimizing the code to make it run faster, and that costs you, say $10 million a year. You'd be happy to buy another hundred servers if that made it run any faster, but that's just not how it works -- the application is all single-threaded code, and maybe you can make that better, but that's what your $10 million engineering team is working on (maybe). So in the meantime, you spend whatever amount of money you can on getting the absolute fastest hardware you can find to throw in those servers -- fast CPUs, fast hard drives, fast network... and even if those servers cost $50k each, that's still just a fraction of what you're spending on the software engineering work.