Cloud computing is aprocess which provides resources based on the need of computer users. It is useful for all, from small computer users to large enterprises. In traditional computer system, data are stored in local servers which have lower capacity and lower CPU performances. Cloud services are based on datacenter which provides resources on demand with higher capacity, lowest response time and improved resource utilization. Each datacenter has many servers and virtual servers with different loads. Load balancing avoids resource overload and divides the traffic within servers. Load balancing is the main challenge in cloud computing, as it requires distributing the load between many nodes, while taking care that any of the nodes is neither overloaded nor under loaded. This paper provides algorithm for balancing load in cloud. The load can be of Memory, CPU or Network.