s-cube lp: multi-layer monitoring and adaptation of service based applications

34
www.s-cube-network.eu S-Cube Learning Package Cross-layer Adaptation: Multi-layer Monitoring and Adaptation of Service Based Applications Fondazione Bruno Kessler (FBK), University of Stuttgart (USTUTT), Politecnico di Milano (Polimi), MTA Sztaki (SZTAKI) Annapaola Marconi, FBK

Upload: virtual-campus

Post on 18-Nov-2014

787 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

www.s-cube-network.eu

S-Cube Learning Package

Cross-layer Adaptation:

Multi-layer Monitoring and Adaptation of Service Based Applications

Fondazione Bruno Kessler (FBK),

University of Stuttgart (USTUTT),

Politecnico di Milano (Polimi),

MTA Sztaki (SZTAKI)

Annapaola Marconi, FBK

Page 2: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Categorization

S-Cube

Cross-layer Adaptation

Multi-layer Monitoring and Adaptation of

Service Based Applications

Adaptation and Monitoring Principles,

Techniques and Methodologies for SBAs

Page 3: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 4: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Service-based applications are multi-layered in nature, as we tend to

build software as a service on top of infrastructure as a service.

Adaptation and monitoring goal:

Observe different quality values

corresponding to the specified

requirements (KPI, PPM, SLAs),

and, in case of the violation of the

target values,

Adapt the running business process

(or future instances) so the violation

is either prevented or corrected.

Problem Description

Page 5: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Problem Description

Most existing SOA monitoring and adaptation techniques address

layer-specific issues. These techniques used in isolation, cannot

deal with real-world domains:

1. The violation of the high-level SBA requirements may be motivated by

different factors and at different layers and components. Given the

complexity of the application it is not possible to immediately discover

which specific element caused the overall quality degrade.

2. Even if the problem is identified, it may not be clear whether the

associated adaptation action is suitable. Indeed, the adaptations should

be analyzed with respect to the impact they may have on other elements

of the SBA and on the other requirements.

Multi-layer monitoring and adaptation is essential in

truly understanding problems and in developing

comprehensive solutions.

Page 6: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 7: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Multi-layer SBA Framework Overview

1. Monitoring and Correlation

2. Analysis of adaptation needs

3. Identification of Multi-layer Strategies

4. Adaptation enactment

We propose an integrated framework that allows for the installation of multi-

layered control loops in service-based systems.

Page 8: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Multi-layer SBA Framework Overview

1. Monitoring and Correlation

2. Analysis of adaptation needs

3. Identification of Multi-layer Strategies

4. Adaptation enactment

1. Monitoring and correlation: reveals correlations between the

observed software and infrastructure level events

Page 9: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Multi-layer SBA Framework Overview

1. Monitoring and Correlation

2. Analysis of adaptation needs

3. Identification of Multi-layer Strategies

4. Adaptation enactment

2. Analysis of adaptation needs: identifies anomalous situations

and pinpoints the parts of the architecture that needs to adapt

Page 10: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Multi-layer SBA Framework Overview

1. Monitoring and Correlation

2. Analysis of adaptation needs

3. Identification of Multi-layer Strategies

4. Adaptation enactment

3. Identification of multi-layer strategies: generates adaptation

strategies with regard to the currently available adaptation

capabilities of the system

Page 11: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Multi-layer SBA Framework Overview

1. Monitoring and Correlation

2. Analysis of adaptation needs

3. Identification of Multi-layer Strategies

4. Adaptation enactment

4. Adaptation Enactment: enacts the generated adaptation strategy

Page 12: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Multi-layer SBA Framework

1

2

3 4

The framework integrates layer specific monitoring and adaptation

techniques developed within S-Cube

Page 13: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 14: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Monitoring and Correlation

Goal: reveal correlations between what is being observed at the software

and at the infrastructure layer to enable global system reasoning

Sensors deployed throughout the system capture run-time data about its

