SLO-Driven Monitoring and Adaptation of Multi-Cloud Service-Based Applications

SLO-Driven Monitoring and Adaptation of Multi-Cloud Service-Based Applications

Chrysostomos Zeginis, Kyriakos Kritikos, Dimitris Plexousakis
Copyright: © 2018 |Pages: 23
DOI: 10.4018/978-1-5225-5951-1.ch003
(Individual Chapters)
No Current Special Offers


Cloud computing is an emerging technology that attracts the attention of an increasing number of organizations that are willing to virtualize their infrastructure. Towards this direction, enterprises can deploy their applications on different public virtual machines (VMs), in order to reduce their operational costs, as well as optimize the performance of the offered applications. In such heterogeneous multi-cloud environments, the need for monitoring the quality of (a) the acquired resources, (b) the services offered to the final users, and (c) the offered service-based processes, and adapting them has come into force. Current research approaches addressing these areas are limited and most of them target a subset of these offerings. This chapter aims at proposing a novel event-based approach for cross-layer monitoring and adaptation of service-based applications (SBAs) deployed on multiple clouds. The proposed approach is empirically evaluated based on an invoice management application.
Chapter Preview


Service-Oriented Architectures (SOAs) concept emerged in the late 90s, introducing Web services as a new means for delivering software over a network. This architecture paradigm has been adopted, as it provides many opportunities for businesses to automate their processes, by providing services to either end-users or to other services distributed in a network, via published and discoverable interfaces. The evolution of Web services indicates that they are moving beyond the simple exchange of information to the concept of combining existing or new functionality in the form of a service into a complex service-based application (SBA). Consequently, businesses will be able to create composite SBAs, also integrating back-end and older technology systems underlying local or remote applications by wrapping them in the form of services.

With the advent of the new century, Cloud computing has emerged as a new paradigm for delivering “as-a-service” offerings to end users: (1) Software-as-a-Service (SaaS) is the software delivery model adopted in Cloud computing, where web-based applications are made available to users on demand via the Internet from a Cloud provider; (2) Platform-as-a-Service (PaaS) provides the platform to the application owners to develop and deploy their applications on; and (3) Infrastructure-as-a-Service (IaaS) is a resource provisioning model allowing Cloud providers to outsource the resources, i.e., Virtual Machines (VMs), needed by SaaS services.

Furthermore, Cloud computing enables flexibility and elasticity via the flexible resource management that enables to acquire additional resources on demand, as needed by the current situation. In addition, it provides opportunities for optimising the quality and cost of the SBA by selecting the best possible offerings (at different abstraction levels) which might be supplied by different cloud providers. The main benefits of this kind of multi-Cloud deployment (Baryannis, G.; Garefalakis, P.; Kritikos, K.; Magoutis, K.; Papaioannou, A.; Plexousakis, D.; Zeginis, C., 2013) are the following: (1) vendor lock-in is avoided; (2) different application requirements are better satisfied by different Cloud providers, offering special features (e.g., SSD drives, dynamically configurable VMs, better security services); (3) the deployment cost is optimized exploiting the Cloud providers’ variant cost policies; (4) ability to decide about the optimal placement of application components (e.g., cross-talk components can be deployed on the same geographical zone or even VM to minimize communication overhead but independent components can be deployed on the most suitable cloud).

While the deployment of applications over multiple, heterogeneous Cloud providers offers more flexibility, certainly not all applications are expected to benefit from it: For example, applications whose different resources exhibit significant cross-talk could suffer from excessive Internet charges as well as performance issues (high network latency across different Clouds). On the other hand, decomposing complex applications at increasingly coarser boundaries may eventually reach the service interfaces between organizations. Reasoning about effective Multi-Cloud deployment at this level requires capturing component dependencies in application models. It is imperative that such distributed hosting environments, where multiple Clouds produce many events across functional layers, exhibit efficient cross-layer monitoring and adaptation mechanisms combining such events and mapping them to suitable adaptation strategies. In (Zeginis, C.; Kritikos, K.; Garefalakis, P.; Konsolaki, K.; Magoutis, K.; Plexousakis, D., 2012) we have thoroughly investigated the need for cross-layer adaptation. Current techniques are mainly fragmented by considering a single SBA layer, while the few cross-layer ones (Popescu, Staikopoulos, Liu, Brogi, & Clarke, 2010) (Zengin, Marconi, & Pistore, 2011) do not consider multi-Cloud aspects. Thus, the need for a cross-layer and multi-Cloud monitoring and adaptation framework emerges.

Complete Chapter List

Search this Book: