Scalable architecture
What is scalable architecture? Systems are often designed based on initial number of users in consideration. Few users to millions of users may be using the system. But there is possibility over the period of time the number may go up or usage may be high some times during the day or some days in a week or few months in a year. To support such usage the system should be designed to sustain any kind of usage or load. Both hardware and software should able to handle any increase in work loads. That is the core of scalable architecture. Vertical scaling(scale-up_ is increasing the hardware like CPU power, memory etc to handle the workload. Horizontal scaling(scale-out) is adding more servers with similar hardware configuration or distributing different tasks to different servers minimizing the impact on one or few servers. The choice is always depending on the application requirements and no system is designed the same way. Start everything in one Single Server for exampl...