Capacity Planning Sacle-out vertically vs horizontally

Capacity planning takes into consideration future growth of company/application system in place. We need to have a vision and project future growth/customer base that the product/enterprise is likely to have in near future. To keep up with the growth of the enterprise, it becomes essentially important to support the infrastructure in form of hardware, software, resources etc. Here comes the role of capacity planning personnel. Whenever the application grows in volume, performance it becomes mandate to fuel the growth in form of horizontal scaling or vertical scaling. Lets see what each means 1) Vertical scaling - Adding more resources in form of RAM,Storage etc to keep up with growth in same machine 2) Horizontal scaling - Scaling out load across more than one machine,modification of application, utilizing features of application to cater growthetc. Here comes into play utilization of popular concepts like partitioning in RDBMS, Sharding in mongoDB etc Hence the capacity planner should met up regularly with team members to support growth of an organization