In cloud computing, the load balancing is one of the major requirements. Load is nothing but of the amount of work that a system performs. Load can be classified as CPU load, memory size and network load. Load balancing is the process of dividing the task among various nodes of a distributed system to improve both resource utilization and job response time. Also avoiding a situation where some of the nodes are heavily loaded and others are idle. Load balancing ensures that every node in the network having equal amount of work (as per their capacity) at any instant of time. In this paper, they survey the existing load balancing algorithms for a cloud based environment.