In this era of technology, the use of the cloud has increased as compared to the past decades. Due to the increase in the number of electronic devices like smartphones, laptops, and desktops the cloud had significantly improved the way of work for the users who are always on go. Cloud computing was not possible if there was no virtualization. It is the backbone of all core cloud applications. Before cloud computing, installing the same software on multiple devices and using multiple data storage devices to keep their files was a big challenge . Due to the use of physical machines for storing data, there was also the threat of data loss and data leakage because the personal workstation is less secured as compared to the new security measures of the cloud.
The demerit of cloud was that it gave its users a fixed space/storage area and the users of the cloud were charged according to the storage size. There are many other problems with fixed resources rather than the cost like the server load, without increasing the resources to handle the number of users the application can fail and results in a crash. To prevent all these from happening cloud scalability is used which can dynamically increase and decrease the resources allocated to the cloud service.
The advancement in the cloud leads to the transfer of the applications from the devices to the cloud that resulted in unparalleled problems. In the traditional system, the applications were used by several users but with the cloud, it is now being used by a large group of users. The consumer market demands cloud applications that can be used 24 ×7 and from anywhere. The four main qualities of the cloud are required to create a robust infrastructure for cloud applications: Reliability, Scalability, and Availability. Reliability and Availability are the important assets of cloud, but Scalability has the highest priority because when there is fluctuation in the workload the cloud should be able to handle that by adding extra resources to compensate the usage requirement.
Many types of research in the field of the cloud have been taken as security in cloud applications. Misuse cases of cloud and test patterns for testing the applications that are based on clouds. The requirements for the scalability of the cloud.
PROBLEMS ASSOCIATED WITH CLOUD
Cloud computing is readily available for Scalability and is an easier way for users to utilize a large pool of virtualized resources that require dynamic provisioning for adjustment to a variable workload.
Firstly, it is important to define the term ‘Scalability’ and illustrate Cloud Scalability among 3 Cloud services.
The term Scalability can be illustrated as, the efficiency of a specific system that can fit a problem when its demand increases (no. of elements or objects, growing volumes of work /or suspectable to enlargement). Also, it can be described as ‘Service Scalability’ is a disintegrated property of a service that possesses an efficiency of handling an increasing amount of services without losing quality attributes. Enhancing Service Scalability should be done keeping the overall cost in mind. Another way to define it could be ‘Scaling the service to a pool or farm of services to meet the demand through replication and distribution of requests.
TYPES OF SCALING
A) REACTIVE SCALING
In terms of Cloud Computing, the Reactive Scaling is also known as an automatic scaler which listens for the request of cloud usage and adjusts the cloud capacity to optimize the working of cloud and reducing its cost. It is also very easy to use if the cloud provider is Amazon or Google. The automatic scaling provides the users with a way to configure the policies for scaling as per the source of the application.
Only those applications are available to be scaled which supports the application policy as defined by the user. The auto scaler provides the priorities for scaling and it is of 3 different types: Application availability, optimization in cost, and hybrid.
As the traffic on the cloud gets increased or decreased the auto scaler will be triggered and do its work of scaling up the resources of cloud or scaling down the resources of the cloud. The threshold value is also set by the user of cloud and auto scaler ensures if any fluctuation occurs and the traffic or load increase or decrease beyond the point of the threshold the optimization needs to be done.
B) PROACTIVE SCALING
Proactive Scaling is also referred to as scheduling scaling. It is the scaling of cloud applications based on the traffic that is likely to appear in the upcoming time. It can be easily understood by the following example: If one cloud application is used in the weekends more than the weekdays then proactive scaling is used. At a given time the cloud application will automatically get the resources that are set by the cloud consumer. It is very useful for situations where the cloud consumer knows about traffic timing.
C) PREDICTIVE SCALING
Predictive Scaling uses Machine Learning techniques to predict the amount of traffic/load that will occur on the website in the future. Machine Learning algorithms use daily visitors’ records and the engagement of users with the cloud application as a training example.
To scale the cloud resources there are three different types of scaling techniques are available: Horizontal Scaling, Vertical Scaling, and Diagonal Scaling.
A) HORIZONTAL SCALING
Horizontal Scaling means additional of new components to scale up the system. These components are in the form of hardware. It is one of the most recommended and used techniques in the industries because when there is the usage of extra hardware i.e. additional storage hardware, the system can handle it in the situations of partial system failure. It is also popular because low-cost hardware can be used to create a robust system.
The advantage of using Horizontal Scaling is that it increases the performance in small steps and the investment required to upgrade is less. The drawback of this technique is the use of software to handle the data distribution. Terms of Cloud Computing, the Reactive Scaling is also known as an automatic scaler which listens for the request of cloud usage and adjusts the cloud capacity to optimize the working of cloud and reducing its cost. It is also very easy to use if the cloud provider is Amazon or Google. The automatic scaling provides the users with a way to configure the policies for scaling as per the source of the application. Only those applications are available to be scaled which supports the application policy as defined by the user. The auto scaler provides the priorities for scaling and it is of 3 different types: Application availability, optimization in cost, and hybrid.
B) VERTICAL SCALING
In vertical scaling one single component gets upgraded with the addition of extra resources. Installing extra RAM, storage, or processing power to the system is the illustrated example of Vertical Scaling. In new data storage technology, Horizontal Scaling is preferred because modifying the default configuration of the component and maintaining it for the use is quite difficult than the normal addition of extra component.
The advantage of Vertical Scaling is that it is fast to increase the number of resources within a single machine. The drawbacks are that the system should have more power so that it can handle the workload that will occur in the upcoming time.
Vertical Scaling is useful for the products that are available in the mid-range and it is also useful for small-scale companies.
C) DIAGONAL SCALING
Diagonal Scaling is the perfect balance of both Horizontal and Vertical Scaling. It contains the technologies of both techniques. It is widely in the servers because the cloud servers’ consumers can easily vertically scale up the component to the max limit and then simply clone the configuration to the new servers which come under Horizontal Scaling.
The Advantage of Diagonal Scaling is that it can be used as both Horizontal and Vertical Scaling. A robust system can be built using the addition of extra components and previous components can be upgraded to handle the workloads.
Cloud computing is on its verge because of the development in the field of storage devices as well as on the internet. Using this technology helped the companies to provide their services spectacularly. Many procedures are required in cloud computing and cloud scalability is one of the important procedures which made the use of cloud very efficient and increased its performance.