software (Dynamo/Astro) and infrastructural (Laysi) elements.

Dynamo/Astro provides means for gathering events regarding either process

internal state, or context data

Laysi produces low-level infrastructure events and can be queried to better

understand how services are assigned to hosts.

The collected data are then aggregated and manipulated (EcoWare) to

produce higher-level correlated data under the form of general and domain-

specific metrics.

Possible to use predefined aggregate metrics such as Reliability, Average

Response Time, or Rate, or domain-specific aggregates whose semantics is

expressed using the Esper event processing language.

Page 15: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Monitoring and Correlation (2)

• Dynamo Interrupt samplers: interrupt the process and gather information

• Dynamo Polling samplers: no process interruption, gather information through polling

• Invocation Monitor: produces low-level events through the observation of the

infrastructure managed by LAYSI

• Information Collector: aggregates and caches the actual status of the service

infrastructure

Data sources available through

Dynamo/Astro, Laysi, and EcoWare

Page 16: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Monitoring and Correlation (3)

Technical integration of Dynamo/Astro, Laysi, and EcoWare, achieved using

a Siena publish and subscribe event bus.

Input and output adapters used to align Dynamo, Laysi, and the event

processors with a normalized message format

Page 17: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Monitoring and Correlation (4) Resources

Dynamo/Astro and EcoWare:

Laysi

L. Baresi and S. Guinea. Self-Supervising BPEL Processes. IEEE Trans. Software Engineering, 37(2):247–

263, 2011.

L. Baresi, M. Caporuscio, C. Ghezzi, and S. Guinea. Model-Driven Management of Services. In Proc. ECOWS

2010, pages 147–154.

L. Baresi, S. Guinea, M. Pistore, M. Trainotti: Dynamo + Astro: An Integrated Approach for BPEL Monitoring.

In Proc. ICWS 2009: 230-237.

L. Baresi, S. Guinea, R. Kazhamiakin, M. Pistore: An Integrated Approach for the Run-Time Monitoring of

BPEL Orchestrations. In Proc. ServiceWave 2008: 1-12

F. Barbon, P. Traverso, M. Pistore, M. Trainotti: Run-Time Monitoring of Instances and Classes of Web Service

Compositions. In Proc. ICWS 2006: 63-71

A. Kertesz, G. Kecskemeti, and I. Brandic. Autonomic SLA-Aware Service Virtualization for Distributed

Systems. In Proceedings of the 19th International Euromicro Conference on Parallel, Distributed and Network-

based Processing, PDP, pages 503–510, 2011.

Virtual Campus learning package:

SLA based Service infrastructures in the context of multi layered adaptation (SZTAKI)

Page 18: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 19: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Analysis of Adaptation needs

Monitoring and correlation produce simple and complex metrics that need to

be evaluated.

A Key Performance Indicator consists of one of these metrics (e.g., overall

process duration) and a target value function which maps values of that

metric to a set of categories (e.g., process duration < 3 days is “good”,

otherwise “bad”).

Goal: if monitoring shows that many process instances have bad KPI

performance, we need to analyze the influential factors that lead to these

bad KPI values

Page 20: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Analysis of Adaptation needs (2)

Influential factor analysis tool:

Receives the (software, infrastructure, aggregated) metric values for a set of process instances within a

certain time period

Uses machine learning techniques (decision trees) to find out the relations between a set of metrics (potential

influential factors) and the KPI value based on historical process instances

Adaptation needs analysis tool:

Receives the decision tree and an adaptation actions model (manually defined) specifying a set of adaptation

actions (e.g., service substitution, process structure change) and how they affects one or more metrics

Extracts the paths which lead to bad KPI values from the tree and combines them with available adaptation

actions which can improve the corresponding metrics on the path, obtaining different sets of potential

adaptation actions

Page 21: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Analysis of Adaptation needs (3) Resources

Background papers:

