Vertical Scaling
Vertical scaling, also known as scaling up, is a method of increasing the capacity of a single server or machine by adding more resources such as CPU, RAM, or storage. It involves upgrading the hardware components of an existing system to handle increased load or performance demands. This approach contrasts with horizontal scaling, which adds more machines to distribute the workload.
Developers should consider vertical scaling when dealing with applications that have monolithic architectures, stateful services, or workloads that cannot be easily distributed across multiple nodes. It is particularly useful for small to medium-sized deployments where simplicity and lower operational overhead are priorities, or when software licensing costs are tied to individual server specifications. However, it has physical and cost limits, making it less suitable for highly scalable or fault-tolerant systems.