A coordinator for scaling elastic applications across multiple clouds
Cloud computing allows customers to dynamically scale their applications, software platforms, and hardware infrastructures according to negotiated Service Level Agreements (SLAs). However, resources available in a single Cloud data center are limited, thus if a large demand for an elastic application is observed in a given time, a Cloud provider will not be able to deliver uniform Quality of Service (QoS) to handle such a demand and SLAs may be violated. One approach that can be taken to avoid such a scenario is enabling further growing of the application by scaling it across multiple, independent Cloud data centers, following market-based trading and negotiation of resources. This approach, as envisioned in the InterCloud project, is realized by agents called Cloud Coordinators and allows for an increase in performance, reliability, and scalability of elastic applications. In this paper, we propose both an architecture for such Cloud Coordinator and an extensible design that allows its adoption in different public and private Clouds. An evaluation of the Cloud Coordinator prototype running in a small-scale scenario shows the effectiveness of the proposed approach and its impact on elastic applications.
elastic applications cloud computing intercloud infrastructure as a service