Cloud Computing can be defined as the use and access of multiple server based computational resources via a digital network (WAN).Cloud users may access the resources using computer note book, pad computer, smart phone, or other device. In cloud computing applications are provided and managed by the cloud server and data is also stored remotely in cloud configuration. Load balancing ensures that all the processor in the system or every node in the network does approximately the equal amount of work at any instant of time.
Cloud provides resources over Internet using virtualization technology, multi-tenancy, web services, etc. Virtualization provides abstraction of independent hardware access to each virtual machine. Multi-tenancy allows the same software platform to be shared by multiple applications. Multi-tenancy is important for developing software as a service application. Applications communicate over the Internet using web services .
Load balancing can be one of the central issues in cloud computing. It is a mechanism that distributes the dynamic local workload evenly across all the nodes in the whole cloud to avoid a situation where some nodes are heavily loaded while others are idle or doing little work.
1.2 Service Models of Cloud
â¢ Platform as a Service (PaaS): Cloud providers provide a computing platform typically including operating system, programming language execution environment (such as Java, Python, Go) database, and web server.
â¢ Software as Service: In this model, cloud providers install and operate application software in the cloud and cloud users access the software from browser/client interface.
â¢ Infrastructure as a Service (IaaS): Cloud provider offer computers as virtual machines and other resources.
Load balancing is the important concept in network. The load balancer accepts multiple requests from the client and distributing each of them across multiple computers or network devices based on how busy the computer or network device is. Load balancing helps to prevent a server or network device from getting overwhelmed with requests and helps to distribute the work. For example the client can send application request to the server at that time the server over loaded in another process the current process is wait for some time till the serve is idle. Here the client can wait. To avoid this first we check the utilization of the server and process the client request. The CPU utilization can properly do by load balancing algorithm. The load balancing algorithm which is dynamic in nature does not consider the previous state or behavior of the system, that is, it depends on the present behavior of the system.
1.3 Goals of Load Balancing
â¢ To improve the performance substantially
â¢ To have a backup plan in case the system fails even partially
â¢ To maintain the system stability
â¢ To accommodate future modification in the system.
1.4 Load Balancing Challenges in the Cloud Computing
Although cloud computing has been widely adopted. Research in cloud computing is still in its early stages, and some scientific challenges remain unsolved by the scientific community, particularly load balancing challenges:
â¢ Automated service provisioning: A key feature of cloud computing is elasticity; resources can be allocated or released automatically. How then can we use or release the resources of the cloud, by keeping the same performance as traditional systems and using optimal resources?
â¢ Virtual Machines Migration: With virtualization, an entire machine can be seen as a file or set of files, to unload a physical machine heavily loaded, it is possible to move a virtual machine between physical machines. The main objective is to distribute the load in a datacenter or set of datacenters.
â¢ Energy Management: The benefits that advocate the adoption of the cloud is the economy of scale. Energy saving is a key point that allows a global economy where a set of global resources will be supported by reduced providers rather that each one has its own resources.
â¢ Stored data management: In the last decade data stored across the network has an exponential increase even for companies by outsourcing their data storage or for individuals, the management of data storage or for individuals, the management of data storage becomes a major challenge for cloud computing.
1.5 Problem Statement
In cloud computing environment allocation of resource plays an important role. if resource are not properly allocated the high load on few servers and other servers with few load will lead to more energy consumption as cloud is scalable from two servers to 1000s of servers or more than that it is not possible to deploy and test the cloud to analyze the resource allocation which is biggest problem .So the need of simulators arises to test the cloud as per our need which save time, cost, energy.
1.5.1 System Design Model
The system model, consist of a virtual servers and client accessing from the server.
A resource allocation management process is required to avoid underutilization or overutilization of the resources which may affect the services of the cloud. Some of the jobs may be rejected due to the overcrowding for the virtual machines by the current jobs in the cloud system. Resource allocation and Efficient scheduling is a precarious characteristic of cloud computing based on which the performance of the system is evaluated.