Scale-Out Vs Scale-Up
What is Scale-Out Architecture
Scale Out or Horizontal Scaling refers to adding more identical Units like Cloud Controllers of similar type linearly in order to generate more horse power.
New
Current
This way of scaling is usually cheaper overall and can literally scale infinitely
(although we know that there are usually limits imposed by software or
other attributes of an environment’s infrastructure).
- Pros
- Much cheaper than scaling vertically
- Easier to run fault-tolerance
- Easy to upgrade
- Cons
- More licensing fees
- Bigger footprint in the Data Center
- Higher utility cost (Electricity and cooling)
- Possible need for more networking equipment (switches/routers)
What is Scale-Up Architecture
Scaling upward or scale vertically is adding more powerful controller(s) to increase the overall throughput. Obviously the newer controllers come with more CPU power and more memory.
New
Current
- Pros
- Less power consumption than running multiple servers
- Cooling costs are less than scaling horizontally
- Generally less challenging to implement
- Less licensing costs
- (sometimes) uses less network hardware than scaling horizontally (this is a whole different topic that we can discuss later)
- Cons
- PRICE, PRICE, PRICE
- Greater risk of hardware failure causing bigger outages
- generally severe vendor lock-in and limited upgrade-ability in the future
Scaling out takes the infrastructure you’ve got, and replicates it to work in parallel. This has the effect of increasing infrastructure capacity roughly linearly. Data centers often scale out using pods. Build a compute pod, spin up applications to use it, then scale out by building another pod to add capacity. Actual application performance may not be linear, as application architectures must be written to work effectively in a scale-out environment.
Leaf-spine network architectures are also “scale out” designs. As a new pod or rack is installed, top of rack leaf switches plumbed to the spine layer add capacity.
Scaling up is taking what you’ve got, and replacing it with something more powerful. From a networking perspective, this could be taking a 1GbE switch, and replacing it with a 10GbE switch. Same number of switchports, but the bandwidth has been scaled up via bigger pipes. The 1GbE bottleneck has been relieved by the 10GbE replacement.
Scaling up is a viable scaling solution until it is impossible to scale up individual components any larger. For example, 10GbE is a practical limit for uplinking hosts to the network until such time as 25GbE and higher ports are readily available on hosts. In that context, what happens when 10GbE is no longer enough bandwidth for the uplinked host? Rather than scaling up, you scale out.
No comments:
Post a Comment