In layman’s terms, scalability is when a small application starts growing due to more users signing up for accounts and using the application more often. This becomes a major problem when millions of users request the same application and a server does not have the resources to handle millions of concurrencies. Developers and System Designers work hand in hand to consider the optimal solution to unforeseen growth.
If this step is skipped in the planning phase, when the application starts to scale, it could be costly to implement features to eradicate the problem. However, we won't emphasize much scalability in the application we will be making, but we will address some of the important topics needed in order to scale.
It should be mentioned that the topics and solutions discussed in this book are shallow and are not to be used in a production application. For further and optimal solutions, please consult a qualified vendor.
Most likely, experienced Developers tend to resolve System Design or Software Architecture problems naturally as the application grows through progressive development. In this book, we will advise planning on how the application will scale for millions of users.
This becomes important when millions of concurrent requests hit the Server every minute and infrastructure is already put in place to handle the traffic. It is better to be prepared before the problem occurs than realizing at a later stage. Better preparation and better infrastructure will put requirements in perspective and will overly become imperative to the success of an application.