Scalability is the capability of a process, network, software or appliance to grow and manage increased demands. This is one of the most valuable and predominant feature of cloud computing. Through scalability you can scale up your data storage capacity or scale it down to meet the demands of your growing business. When business demands are increasing, you can easily add nodes to increase your storage space or you can increase the number of servers currently used. When the increased demand is reduced then you can move back to your original configuration.
Scalability enables you to accommodate larger workloads without disruption or complete transformation of existing infrastructure. To effectively leverage scalability you need to understand the complexity and the types of scalability.
Vertical Scaling: Vertical scaling is the capability to add resources to accommodate increasing workload volumes. It can be done by moving the application to bigger virtual machines deployed in the cloud or you can scale up by adding expansion units as well with your current infrastructure. The downside to scaling up is that it increases storage capacity but the performance is reduced because the compute capacity remains the same.
Horizontal Scaling: Horizontal Scaling is the addition of nodes to the existing infrastructure to accommodate additional workload volumes. Contrary to vertical scaling, it also delivers performance along with storage capacity. The total workload volume is aggregated over the total number of nodes and latency is effectively reduced. This scaling is ideal for workloads that require reduced latency and optimized throughput.
Diagonal Scaling: Diagonal scaling is the combination of vertical and horizontal scaling. It removes storage resources as requirements decrease. Diagonal scaling delivers flexibility for workload that requires additional storage resources for specific instances of time. For instance, a website sets up diagonal scaling; as the traffic increases, the compute requirements are accommodated. As the traffic decreases, the computation capacity is restored to its original size. This type of scaling introduces enhanced budgeting and cost effectiveness for environments and businesses dealing with variable workload volumes.