Advances in Computing 2017, 7(2): 28-34 DOI: 10.5923/j.ac.20170702.04 Survey on Various Load Balancing Techniques in Cloud Computing Athokpam Bikramjit Singh 1 , Sathyendra Bhat J. 1,* , Ragesh Raju 1 , Rio D’Souza 2 1 Department of Computer Applications, St Joseph Engineering College, Mangaluru, India 2 Department of Computer Science and Engineering, St Joseph Engineering College, Mangaluru, India Abstract Load Balancing is one of the most significant concepts in distributed environments. As Cloud Computing is considered to be one of the best platforms that gives storage of data at a minimal cost and is accessible all the time over the internet, load balancing for the cloud computing has turned into a very interesting and important study area. Load balancing aims at high user satisfaction and usage of resource ratio by guaranteeing a proficient and reasonable allocation of each computing resource. There are numerous difficulties in load balancing techniques such as security, fault tolerance etc which are prevalent in modern cloud computing environments. Many researchers have proposed several techniques to enhance load balancing and this paper too, portrays an overview on load balancing schemes in cloud environments. We explore the diverse types of algorithms that are proposed by a number of researchers to solve the problem of load balancing in cloud computing. Keywords Cloud Computing, Load Balancing 1. Introduction Cloud is the cluster of distributed computers that provides on-demand computational resources over a network. Cloud computing is becoming an advanced technology in recent years. It is conceptually distributed system where computing resources distributed through the network (Cloud) and services pooled together to provide the users on pay-as-needed basis. Cloud Computing provides everything as a service and are deployed as public, private, community, and hybrid clouds. The three basic service layers of cloud computing are: Software as a Service (SaaS), where the user does not need to manage the installation and configuration of any hardware or software, such as Google Online office, Google Docs, Email cloud, etc; Platform as a Service (PaaS), where a service is a delivery of a computing platform over the web where users can create and install their own applications as they need. Configuration of computing platform and server is managed by the vendor or cloud provider. Example of PaaS is Google App Engine. Infrastructure as a Service (IaaS), where servers, software, and network equipment is provided as an on-demand service by the cloud provider [1]. The main function of sharing resources, software, information through the internet are the main interest in cloud computing with an aim to reduce capital and * Corresponding author: sathyendrab@sjec.ac.in (Sathyendra Bhat J.) Published online at http://journal.sapub.org/ac Copyright © 2017 Scientific & Academic Publishing. All Rights Reserved operational cost, better performance in terms of response time and data processing time, maintain the system constancy and to accommodate future adaptation of the system. So there are various technical challenges that need to be addressed like Virtual Machine (VM) relocation, server consolidation, fault tolerance, high availability and scalability. But the central issue is the load balancing [2, 3]. It is the mechanism of spreading the load among various nodes of a distributed system to improve both resource deployment and job response time while also avoiding a situation where some of the nodes are having a huge amount of load while other nodes are doing nothing or idle with very little work. It also ensures that all the processor in the system or each node in the network does approximately the equal amount of work at any instant of time [4, 5]. The goal of load balancing is to improve the performance by balancing the load among the various resources (network links, central processing units, disk drives, etc.) to achieve optimal resource utilization, maximum throughput, maximum response time, and to avoid overload. Below Figure 1 shows the block diagram of cloud architecture [10]. 2. Classification of Load Balancing Algorithms Load balancing algorithms can be broadly classified into two types: Static algorithms and Dynamic algorithms. In Static Scheduling the assignment of tasks to processors is done before program execution begins i.e. in compile time. Scheduling decision is based on information about task execution times, processing resources, etc., which are