Abstract |
Service-Oriented Architecture (SOA) emerged in the late 90s, introducing Web
services as a new means for delivering software over a network. Nowadays, it
provides many opportunities for businesses to automate their processes, by providing
services to either end-user applications or to other services distributed in
a network, via published and discoverable interfaces. The success of many Web
service related projects has shown that existing technologies enables implementing
a true SOA. However, the evolution of Web services indicates that they are
moving beyond the simple exchange of information to the concept of combining
existing and new applications in order to provide more complex Service-based
Applications (SBAs). Consequently, businesses will be able to create customizable
composite SBAs, also integrating back-end and older technology systems found
in local or remote applications.
With the advent of the new century, a number of additional pieces of the computing
“puzzle” fell into place to complement SOA and reflect the new trends
introduced by the Internet of things (IoT), which refers to the interconnection of
uniquely identifiable embedded computing devices with the existing Internet infrastructure.
Cloud computing has emerged as a new paradigm for delivering “asa-service” offerings to the end users: (i) Software-as-a-Service (SaaS) is the software
delivery model adopted in Cloud computing, where Web services are made available
to users on demand via the Internet from a Cloud provider, (ii) Platform-asa-Service (PaaS) provides the platform to the application owners to deploy their
applications on, and (iii) Infrastructure-as-a-Service (IaaS) is a resource provision-ing model allowing Cloud providers to outsource equipment, i.e. Virtual Machines
(VMs), required by SaaS and PaaS.
The dynamic nature of Web services and the vulnerable execution environment
in which they perform requires that their functional and non-functional
(Quality of Service (QoS)) characteristics should be monitored. The monitoring
process is essential in order to gain a clear view of how they perform within
their operational environment, take management decisions and perform adaptation
actions to modify and adjust their behavior, according to the new posed
requirements. This dissertation addresses monitoring and adaptation of SBAs deployed
on multiple Clouds, introducing an Event based Cross-layer Monitoring
and Adaptation Framework, named ECMAF. As SOA and Cloud architecture comprises
a number of functional layers, including various application components,
spanning from abstract business processes to concrete infrastructure resources,
monitoring and adaptation should take into account the layers’ dependencies in
order to efficiently correlate the monitoring events and promptly determine the
most suitable adaptation actions that should be triggered. The proposed approach
takes into consideration all the Cloud and SOA layers comprising a multi-Cloud
SBA.
To investigate the applicability of ECMAF and demonstrate its benefits, we
have implemented and deployed a traffic management application on a multi-
Cloud setup. This application has been suitably designed to optimally perform on
multiple Clouds offering different storage and computational power. The Clouds
used for the SBA’s deployment exhibit a number of dependencies among the involved
components across all the SOA and Cloud layers, captured in a component
meta-model, which has been especially designed to model a snapshot of
the current SBA deployment status and the dependencies of the active components.
These dependencies are exploited by the ECMAF framework in order to
extract valid event patterns causing specific Service-level Objectives (SLO) violations,
which are further processed to form more complex ones, mapping to
suitable adaptation strategies. Moreover, these dependencies are also enriched
at run-time to reflect new behaviors of the SBA, dictated by a context or an individual
component’s status modification. Additional meta-models for validating
the monitoring events, as well as the adaptation strategies supported by the ECMAF’s
incorporated adaptation engine, are introduced.
Experimental evaluation is performed using synthetically generated datasets
including various event patterns, investigating the ECMAF’s performance and
scalability, in terms of execution time and throughput, as well as optimality and
accuracy with regards to the produced adaptation strategy. The results show excellent
agreement with theoretical the main work assumptions. In particular, the
performance of the pattern discovery process mainly relies on the metric’s definition,
which can be adjusted to reflect the optimal time interval dictated by the
pattern discovery process, so as to produce the most effective proactive adaptation
results. As far as the performance results are concerned, they show that the
ECMAF’s execution time depends mostly on the considered monitored metrics, as
well as on the deployment’s scope (single or multi-Cloud) and SBA’s size (i.e. the
number of individual services). The accuracy and the performance of the adaptation
process (mainly the scaling actions) are mainly based on the image size,
the location and the number of the provisioned VMs, but mostly depends on the
expertise of the adaptation strategy designer. Finally, the overall ECMAF’s evaluation
results reveal efficient handling of the detected monitoring events, thus
enabling the successful addressing of the individual SLO violations (i.e. reactive
adaptation), as well as of the discovered critical event patterns causing aggregate
metric’s violations (i.e. proactive adaptation).
|