Speeding up software with faster hardware: tradeoffs and alternatives

If you’re writing software to process data, you will often hit performance problems: batch jobs that run too slowly, or use too much memory.
One potential solution is purchasing better hardware.
With cloud computing, switching to a computer with more cores, or adding more RAM, can be done in a few minutes, or even just a few seconds.

But as with any solution, there are tradeoffs involved.
If your first solution to any performance problem is spending more money on hardware, you may eventually end up with software that is unnecessarily slow, hard to speed up, and extremely expensive.

So how do you decide if faster hardware is the correct solution to your software performance problems?
In this article we’ll discuss: