Load Balancing in Cloud Computing Environment

Cloud computing has many advantages over traditional computing like scalability, elasticity, accessibility. Due to these advantages, it has gained popularity in the Information Technology industry. The popularity of cloud computing has forced all organizations (including Micro Small and Medium Enterprises) to move their businesses from traditional computing to cloud computing. This transition has increased cloud-based services worldwide. The worldwide cloud market is set to surpass $330 billion USD in the year 2020 and is expected to grow at a Compound Annual Growth Rate (CAGR) of 17.5% from 2020 to 2025. The growth in cloud adoption has resulted in a high surge of network traffic. Failure to handle this enormous traffic may result in reduced system performance, inefficient resource utilization, server outage. One of the solutions for these problems is cloud load balancers. The cloud load balancers improve system performance by distributing load among all available resources.The research work is carried out to build a new general load balancing algorithm and also extends the ability of another algorithm in the natural phenomena based category. Finally, the two new proposed algorithms are tested under the clustering environments.Popular algorithms like Throttled, Active Monitoring, etc. in the category general Load Balancing have drawbacks of longer search time and inefficient resource utilization. To decrease search time and improve resource utilization an algorithm named Capacity Based Load Balancing (CBLB) is proposed in the general category. The algorithm is implemented and analyzed using CloudSim simulator and Amazon Web Services (AWS) real cloud environments. In both environments, the performance is examined for homogeneous as well as heterogeneous setups. In both setups, the performance parameters makespan, average response time, and throughput are considered for the analysis of the results. The proposed algorithm is compared with the popular Throttled algorithm. Besides, the adaptability of the algorithm is tested for the varied number of Datacenters (DCs), a varied number of Virtual Machines (VMs), and varied capacity VMs. The CPU utilization of the algorithms is also checked by using the cloud watch of AWS to ensure effective utilization of resources. The proposed algorithm has shown better performance than the Throttled in both simulation and real cloud environments for all the parameters.The proposed CBLB algorithm is used to enhance the popular natural phenomena-based Artificial Bee Colony (ABC) algorithm. The performance of the enhanced ABC algorithm named ABC_CBLB is compared with the basic ABC algorithm. The experiments are carried out for homogeneous and heterogeneous setups in both CloudSim and AWS platforms. The performance is tested for the varied number of DCs and varied number of VM. In these experiments in addition to the parameters makespan, average response time, throughput, and CPU utilization, the average waiting time is considered. Under all variations and environments, ABC_CBLB has shown an improved performance compared to the basic ABC algorithm.Clustering is a technique that improves performance and resource utilization. Clustering allows parallel execution of cloudlets which in turn reduces total execution time and improves throughput. Hence, an attempt has been made to use clusters to improve the performance of the proposed CBLB and ABC_CBLB algorithms. The popular K-mean clustering algorithm is used to perform clustering. Clustered CBLB and ABC_CBLB are compared with the Throttled and ABC (both with and without a cluster). All the algorithms have shown significant improvement with the usage of a cluster in comparison to a non-clustered environment. The implementation of the algorithms is done in the CloudSim simulator. The simulation results are analyzed for the parameters makespan, throughput, and average response time. The optimal cluster number was identified by taking readings for different k-values of the K-mean. Additionally, the identified k-value was verified using the Elbow method. Further, the performance is also verified for the changed number of VMs. In addition to this, the performance of ABC_CBLB with clustering is compared with the existing algorithms Load Balancing based on Bayes and Clustering (LB_BC) and Load Balancing Resource Clustering (LB_RC). The proposed algorithms CBLB and ABC_CBLB have shown an improvement over the existing popular algorithms in both simulation and real cloud implementations. An attempt to use the clustering technique with these algorithms has also shown an improvement in the performance over existing algorithms.