Preface – This post is part of the Cloud Computing series.
Table of Contents
Scalability is the feature of cloud computing used to handle a growing workload. Initially, it involves the resources you need, and the structure is designed to respond to changing demand by scaling out or automatically.
Scalability and elasticity go hand in hand. As a result, you have to have only the resources you use. The end-users do not have to worry about extra help and need to buy them. All the additional features are taken care of by the auto-scaling property of the cloud.
It is one of the best experiences of flexibility in resource management and cost efficiency of services.
For Example – The AWS service that provides this functionality for Amazon EC2 instances is Amazon EC2 Auto Scaling.
If you have tried to access a website, but the website may not load either because of technical issues or because there would be many requests at a time which is unable to handle. And the resources you have purchased are very few compared to changing demand on the website.
There is what auto-scaling comes into the picture and manages growing demand on the website. You can maintain a greater application availability by automatically scaling your instances in and out as needed.
For Example – In Amazon EC2 instances have two types of auto-scaling
- Dynamic Scaling – It responds according to the changing demand on the website.
- Predictive Scaling – It automatically schedules the correct number of Amazon EC2 instances based on predicted demand. It indicates the future needs and works according to that.
To scale much faster, you can use both approaches of auto-scaling.
Types of Scaling in Cloud Computing
There are three types of scaling in Cloud Computing
1. Vertical Scaling
Also known as scaling up/down. In this scalability mode, you can add resources to your existing operations to manage an increasing workload or number of users on the website. You can also set minimum resources, desired, and scale as needed for future requirements.
Example – MySQL
2. Horizontal Scaling
Horizontal Scaling refers to the additional resources you might need during deployment. It adds other nodes and machines to the infrastructure to support auto-scaling. Example – Cassandra, MongoDB
3. Diagonal Scaling
Diagonal Scaling is the mixture of vertical and horizontal Scaling. When the traffic rises, the requirements are met; when traffic falls, the configuration returns to normal. While working on heavy videos and files, it makes take longer time to export because of graphics and animations and thus processes more compute power. But then, other than videos and high storage files requires existing computing. Then, this increased workload can start stifling the instance.
Advantages of Scaling
- Low Cost
Auto-scaling the resources can avoid the upfront costs of purchasing expensive Machines that would not work in the future. With cloud computing, they only charge for what we use and thus minimize the overall cost.
When the business requirements grow, the capacity gradually increases and meets the demand. It ensures that the application can receive traffic and work properly.
- Saves electricity and other expenses
The elasticity and autoscaling property of cloud computing allows servers to sleep during low load and save the overall cost of companies running their web server infrastructure. And thus plays an ideal role for organizations.