Infrastructure
Scaling
Scaling is the process of adding or increasing resources to avoid potential performance bottlenecks.
Further information
Vertical scaling
Vertical scaling means trying to get more performance by upgrading the hardware, e.g. more powerful CPU, more RAM, faster hard drives. The advantage is that nothing needs to be changed in the application. The disadvantages are that you quickly reach the limits of what is feasible. Also, hardware prices do not increase linearly. Often used with monoliths.
Horizontal scaling
Horizontal scaling means not upgrading the hardware of the existing system but using multiple servers to share the load/tasks. This approach gives you a lot more freedom than horizontal scaling, but adds a bit more complexity. A simple example would be multiple servers behind a load balancer that distributes the load.