On-demand resource provisioning makes cloud computing a cutting edge technology. All cloud service providers offer computing resources with their own interface type, instance type, and pricing policy, among other service features. A cloud-based service broker provides intermediation to seek appropriate service providers in terms a suitable trade-off between price and performance. On the other hand, load balancing among cloud resources ensures efficient use of a physical infrastructure, and at the same time, minimizes execution time. This makes service brokers and load balancing among the most important issues in cloud computing systems. This paper aims to propose three different cloud brokering algorithms, and a load balancing algorithm. A simulation-based deployment confirms that our proposed algorithms minimized the cost, and at the same time, witnessed gains in service performance.
The cloud consists of large data centers, or groups of large data centers, which may be located in one or multiple geographical regions where the cloud provides unlimited computing resources that are available to satisfy user demand. The cloud can be hosted by enterprises, governments and service providers (Bernstein et al., 2011, 2009). Content, storage and computing capable of providing services anywhere throughout the network are referred to as “Intercloud” (Bernstein and Vij, 2010). In an interoperability scenario, clouds must be able to detect each other to exchange information (Vecchiola et al., 2011). Cloud infrastructures are also represented by services that are not only used, but also installed, deployed or replicated, with the help of virtualization. These services are applied in complex business processes that further complicate the fulfillment of Service Level Agreements (SLAs). For example, due to the changing components, workloads, external conditions, hardware, and software failures, established SLAs may be violated. Frequent user interaction with the system during SLA negotiations and service executions (which are usually necessary in the case of failures) may pose a challenge to successful cloud Computing. Garg et al. (2014) propose a scheduling technique which considers SLAbased VM management with mix workload.
A promising use case of the ‘Intercloud vision’ was defined by Buyya et al. (2009), which involves market transactions via brokers. In such a use case, a broker entity is a mediator between the cloud consumer and multiple interoperable cloud providers, in order to support the former in selecting the provider, which better meets user requirements. Another value-added broker service is the easy deployment and management of a user's service, regardless of the selected provider, through a uniform interface. The evaluation of the broker on a real-world test bed is typically costand time-consuming, since a great volume of cloud resources is required to achieve realistic, reliable results. A more promising and cost-saving approach for the process of broker evaluation is the application of a simulation environment.
In this study, the researchers focused on load balancing among data centers and virtual machines; the limitations of efficient cloud load balancing motivated us to develop a novel load balancing algorithm. The proposed algorithm reduces overall processing and response times, since tasks are allocated to the available physical resources in an efficient manner. The proposed algorithm was found to outperform previously proposed algorithms. In this study, cloud brokering and load balancing algorithms for a cloud computing environment were proposed. A discussion of the simulation results of the three cloud brokering algorithms and the load balancing algorithm is also presented.
2. Related work
Many standard bodies are currently working to define common standards for cloud computing. These standards have been proposed by numerous cloud standard organizations. Cloud users currently face the challenge to select the appropriate cloud in order to satisfy their specific requirements. Using an intermediate cloud brokering service to find a specific provider that satisfies their requirements is a promising research direction (Jrad et al., 2012). The two primary underlying components of cloud brokering are resource provisioning and scheduling. Van den Bossche et al. (2010) propose a scheduling approach for a hybrid cloud that performs operations in terms of scalability, cost minimization and feasibility. Through binary integer programming, their approach supports users in their decision making process with partial automatization. The researchers also claim that they addressed the resource management problem first in hybrid clouds using this technique.
Wickremasinghe et al. (2010) propose the CloudAnalyst tool in order to model and evaluate real-life problems deployed in the cloud, exploiting a case study based on a social networking application. In their work, they reveal the manner in which a cloud service broker optimizes system resources based on applications in various geographic locations. Moreover, they proposed three Virtual Machine (VM) load balancing algorithms and two cloud brokering algorithms for their experiments on the CloudAnalyst tool.
Rochwerger et al. (2011) show that, although there is a lack of interoperability, among other limitations, in present technologies, federated clouds have a vast future prospective. It has also been demonstrated that efficient resource scheduling and provisioning definitely increase cloud brokering performance.
Ferreto et al. (2011) worked on resource management, which extends existing solutions of server consolidation. Their proposed solution defines a constraint that defines VM with variable capacity to be migrated and do not migrate VM with steady usage in order to minimize the usage of the physical server. Ferreto et al. (2011) called this approach dynamic consolidation with migration control. Their results show that, with this migration control system, data centers would be greatly benefited.
Tordsson et al. (2012) propose a cloud brokering architecture for VM management in a hybrid cloud computing environment. Tordsson et al. (2012) also propose an application placement optimization algorithm with the application of integer programming formulations that facilitate a price performance trade-off. The Aneka (Vecchiola et al., 2011) software platform involves the management of provisioned resources from clusters, grids and clouds. The researchers prove that Aneka supports Quality of Service (QoS) aware execution of controlled applications in crossbreed clouds. Experimental results of their work suggest that Aneka has the ability to allocate resources proficiently with the intention of a reduction in application execution time.
Calheiros et al. (2012) propose a cloud coordinator architecture that works in private and public cloud environments. This cloud coordinator represents brokers and data centers in the InterCloud marketplace, and is liable for resource negotiation management and publishing offers. The researchers discuss the impact on elastic applications and the effectiveness of their proposed architecture in a modest scenario.