Cloud computing is a term, which involves virtualization, distributed computing, software and web services. Cloud computing uses network of large groups of servers typically running low-cost consumer PC technology with specialized connections to spread data processing jobs across them. The distributed system contains large pools of system that are joint together to perform a specified goal. Often the virtualization techniques are used to maximize the power of cloud computing. Load balancing is the process of distributing the load among various nodes of a distributed system to improve both resource utilization and job response time while also avoiding a situation where some of the nodes are heavily loaded while other nodes are idle or doing very little work.