Building scalable applications has become the de facto standard for modern web applications. Applications need to be built to scale. Scaling of applications is required when there is a need to meet increased activity within the application. Applications that scale are highly available and responsive to requests. There are two types of scaling, as follows:
Vertical scaling
Horizontal scaling
When applications are deployed, they use compute resources to run. These compute resources are:
CPU (processing)
RAM (memory)
Scaling applications by increasing the resources available to them in the same machine or physical node is called vertical scaling; this is also known as scaling up. This method of scaling is useful for applications that are designed and developed in such a way that they cannot share state or data. Less modular applications, or applications with more tightly coupled modules, usually have a need to scale within the same node...