Another confusing debate is around the approach you take when choosing your vSphere Hosts hardware configuration. Two approaches there: Scale Up (Vertical Scaling) and Scale Out (Horizontal Scaling).
Scale Up is to get small number of large powerful servers and that why it’s called Vertical Scaling; because you scale the configuration up to the max. with small number of servers. Scale out is to get a lot of small less powerful servers to achieve same required configuration and it’s called Horizontal Scaling; because you scale the number of servers horizontally, each with low hardware configuration.
The common misconception of these two approaches is that people thinks that Scale-out approach indicates using Blades and Scale-up approach indicates using Rack-mounted servers. A fully populated, powerful blade chassis can be used as a scale-up approach against 100’s of less powerful rack-mounted servers. To use either Blades or Rack-mounted servers is another debate clarified here.
Each approach has its own Pros and Cons. In the following table, is a comparison between the two approaches and my thoughts of their effect on many aspect in your Virtual Infrastructure.
Scale Out Approach
Scale Up Approach
|Server Failure Effect||Few VMs are out of service due to any server failure.||More VMs are out of service due to any server failure.|
|HA||HA will take less time to restart any affected VMs. Low amount of per host reserved resources by HA Admission Policy.||HA will take long time to restart any affected VMs. Large amount of reserved resources per host by HA Admission Policy.|
|DRS||DRS will take less time to evacuate any host. Cluster imbalances are easier to balance due to high number of hosts (chances) to evacuate to.||DRS will take long time to evacuate any host. Cluster imbalances are harder to balance due to low number of hosts (chances) to evacuate to.|
|Manageability||Manageability is harder due to high number of hosts.||Manageability is easier due to low number of hosts.|
|Performance||1-) BUS’s IO are more efficiently used due to less number of CPU Cores and RAM size.2-) TPS & CPU Co-scheduling are less efficient due to less CPU Cores and RAM size.||1-) NUMA can be used effectively, but CPU & Memory BUS’s may be contended.2-) TPS & CPU Co-scheduling are more effective.|
|Scalability||This approach allows for easier and cheaper scalability. Small servers are cheaper to buy on demand.||This approach allows for limited scalability, as although HW items (CPUs, RAMs, etc.) are cheaper than an entire server and easier to get, at some point you may need to buy entire large server -which is expensive- to scale your environment according to your need.|
|Cost||1-) High Cost due to high number of servers purchased. High OPEX cost of maintenance and management.
2-) Licensing is somehow an issue, as vSphere is licensed per CPU Socket and many Guest OS’s license programs are based on physical CPUs. This approach uses total more CPU sockets with 2-4 cores.
|1-) Low cost of servers purchased, although adding memory and CPUs may consume budget. Lower OPEX of maintenance and management.2-) Licensing is also reduced, as vSphere is licensed per CPU Socket and many Guest OS’s license programs are based on physical CPUs. This approach uses total less CPU sockets with more cores.|
|Environmental Issues||This approach consumes large physical space as well as high cooling and powering costs (low density). Cabling may be also an issue here.||This approach needs low physical space as well as low cooling and powering costs (high density). Less cabling is needed.|
|Limits||1-) VM max. HW configurations are limited.
2-) Max. number of hosts per cluster or per vCenter Server can be easily reached.
3-) Max. number of paths to a single LUN can be easily reached.
|1-) Max. HW configuration supported by vSphere can be easily reached.
2-) Max. number of VMs per host or per vCenter Server can be easily reached.
3-) Max. number of LUNs per host can be reached.
As you can see, each of the two approaches (Scale Up/Scale Out) has its own characteristics that it can fit with certain cases and will not fit with others. Your role as a Solution Architect or a Consultant is to select the approach that fits with your customer case and his requirements. Also keep in mind that, whatever the approach you take, you should consider also vSphere Cluster designing approach too, wither it’s a scaling up or scaling out, but this is another story to be described here.