Vertical Scaling
Noun · Development
Definitions
Vertical Scaling (also called scaling up) is the approach of increasing a system's capacity by adding more resources to a single machine, such as more CPU cores, RAM, storage, or faster networking. When an application outgrows its current server, vertical scaling means moving to a bigger server. This contrasts with horizontal scaling (scaling out), which distributes the workload across multiple machines. Vertical scaling is simpler to implement because it does not require changes to the application architecture: the same single-server application runs on more powerful hardware. It avoids the complexity of distributed systems, data synchronization, and load balancing. However, vertical scaling has inherent limits because there is a maximum size for any single machine, and larger servers become exponentially more expensive per unit of capacity. It also creates a single point of failure. Most production systems use a combination of both approaches: vertically scale individual nodes to a cost-effective size, then horizontally scale by adding more nodes when demand exceeds what a single large machine can handle.
In plain English: Making a single machine more powerful (more CPU, more RAM) to handle more work. Simpler than adding more machines, but there's a limit to how beefy one server can get.