7

As you can find here Best Practices For Horizontal Application Scaling, vertical scaling is much more expensive than horizontal scaling:

vertical scaling cost increase exponentially whereas with horizontal scalability cost is linear.

Why is it so?
Vertical scaling means "adding more power to existing machines", while horizontal scaling means "adding more machines".

In my opinion, upgrading existing machines should be cheaper, as some parts already exist and you only have to buy additional processors, RAM, etc., whereas buying whole new machines should result in higher costs.

1
  • 1
    Why is a Dodge Viper more expensive than two Kias? May 21, 2015 at 17:36

3 Answers 3

5

In some cases (perhaps most) the servers are already at capacity physically. An increase in the number of CPU's would require a motherboard swap. To add RAM to an existing server could be expensive, depending on how old the server is. Memory modules more than 5 years old and sourced from a dealer can be prohibitively expensive.

What all this amounts to is that upgrading from an 8 processor box with 32GB RAM to a 64 processor box with 128GB would involve purchasing an entire new server to replace the old one. This is still vertical scaling from the database/application point of view. A server that supports this many CPU's is likely far more expensive than 7 servers with 8CPU's each (keeping the original one as the 8th).

As per mustaccio's comment: High-end hardware is not just about more processors and RAM; designing hardware to support throughput and power/cooling requirements for dozens of multicore processors is far from trivial. Thus, a 256-core 2TB RAM server might cost $150000, which is about an order of magnitude more expensive than 64 4-core 32GB commodity servers

1
  • 1
    You might add that high-end hardware is not just about more processors and RAM; designing hardware to support throughput and power/cooling requirements for dozens of multicore processors is far from trivial. Thus, a 256-core 2TB RAM server might cost $150000, which is about an order of magnitude more expensive than 64 4-core 32GB commodity servers.
    – mustaccio
    May 21, 2015 at 18:22
1

At some point of scaling up you need to buy low-volume high-capacity parts. Low volume is expensive because development costs can be amortized less. There are few systems with 16 sockets in the world.

Also, vendors take demand for high-capacity parts as a indication that you make a lot of revenue through this system. They then increase margins assuming that you will pay. Some customers make 2$ of revenue per 1$ of hardware. Some make 100$ per 1$ of hardware. A rational vendor will charge a higher price to the customer that makes more money per unit of hardware. Scale-up is one way to differentiate between customers and make some of them pay higher margins that others would not tolerate.

That said some scaling up is cost-efficiency neutral. Whether I buy 1, 2 or 4 sockets probably does not make a big difference to price/throughput.

0

Already in 2022 scaling vertically should certainly be a viable option depending on project requirements. For example one can get a 4 socket server in Dell R940 for example with each CPU using latest intel scalable CPU, one can achieve 112 cores/224 threads, 15 TB memory and 32 x ssd/nvme drives. I do not see any issues with scaling vertically. Not many databases will use this spec all up. We have nvme drives now in the million IOPS as well and pushing several GB per seconds.

dell poweredge 940xa

2
  • Nobody said you can't scale vertically; the question was about the cost, no?
    – mustaccio
    Jul 13, 2022 at 14:40
  • more costly scaling horizontally, you need more DBAs..vertical scaling you dont need to add more DBAs..besides other costs..and the point of the answer is to point to how much more greater the vertical scaling option is nowadays...it should be considered first before horizontal scaling
    – uberrebu
    Jul 13, 2022 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.