Scalability has always been a primary factor while designing a solution. If you ask any enterprise about their existing and new solutions, most of the time they like to plan ahead for scalability. Scalability means giving your system the ability to handle growing workloads, and it can apply to multiple layers, such as the application server, web app, and database.
As most applications nowadays are web-based, let's talk about elasticity. This is not only about growing out your system by adding more capabilities but also shrinking it to save cost. Especially with the adoption of the public cloud, it becomes easy to grow and shrink your workload quickly, and elasticity is replacing the term scalability.
Traditionally, there are two modes of scaling:
- Horizontal scaling: It is becoming increasingly popular as compute commodity has become exponentially cheaper in the last decade. In horizontal scaling, the team adds more instances to handle increasing workloads...