Virtual Campus Learning Package

B. Wetzstein, P. Leitner, F. Rosenberg, S. Dustdar, and F. Leymann. Identifying Influential Factors of Business

Process Performance using Dependency Analysis. Enterprise IS, 5(1):79–98, 2011.

R. Kazhamiakin, B. Wetzstein, D. Karastoyanova, M. Pistore, and F. Leymann. Adaptation of Service-Based

Applications Based on Process Quality Factor Analysis. In ICSOC/ServiceWave Workshops, pages 395{404,

2010.

B. Wetzstein, P. Leitner, F. Rosenberg, I. Brandic, S. Dustdar, F. Leymann: Monitoring and Analyzing Influential

Factors of Business Process Performance. EDOC 2009: 141-150

P. Leitner, B. Wetzstein, F. Rosenberg, A. Michlmayr, S. Dustdar, F. Leymann: Runtime Prediction of Service

Level Agreement Violations for Composite Services. ICSOC/ServiceWave Workshops 2009: 176-186

Analyzing Business Process Performance Using KPI Dependency Analysis” as the

name of the learning package.

Page 22: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 23: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Identification of Multi-layer Strategies

Goal: Manage the impact of adaptation actions across the system's

multiple layers.

This is achieved by the Cross Layer Adaptation Manager (CLAM) in two ways :

Identifying the application components that are affected by the adaptation actions

Proposing an adaptation strategy that properly coordinates the layer-specific

adaptation capabilities

To achieve its goal CLAM relies on

A model of the SBA containing the current configuration of the system components

(e.g. business processes, services, infrastructure resources) and their dependencies

A set of pluggable checkers, each associated with a specific application concern

(e.g. service composition, service performances, infrastructure resources), to

analyze whether the updated application model is compatible with the concern's

requirements.

Page 24: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Identification of Multi-layer Strategies (2)

SBA Model Updater

Whenever a new set of adaptation actions is received from the Quality Factor Analysis tool, the SBA Model Updater

module updates the current application model by applying the received adaptation actions

Cross-Layer Rule Engine

Detects the SBA components affected by the adaptation and identifies, through a set of predefined rules, the associated

adaptation checkers.

Each checker is responsible for checking local constraint violations and for searching local solutions to the problem. This

analysis may result in a new adaptation action to be triggered. This is determined through the interaction with a set of

pluggable application-specific adaptation capabilities.

The Cross-layer Rule Engine uses each checker's outcome to progressively update the adaptation strategy tree.

Adaptation Strategy Selector

In case of multiple available adaptation strategies (paths in the adaptation tree), selects the best adaptation strategy

according to a set of predefined metrics

Page 25: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Identification of Multi-layer Strategies (3) Resources

Background papers:

A. Zengin, R. Kazhamiakin, and M. Pistore. CLAM: Cross-layer Management of Adaptation Decisions for

Service-Based Applications. In Proc. ICWS, 2011.

R. Kazhamiakin, M. Pistore, A. Zengin: Cross-Layer Adaptation and Monitoring of Service-Based Applications.

ICSOC/ServiceWave Workshops 2009: 325-334

Page 26: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 27: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Adaptation Enactment

Goal: Apply the actions of the identified adaptation strategy to the SBA

This is achieved by DyBPEL, at the software layer, and by LAYSI, at the

infrastructure layer :

DyBPEL

Process runtime modifier: Intercepts running processes and modifies them (i) on its

BPEL activities, (ii) on its partner-link set and (iii) on its internal state.

Static BPEL modifier: For more extensive process restructuring a new modified XML

definition is created for the process

LAYSI

Negotiation bootstrapping – for new negotiation techniques

Service broker replacement – for handling broker failures

Deployment of new service instances – for high demand situations

Page 28: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 29: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Evaluation CT-Scan Scenario

Legend:

CSDA – cross sectional data acquisition

FTR – frontal tomographic reconstruction

STR – sagittal tomographic reconstruction

ATR – axial tomographic reconstruction

3D – volumetric information

PACS – picture archiving and communication

The approach has been evaluated on a medical imaging procedure for

Computed Tomography (CT) Scans, an e-Health scenario characterized by

strong dependencies between the software layer and infrastructural resources

For more details on the CT-Scan application scenario, please refer to

S. Guinea, G. Kecskemeti, A. Marconi, and B.Wetzstein. Multi-layered Monitoring and Adaptation. Accepted as

full research paper at ICSOC 2011.

Page 30: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Learning Package Overview

Problem Description

Multi-layer SBA Framework

Monitoring and correlation

Analysis of adaptation needs

Identification of multi-layer strategies

Adaptation Enactment

Evaluation

Conclusions

Page 31: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Conclusions and Future work

Multi-layer adaptation and monitoring approach for SBA:

The approach is based on a variant of the well-known MAPE

(Monitor, Analyze, Plan and Execute) control loops that are typical

in autonomic systems.

All the steps in the control loop acknowledge the multi-layered

nature of the system, ensuring that we always reason holistically,

and adapt the system in a cross-layered and coordinated fashion.

The proposed framework integrates a set of adaptation and

monitoring techniques, mechanisms, and tools developed within

the S-Cube project

The approach has been evaluated on the e-Health CT-Scan

scenario.

Page 32: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Conclusions and Future work

Future work includes:

Evaluate the approach through new application scenarios.

Add new adaptation capabilities and adaptation enacting techniques.

Integrate new layers, such as a platforms, typically seen in cloud

computing setups, and business layers. This will require the development

of new specialized monitors and adaptations

Study the feasibility of managing different kinds of KPI constraints.

Page 33: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Further Reading

S. Guinea, G. Kecskemeti, A. Marconi, and B.Wetzstein. Multi-layered Monitoring and Adaptation. Accepted as full

reserach paper at ICSOC 2011.

L. Baresi and S. Guinea. Self-Supervising BPEL Processes. IEEE Trans. Software Engineering, 37(2):247–263, 2011.

L. Baresi, M. Caporuscio, C. Ghezzi, and S. Guinea. Model-Driven Management of Services. In Proc. ECOWS 2010,

pages 147–154.

L. Baresi, S. Guinea, M. Pistore, M. Trainotti: Dynamo + Astro: An Integrated Approach for BPEL Monitoring. In Proc.

ICWS 2009: 230-237.

A. Kertesz, G. Kecskemeti, and I. Brandic. Autonomic SLA-Aware Service Virtualization for Distributed Systems. In

Proceedings of the 19th International Euromicro Conference on Parallel, Distributed and Network-based Processing,

PDP, pages 503–510, 2011.

B. Wetzstein, P. Leitner, F. Rosenberg, S. Dustdar, and F. Leymann. Identifying Influential Factors of Business Process

Performance using Dependency Analysis. Enterprise IS, 5(1):79–98, 2011.

R. Kazhamiakin, B. Wetzstein, D. Karastoyanova, M. Pistore, and F. Leymann. Adaptation of Service-Based

Applications Based on Process Quality Factor Analysis. In ICSOC/ServiceWave Workshops, pages 395{404, 2010.

A. Zengin, R. Kazhamiakin, and M. Pistore. CLAM: Cross-layer Management of Adaptation Decisions for Service-

Based Applications. In Proc. ICWS, 2011.

R. Kazhamiakin, M. Pistore, A. Zengin: Cross-Layer Adaptation and Monitoring of Service-Based Applications.

ICSOC/ServiceWave Workshops 2009: 325-334

Page 34: S-CUBE LP: Multi-layer Monitoring and Adaptation of Service Based Applications

Acknowledgements

The research leading to these results has

received funding from the European

Community’s Seventh Framework

Programme [FP7/2007-2013] under grant

agreement 215483 (S-Cube).