Autonomic Monitoring and Management of Component-based Services - - PowerPoint PPT Presentation

autonomic monitoring and management of component based
SMART_READER_LITE
LIVE PREVIEW

Autonomic Monitoring and Management of Component-based Services - - PowerPoint PPT Presentation

Autonomic Monitoring and Management of Component-based Services Cristian RUZ Th` ese dirig ee par Fran coise BAUDE, au sein de l equipe OASIS Jury Pr. Mireille BLAY-FORNARINO Pr esident du Jury Pr. Philippe LALANDA


slide-1
SLIDE 1

Autonomic Monitoring and Management of Component-based Services

Cristian RUZ

Th` ese dirig´ ee par Fran¸ coise BAUDE, au sein de l’´ equipe OASIS

Jury

  • Pr. Mireille BLAY-FORNARINO

Pr´ esident du Jury

  • Pr. Philippe LALANDA

Rapporteur

  • Pr. Lionel SEINTURIER

Rapporteur

  • Dr. Romain ROUVOY

Co-Rapporteur

  • Dr. Luc BELLISSARD

Examinateur

  • Pr. Fran¸

coise BAUDE Directeur de Th` ese

23 Juin 2011

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 1 / 52

slide-2
SLIDE 2

Structure

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 2 / 52

slide-3
SLIDE 3
  • 1. Introduction

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 3 / 52

slide-4
SLIDE 4
  • 1. Introduction

Motivation

Evolution in software construction Monolithic, centralized, stable applications Close world assumption Software changes slowly

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 4 / 52

slide-5
SLIDE 5
  • 1. Introduction

Motivation

Evolution in software construction Monolithic, centralized, stable applications Close world assumption Software changes slowly

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 4 / 52

slide-6
SLIDE 6
  • 1. Introduction

Motivation

Evolution in software construction Monolithic, centralized, stable applications Close world assumption Software changes slowly

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 4 / 52

slide-7
SLIDE 7
  • 1. Introduction

Motivation

Evolution in software construction Monolithic, centralized, stable applications Close world assumption Software changes slowly

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 4 / 52

slide-8
SLIDE 8
  • 1. Introduction

Motivation

Evolution in software construction Monolithic, centralized, stable applications Close world assumption Software changes slowly

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 4 / 52

slide-9
SLIDE 9
  • 1. Introduction

Motivation

Evolution in software construction Monolithic, centralized, stable applications Close world assumption Software changes slowly

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 4 / 52

slide-10
SLIDE 10
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-11
SLIDE 11
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-12
SLIDE 12
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-13
SLIDE 13
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-14
SLIDE 14
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-15
SLIDE 15
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-16
SLIDE 16
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-17
SLIDE 17
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-18
SLIDE 18
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-19
SLIDE 19
  • 1. Introduction

Motivation

Dynamic environment Decentralized, distributed, dynamic applications External conditions may change Software needs to dynamically react and adapt to changes

Complexity not easy for a human manager Autonomic adaptation

Heterogeneity and distribution

Transfer autonomic adaptation task to each element

Provider

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 5 / 52

slide-20
SLIDE 20
  • 2. Context

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 6 / 52

slide-21
SLIDE 21
  • 2. Context

Developing dynamic adaptable software

Component-based Software Development Development of independent pieces of code Encapsulated, reusable units Better adaptation to changing requirements Service-orientation Providers offers specific functionalities as a service Services are composable using standard means Facilitate the construction of new added-value applications Loosely coupled compositions of heterogeneous services

Printer Hotel Reservation Car Reservation Credit Card Billing Room Management Vacation Planner

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 7 / 52

slide-22
SLIDE 22
  • 2. Context

Developing dynamic adaptable software

Component-based Software Development Development of independent pieces of code Encapsulated, reusable units Better adaptation to changing requirements Service-orientation Providers offers specific functionalities as a service Services are composable using standard means Facilitate the construction of new added-value applications Loosely coupled compositions of heterogeneous services

Printer Hotel Reservation Car Reservation Credit Card Billing Room Management Vacation Planner

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 7 / 52

slide-23
SLIDE 23
  • 2. Context

Developing dynamic adaptable software

Component-based Software Development Development of independent pieces of code Encapsulated, reusable units Better adaptation to changing requirements Service-orientation Providers offers specific functionalities as a service Services are composable using standard means Facilitate the construction of new added-value applications Loosely coupled compositions of heterogeneous services

Printer Hotel Reservation Car Reservation Credit Card Billing Room Management Vacation Planner

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 7 / 52

slide-24
SLIDE 24
  • 2. Context

Developing dynamic adaptable software

Component-based Software Development Development of independent pieces of code Encapsulated, reusable units Better adaptation to changing requirements Service-orientation Providers offers specific functionalities as a service Services are composable using standard means Facilitate the construction of new added-value applications Loosely coupled compositions of heterogeneous services

Printer Hotel Reservation Car Reservation Credit Card Billing Room Management Vacation Planner

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 7 / 52

slide-25
SLIDE 25
  • 2. Context

Service-Orientation

Basic model for Service Oriented Architecture

Service Registry Service Consumer Service Provider 2: Query/ discover 3: Bind 4: Invocate/Reply

n Service Description

1: Publish

Various levels in a Service Oriented Architecture

Service Foundations

Publication

Service Composition Service Management

Discovery Selection Binding Description Coordination Conformance Transactions Monitoring SLA Management QoS & Non-Functional characteristics

(Papazoglou, Traverso, Dustdar, Leymann, 2007) Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 8 / 52

slide-26
SLIDE 26
  • 2. Context

Service Component Architecture (SCA)

Designing services using a component-based approach Design-time model for building service-based systems Technologically agnostic Multiple runtime implementations: IBM Websphere App Server, Fabric3, Apache Tuscany, Paremus, FraSCAti Specification does not consider dynamic evolution

Component A Component B

Composite C Service Reference Properties Wire promotion Binding: SCA, WS, JMS, ... Binding: SCA, WS, JMS, ...

Component D

Implementation: Java, BPEL, SCA Composite, PHP, ... Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 9 / 52

slide-27
SLIDE 27
  • 2. Context

Advantages . . . and challenges

Advantages in software development Growing ecosystem of services and compositions Easier to modify an application dynamically and quickly adapt Challenges Proper management of complex compositions Maintenance depends on different providers Several characteristics are less controllable (QoS) Need to timely react to unforeseen conditions, and with minimal perturbation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 10 / 52

slide-28
SLIDE 28
  • 2. Context

Advantages . . . and challenges

Advantages in software development Growing ecosystem of services and compositions Easier to modify an application dynamically and quickly adapt Challenges Proper management of complex compositions Maintenance depends on different providers Several characteristics are less controllable (QoS) Need to timely react to unforeseen conditions, and with minimal perturbation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 10 / 52

slide-29
SLIDE 29
  • 2. Context

Advantages . . . and challenges

Advantages in software development Growing ecosystem of services and compositions Easier to modify an application dynamically and quickly adapt Challenges Proper management of complex compositions Maintenance depends on different providers Several characteristics are less controllable (QoS) Need to timely react to unforeseen conditions, and with minimal perturbation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 10 / 52

slide-30
SLIDE 30
  • 2. Context

Advantages . . . and challenges

Advantages in software development Growing ecosystem of services and compositions Easier to modify an application dynamically and quickly adapt Challenges Proper management of complex compositions Maintenance depends on different providers Several characteristics are less controllable (QoS) Need to timely react to unforeseen conditions, and with minimal perturbation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 10 / 52

slide-31
SLIDE 31
  • 2. Context

Autonomic Computing

Response to the increasing complexity in the maintenance of systems, exceeding the capacity of human beings Based on the idea of self-governing systems Context-awareness, and self-* properties Activities represented in a feedback control loop Phases in the MAPE autonomic control loop

Collect Analyse Decide Act

Sensors Instrumentation Context Events Notifications Effectors Managed Resources Planification Decision theory Strategies Risk analysis Symptoms Uncertainty reasoning Inferences Rules Policies

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 11 / 52

slide-32
SLIDE 32
  • 2. Context

Autonomic Computing

Response to the increasing complexity in the maintenance of systems, exceeding the capacity of human beings Based on the idea of self-governing systems Context-awareness, and self-* properties Activities represented in a feedback control loop Phases in the MAPE autonomic control loop

Collect Analyse Decide Act

Sensors Instrumentation Context Events Notifications Effectors Managed Resources Planification Decision theory Strategies Risk analysis Symptoms Uncertainty reasoning Inferences Rules Policies Monitor Execute Analyse Plan Knowledge Effectors Sensors Sensors Effectors Autonomic Manager Managed Resource

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 11 / 52

slide-33
SLIDE 33
  • 3. Goals and Contribution

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 12 / 52

slide-34
SLIDE 34
  • 3. Goals and Contribution

Situation

“Everything can change” Lack of uniformity and flexibility Impossibility of foreseeing all situations Complexity of developing effective autonomic tasks Need for adaption. And for dynamic adaptation.

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 13 / 52

slide-35
SLIDE 35
  • 3. Goals and Contribution

Situation

“Everything can change” Lack of uniformity and flexibility Impossibility of foreseeing all situations Complexity of developing effective autonomic tasks Need for adaption. And for dynamic adaptation.

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 13 / 52

slide-36
SLIDE 36
  • 3. Goals and Contribution

Goals

Improve the adaptability of service-based applications Providing a common means to monitor and manage services Adapting to changing management requirements

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 14 / 52

slide-37
SLIDE 37
  • 3. Goals and Contribution

How to achieve this goal?

Structured way to manage the composition Consider distribution and heterogeneity of providers Facilitate the insertion of autonomic tasks Requirements Flexibility

Allow to modify the solution at runtime

Extensibility

Allow to incorporate custom elements to the solution

Heterogeneity

Retrieve information and execute actions over different technologies

Efficiency

Avoid unnecessary communication and deliver timley responses

Autonomicity

Allow to take autonomic decisions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 15 / 52

slide-38
SLIDE 38
  • 3. Goals and Contribution

How to achieve this goal?

Structured way to manage the composition Consider distribution and heterogeneity of providers Facilitate the insertion of autonomic tasks Requirements Flexibility

Allow to modify the solution at runtime

Extensibility

Allow to incorporate custom elements to the solution

Heterogeneity

Retrieve information and execute actions over different technologies

Efficiency

Avoid unnecessary communication and deliver timley responses

Autonomicity

Allow to take autonomic decisions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 15 / 52

slide-39
SLIDE 39
  • 3. Goals and Contribution

How to achieve this goal?

Structured way to manage the composition Consider distribution and heterogeneity of providers Facilitate the insertion of autonomic tasks Requirements Flexibility

Allow to modify the solution at runtime

Extensibility

Allow to incorporate custom elements to the solution

Heterogeneity

Retrieve information and execute actions over different technologies

Efficiency

Avoid unnecessary communication and deliver timley responses

Autonomicity

Allow to take autonomic decisions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 15 / 52

slide-40
SLIDE 40
  • 3. Goals and Contribution

How to achieve this goal?

Structured way to manage the composition Consider distribution and heterogeneity of providers Facilitate the insertion of autonomic tasks Requirements Flexibility

Allow to modify the solution at runtime

Extensibility

Allow to incorporate custom elements to the solution

Heterogeneity

Retrieve information and execute actions over different technologies

Efficiency

Avoid unnecessary communication and deliver timley responses

Autonomicity

Allow to take autonomic decisions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 15 / 52

slide-41
SLIDE 41
  • 3. Goals and Contribution

How to achieve this goal?

Structured way to manage the composition Consider distribution and heterogeneity of providers Facilitate the insertion of autonomic tasks Requirements Flexibility

Allow to modify the solution at runtime

Extensibility

Allow to incorporate custom elements to the solution

Heterogeneity

Retrieve information and execute actions over different technologies

Efficiency

Avoid unnecessary communication and deliver timley responses

Autonomicity

Allow to take autonomic decisions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 15 / 52

slide-42
SLIDE 42
  • 3. Goals and Contribution

How to achieve this goal?

Structured way to manage the composition Consider distribution and heterogeneity of providers Facilitate the insertion of autonomic tasks Requirements Flexibility

Allow to modify the solution at runtime

Extensibility

Allow to incorporate custom elements to the solution

Heterogeneity

Retrieve information and execute actions over different technologies

Efficiency

Avoid unnecessary communication and deliver timley responses

Autonomicity

Allow to take autonomic decisions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 15 / 52

slide-43
SLIDE 43
  • 3. Goals and Contribution

Solution Overview

Flexible Monitoring and Management framework Common and efficient means to monitor and manage service-based applications. Allows to introduce monitoring and management concerns and autonomic behaviour at runtime. Allows to modify the adaptability features, and support evolving management requirements.

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 16 / 52

slide-44
SLIDE 44
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

Monitor Execute Analyse Plan Knowledge Effectors Sensors Autonomic Manager

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-45
SLIDE 45
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

Monitor Execute Analyse Plan Knowledge Effectors Sensors Autonomic Manager

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-46
SLIDE 46
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

Plan Analyze Monitor Execute Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-47
SLIDE 47
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

Plan Analyze Monitor Execute Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-48
SLIDE 48
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

P A M E Service A P A M E Service B P A M E Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-49
SLIDE 49
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

P A M E Service A P A M E Service B P A M E Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-50
SLIDE 50
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

Service A Service B Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-51
SLIDE 51
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

Service A Service B Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-52
SLIDE 52
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

M Service A M Service B M Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-53
SLIDE 53
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

P A M E Service A M E Service B M Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-54
SLIDE 54
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

P A M E Service A P A M E Service B P A M E Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-55
SLIDE 55
  • 3. Goals and Contribution

How?

Implementing an autonomic control loop

Support for autonomicity

Encapsulating each phase of the MAPE loop as a component

Leverage the technology of services to a common ground (heterogeneity) Use components to extend the behaviour of the control loop

Attaching the autonomic control loops to services

Define interfaces for the MAPE loops to interact and collaborate Take timely decisions, close to the involved services (efficiency)

Allowing to dynamically reconfigure the autonomic control loop

Add/remove components at runtime as needed (flexibility)

Service A P A M E Service B M E Service C

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

slide-56
SLIDE 56
  • 4. State of the Art

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 18 / 52

slide-57
SLIDE 57
  • 4. State of the Art

Landscape of tools

Monitoring Analysis Planning Execution

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

slide-58
SLIDE 58
  • 4. State of the Art

Landscape of tools

Monitoring Analysis Planning Execution

WSDM Dynamo Cremona Cilia Lattice Ganglia GMA Magpie Autopilot ARM Cloud Status SLAng WSLA WSOL WS-Agreement WS-Policy Everest+ QoS-aware Selection QoS-aware rebinding Genetic Alg. K-Means clustering FScript/FPath SAFRAN FraSCAti iPOJO

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

slide-59
SLIDE 59
  • 4. State of the Art

Landscape of tools

Monitoring Analysis Planning Execution

WSDM Cilia Ganglia GMA ARM WSOL WS-Agreement WS-Policy WildCat (2005) Kieker (2009) VRESCo (2007) GT4 (2006) PADRES (2010) RESERVOIR (2009)

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

slide-60
SLIDE 60
  • 4. State of the Art

Landscape of tools

Monitoring Analysis Planning Execution

WSDM Dynamo Cremona Cilia Lattice Ganglia GMA ARM Cloud Status WSOL Everest+ QoS-aware rebinding FScript/FPath SAFRAN FraSCAti iPOJO Rainbow (2004) StarMX (2009) Entropy (2009) Dynaco (2006) CAPPUCINO (2010) Ceylon (2010) SAFDIS (2010)

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

slide-61
SLIDE 61
  • 4. State of the Art

Autonomic Loops for Services

CAPPUCINO

Context-aware adaptation for services Control loop distributed in ubiquitous environments Dynamically reconfiguration of communication protocols and collectors

Ceylon

Development of autonomic managers Composition from smaller autonomic tasks Dynamic reconfiguration of the autonomic manager according to the goals described

SAFDIS

Service-based adaptation service Distributed collaboration for adaptation planning Migration of services as adaptation actions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 20 / 52

slide-62
SLIDE 62
  • 4. State of the Art

Summary

SCA REST + ubiquitous services + + Cappucino + design

  • ++

+ components ? ++ design ++ ++ Dynaco grids + runtime

  • n/off

sensors + ++ Autopilot mediation middleware ++

  • java

apps. design JMX + + ++ ++ StarMX ++ generic + design + ++ Rainbow ? + ++ middleware for events ? ? Comm. Entropy

  • ++

Flexibility + Monitoring + runtime Execution development of autonomous applications ++ Analysis Ceylon Scope ++ + ++ design ++ SAFDIS Planning + virtualised resources +

  • +

Extensibility ++ + services ++ Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 21 / 52

slide-63
SLIDE 63
  • 5. Design

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 22 / 52

slide-64
SLIDE 64
  • 5. Design

The Big Picture

Implementation of each phase of the MAPE autonomic control loop as a component. Monitoring, Analysis, Planning, Execution Attach the MAPE components to the service that they manage Made that capabilities accesible through pre-defined interfaces Regular services turns into a managed service The service is improved with additional interfaces The interfaces allows to interact with the monitoring and management capabilities

Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 23 / 52

slide-65
SLIDE 65
  • 5. Design

The Big Picture

Implementation of each phase of the MAPE autonomic control loop as a component. Monitoring, Analysis, Planning, Execution Attach the MAPE components to the service that they manage Made that capabilities accesible through pre-defined interfaces Regular services turns into a managed service The service is improved with additional interfaces The interfaces allows to interact with the monitoring and management capabilities

Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 23 / 52

slide-66
SLIDE 66
  • 5. Design

The Big Picture

Implementation of each phase of the MAPE autonomic control loop as a component. Monitoring, Analysis, Planning, Execution Attach the MAPE components to the service that they manage Made that capabilities accesible through pre-defined interfaces Regular services turns into a managed service The service is improved with additional interfaces The interfaces allows to interact with the monitoring and management capabilities

Service A Managed Service A

actions SLOs metrics metrics actions design time addition

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 23 / 52

slide-67
SLIDE 67
  • 5. Design

Inside the managed service

The framework is itself a component-based application

Service A Managed Service A

actions SLOs metrics metrics actions Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

slide-68
SLIDE 68
  • 5. Design

Inside the managed service

The framework is itself a component-based application

Service A

Monitoring

Managed Service A

actions SLOs metrics metrics actions metrics monitoring data Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

slide-69
SLIDE 69
  • 5. Design

Inside the managed service

The framework is itself a component-based application

Service A

Monitoring Analysis

Managed Service A

actions SLOs metrics metrics actions metrics monitoring data Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

slide-70
SLIDE 70
  • 5. Design

Inside the managed service

The framework is itself a component-based application

Service A

Monitoring Analysis Planning

Managed Service A

actions SLOs SLOs metrics metrics actions metrics monitoring data alarm Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

slide-71
SLIDE 71
  • 5. Design

Inside the managed service

The framework is itself a component-based application

Service A

Monitoring Analysis Planning Execution actions

Managed Service A

actions SLOs SLOs metrics metrics actions metrics monitoring data execution alarm Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

slide-72
SLIDE 72
  • 5. Design

Monitoring

Monitoring components connected through the application Interacting through their interfaces Adapted to the monitoring needs/requirements of each service

Monitoring

metrics-service metrics-reference1 metrics-reference2 metrics-referencei . . . . . . [metrics] metrics getMetricList() getMetric(metricName) subscribe(metricName) unsubscribe(metricName) insertMetric(metric, metricName) removeMetric(metricName) [metrics] [metrics] [metrics] management of sensors (polling/ listening) to collect information computation of metrics from

  • btained values

(optional) storage of

  • btained values or

metrics (optional) communication with

  • ther monitoring

components

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 25 / 52

slide-73
SLIDE 73
  • 5. Design

Monitoring Example

Interaction between monitoring components to compute metrics Monitoring backbone following the composition Monitoring components collaborate to compute a metric The actual way to compute the metric may be different for each service

Service A Service B

Service C

Service D Service E

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 26 / 52

slide-74
SLIDE 74
  • 5. Design

Monitoring Example

Interaction between monitoring components to compute metrics Monitoring backbone following the composition Monitoring components collaborate to compute a metric The actual way to compute the metric may be different for each service

Service A Service B

Service C

Service D Service E Ma Mb Mc Md Me

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 26 / 52

slide-75
SLIDE 75
  • 5. Design

Monitoring Example

Interaction between monitoring components to compute metrics Monitoring backbone following the composition Monitoring components collaborate to compute a metric The actual way to compute the metric may be different for each service

Service A Service B

Service C

Service D Service E Ma Mb Mc Md Me

e(d) = 8 kW e(e) = 2 kW e(c) = e(a) + e(b) + e(d) + e(e) e(b) = 2 kW e(a) = 6 kW + e(b)

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 26 / 52

slide-76
SLIDE 76
  • 5. Design

Analysis

Checking of compliance to SLA requirements Expressed as SLOs (Service Level Objectives) Computed from metrics obtained from the monitoring component

Analysis

slo-service metrics-reference alarm-reference [SLOs] SLOs addSLO(SLO, sloName) removeSLO(metricName) enableSLO(metricName) disableSLO(metricName) [alarm] [metrics] alarm notify(alarmType, condition) management (insertion/removal/ activation/storage) of SLOs association of SLOs and required metrics collection of required values to check SLOs Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 27 / 52

slide-77
SLIDE 77
  • 5. Design

Analysis Example

Analysis components use the monitoring backbone to obtain the metrics they need to perform SLO checking Different Analyzers may check different conditions without interferring with others

Service B Mb Ab Service A Ma Aa Service C Mc Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 28 / 52

slide-78
SLIDE 78
  • 5. Design

Analysis Example

Analysis components use the monitoring backbone to obtain the metrics they need to perform SLO checking Different Analyzers may check different conditions without interferring with others

Service B Mb Ab Service A Ma Aa Service C Mc

SLO: cost(A) < 30 Metric: cost(A)=cost(B)+cost(C) cost(C)=10 cost(B)=18 cost(A)=28 Metrics: cost(B)=... Metrics: cost(C)=...

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 28 / 52

slide-79
SLIDE 79
  • 5. Design

Analysis Example

Analysis components use the monitoring backbone to obtain the metrics they need to perform SLO checking Different Analyzers may check different conditions without interferring with others

Service B Mb Ab Service A Ma Aa Service C Mc

SLO: cost(A) < 30 Metric: cost(A)=cost(B)+cost(C) SLO: respTime < 2s. Metrics: cost(B)=... respTime(B)=... Metrics: cost(C)=...

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 28 / 52

slide-80
SLIDE 80
  • 5. Design

Planning

Implementation of strategies or decision algorithms Activated upon an alarm from the Analysis phase Generates a set of actions to apply on the system

Planning

alarm-service metrics-reference actions-reference [alarm] [actions] [metrics] actions sendActions(actionList) sendAction(action) support for one or more strategies association of faulting condition and severity level to an appropriate strategy generation of (list

  • f) actions in a

defined format

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 29 / 52

slide-81
SLIDE 81
  • 5. Design

Planning Example

Uses the Monitoring components to get the information it may need

Service B Mb Service A Service C1 Mc1 Aa Ma Pa

SLO: cost(A) < 30 cost(B)=18 cost(C1)=20

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 30 / 52

slide-82
SLIDE 82
  • 5. Design

Planning Example

Uses the Monitoring components to get the information it may need

Service B Mb Service A Service C1 Mc1 Aa Service C2 Mc2

Strategy: getMetric(cost,B)=? getMetric(cost,C1)=? getMetric(cost,C2)=?

  • utput: replace(C1,C2);

Ma Pa

Alarm: cost(A) >= 30 SLO: cost(A) < 30 cost(B)=18 cost(C1)=20 cost(C2)=5

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 30 / 52

slide-83
SLIDE 83
  • 5. Design

Planning Example

Uses the Monitoring components to get the information it may need

Service B Mb Service A Service C1 Mc1 Aa Service C2 Mc2

Strategy: getMetric(cost,B)=? getMetric(cost,C1)=? getMetric(cost,C2)=?

  • utput: replace(C1,C2);

Ma

Action: replace(C1,C2);

Pa

Alarm: cost(A) >= 30 SLO: cost(A) < 30 cost(B)=18 cost(C1)=20 cost(C2)=5

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 30 / 52

slide-84
SLIDE 84
  • 5. Design

Execution

Execute actions on the service according to the specific means allowed Connected to support localized actions Must translate the commands to concrete actions

Executing

actions-service actions-referencei [actions] [actions] execution of actions on the target service translation of actions to the support provided by the service transmission of actions to external services . . . actions-reference2 [actions] actions-reference1 [actions] . . .

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 31 / 52

slide-85
SLIDE 85
  • 5. Design

Execution Example

Actions can be propagated to the appropriate service Specific ways to execute actions depend on the service Encapsulated in the execution componentes

Service B

b1

Eb Service A Service C1 Ec1 Pa

Actions: replace(C1,C2); unbind(B,b1); set(C2,threads,10);

Ea Service D Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

slide-86
SLIDE 86
  • 5. Design

Execution Example

Actions can be propagated to the appropriate service Specific ways to execute actions depend on the service Encapsulated in the execution componentes

Service B

b1

Eb Service A Service C1 Ec1 Pa Service C2 Ec2

Actions: replace(C1,C2); unbind(B,b1); set(C2,threads,10);

Ea Service D

replace(C1,C2);

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

slide-87
SLIDE 87
  • 5. Design

Execution Example

Actions can be propagated to the appropriate service Specific ways to execute actions depend on the service Encapsulated in the execution componentes

Service B

b1

Eb Service A Service C1 Ec1 Pa Service C2 Ec2

Actions: replace(C1,C2); unbind(B,b1); set(C2,threads,10);

Ea Service D

replace(C1,C2);

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

slide-88
SLIDE 88
  • 5. Design

Execution Example

Actions can be propagated to the appropriate service Specific ways to execute actions depend on the service Encapsulated in the execution componentes

Service B

b1

Eb Service A Pa Service C2 Ec2

Actions: replace(C1,C2); unbind(B,b1); set(C2,threads,10);

Ea Service D

unbind(B,b1);

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

slide-89
SLIDE 89
  • 5. Design

Execution Example

Actions can be propagated to the appropriate service Specific ways to execute actions depend on the service Encapsulated in the execution componentes

Service B

b1

Eb Service A Pa Service C2 Ec2

Actions: replace(C1,C2); unbind(B,b1); set(C2,threads,10);

Ea

unbind(B,b1);

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

slide-90
SLIDE 90
  • 5. Design

Execution Example

Actions can be propagated to the appropriate service Specific ways to execute actions depend on the service Encapsulated in the execution componentes

Service B

b1

Eb Service A Pa Service C2 Ec2

Actions: replace(C1,C2); unbind(B,b1); set(C2,threads,10);

Ea

set(C2,threads,10);

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

slide-91
SLIDE 91
  • 5. Design

Summary

Design presented in a generic way using SCA Implementable in an SCA runtime Basic interfaces may be extended as needed

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 33 / 52

slide-92
SLIDE 92
  • 6. Implementation

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 34 / 52

slide-93
SLIDE 93
  • 6. Implementation

Implementation

Goals Provide a concrete instantiation of the framework Taking into account the generic design

But considering the features of the runtime

Other implementations can be carried on

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 35 / 52

slide-94
SLIDE 94
  • 6. Implementation

Technical Background

Grid Component Model (GCM)

Extension of the Fractal Component Model Support for distributed deployment Support for collective communications Separation between F and NF concerns (Naoumenko, 2010)

Using the GCM/ProActive reference implementation

Based on asynchronous active objects, and futures JMX-based instrumentation

Bindings Primitive Component Composite Component Content Membrane Client Interfaces Server Interfaces Control Interfaces

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

slide-95
SLIDE 95
  • 6. Implementation

Technical Background

Grid Component Model (GCM)

Extension of the Fractal Component Model Support for distributed deployment Support for collective communications Separation between F and NF concerns (Naoumenko, 2010)

Using the GCM/ProActive reference implementation

Based on asynchronous active objects, and futures JMX-based instrumentation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

slide-96
SLIDE 96
  • 6. Implementation

Technical Background

Grid Component Model (GCM)

Extension of the Fractal Component Model Support for distributed deployment Support for collective communications Separation between F and NF concerns (Naoumenko, 2010)

Using the GCM/ProActive reference implementation

Based on asynchronous active objects, and futures JMX-based instrumentation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

slide-97
SLIDE 97
  • 6. Implementation

Technical Background

Grid Component Model (GCM)

Extension of the Fractal Component Model Support for distributed deployment Support for collective communications Separation between F and NF concerns (Naoumenko, 2010)

Using the GCM/ProActive reference implementation

Based on asynchronous active objects, and futures JMX-based instrumentation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

slide-98
SLIDE 98
  • 6. Implementation

Technical Background

Grid Component Model (GCM)

Extension of the Fractal Component Model Support for distributed deployment Support for collective communications Separation between F and NF concerns (Naoumenko, 2010)

Using the GCM/ProActive reference implementation

Based on asynchronous active objects, and futures JMX-based instrumentation

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

slide-99
SLIDE 99
  • 6. Implementation

Technical Background

Grid Component Model (GCM)

Extension of the Fractal Component Model Support for distributed deployment Support for collective communications Separation between F and NF concerns (Naoumenko, 2010)

Using the GCM/ProActive reference implementation

Based on asynchronous active objects, and futures JMX-based instrumentation

Active Object Invocation flow Passive Object

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

slide-100
SLIDE 100
  • 6. Implementation

Technical Background

Grid Component Model (GCM)

Extension of the Fractal Component Model Support for distributed deployment Support for collective communications Separation between F and NF concerns (Naoumenko, 2010)

Using the GCM/ProActive reference implementation

Based on asynchronous active objects, and futures JMX-based instrumentation

Active Object Invocation flow Passive Object

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

slide-101
SLIDE 101
  • 6. Implementation

Mapping from SCA to GCM

Following the SCA design

MAPE Components attached to GCM membranes Using NF server and client interfaces

Technical contributions

Implementation of each MAPE component Definition of an API to manipulate MAPE components

Service A

Monitoring Analysis Planning Execution actions

Managed Service A

actions SLOs SLOs metrics metrics actions metrics monitoring data execution alarm

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 37 / 52

slide-102
SLIDE 102
  • 6. Implementation

Mapping from SCA to GCM

Following the SCA design

MAPE Components attached to GCM membranes Using NF server and client interfaces

Technical contributions

Implementation of each MAPE component Definition of an API to manipulate MAPE components

Service A

Monitoring Analysis Planning Execution actions

Managed Service A

actions SLOs SLOs metrics metrics actions metrics monitoring data execution alarm

Service A Monitoring Analysis Planning Execution

metrics actions alarm Monitoring Service SLA Service Execution Service External Monitoring Service External Execution Service

Managed Service A

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 37 / 52

slide-103
SLIDE 103
  • 6. Implementation

Mapping from SCA to GCM

Following the SCA design

MAPE Components attached to GCM membranes Using NF server and client interfaces

Technical contributions

Implementation of each MAPE component Definition of an API to manipulate MAPE components

Service A

Monitoring Analysis Planning Execution actions

Managed Service A

actions SLOs SLOs metrics metrics actions metrics monitoring data execution alarm

Service A Monitoring Analysis Planning Execution

metrics actions alarm Monitoring Service SLA Service Execution Service External Monitoring Service External Execution Service

Managed Service A

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 37 / 52

slide-104
SLIDE 104
  • 6. Implementation

Mapping from SCA to GCM

Following the SCA design

MAPE Components attached to GCM membranes Using NF server and client interfaces

Technical contributions

Implementation of each MAPE component Definition of an API to manipulate MAPE components

Service A

Monitoring Analysis Planning Execution actions

Managed Service A

actions SLOs SLOs metrics metrics actions metrics monitoring data execution alarm

Service A Monitoring Analysis Planning Execution

metrics actions alarm Monitoring Service SLA Service Execution Service External Monitoring Service External Execution Service

Managed Service A

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 37 / 52

slide-105
SLIDE 105
  • 6. Implementation

Monitoring Component

Collection, storage, computation of metrics Collecting JMX events from GCM/ProActive Supports insertion/removal of metrics Allows access to metrics via push/pull methods

Metrics Store Monitoring Manager Event Listener Record Store

Monitoring Component

monitoring- service [metrics] external- monitoring- service [metrics]

[recordStore] [events] [metrics] [eventsControl]

GCM/ProActive events (JMX)

Improved instrumentation of GCM/ProActive

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 38 / 52

slide-106
SLIDE 106
  • 6. Implementation

Analysis Component

Checking of conditions and generation of alarms Subscribes or query to the Monitoring Component Sends an Alarm object if necessary SLO Representation: metric, cond, threshold

SLO Store SLA Manager SLO-service monitoring-service alarm-service SLO Verifier SLO Analyzer

<SLO> <metric>"responseTime"</metric> <condition>"<"</condition> <threshold>30</threshold> <unit>"seconds"</unit> </SLO> <responseTime, "<", 30> Enabled Mode SLO subscribe pull, 10m subscribe false <cost, "<=", 50> <freeSpace, ">", 0.1> true true <responseTime, "<", 30> verify( <responseTime, "<", 30> ) store( <responseTime, "<", 30> )

➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇

subscribe("responseTime") responseTime = 40s. alarm(FAULT, <responseTime,"<",30>)

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 39 / 52

slide-107
SLIDE 107
  • 6. Implementation

Planning Component

Execution of planning algorithms (strategies) Associates an Alarm to one or more strategies Support for multiple strategies using multicast interfaces

Selection, parallel execution of strategies

Information obtained from the Monitoring layer

Strategy Manager alarm-service monitoring-service actions-service Planner1 Planner2 PlannerN

. . .

action("replace(C1, C2)") alarm(FAULT, <cost,"<=",50>, 63) level planner metric planner3 planner2 planner1 preventive freeSpace cost faulting faulting responseTime

➀ ➁

start() getMetric("cost")

➂ ➃ ➄

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 40 / 52

slide-108
SLIDE 108
  • 6. Implementation

Execution Component

Execution of Actions over the component/service Support to execute reconfiguration actions on other components Support for start/stop, bind/unbind, deploy/undeploy, migrate, . . .

Execution Manager

Execution Component

actions-service [actions] Translation Reconfiguration Engine actions-service [actions] PAGCMScript commands

Scripting language PAGCMScript (extension of FScript)

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 41 / 52

slide-109
SLIDE 109
  • 7. Validation

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 42 / 52

slide-110
SLIDE 110
  • 7. Validation

Micro-benchmark

Execution of an application that generates computations and updates in the MAPE components Local and distributed execution 14% overhead. Worst-case situation Actual value depends on strategies implemented

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 43 / 52

slide-111
SLIDE 111
  • 7. Validation

Use Case

Use case exemplified: Tourism Service application Local and remote deployments, possibly in different infrastructures Setting up the insertion of the control loop Autonomic migration Distinct control loops

Customer Events DB

attractions

Weather Service Bank Service Attraction 1 Attraction 2 Attraction 3 Manager Composer Map Service Email

reqs.

Tourism Service

payment weather mapping composition local

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 44 / 52

slide-112
SLIDE 112
  • 7. Validation

Use Case: Setting up the system

Inserting of MAPE components is handled by the API

Creation of the required NF Bindings, using the GCM controllers NF Bindings follow the functional architecture

Manager SLO Service

Tourism Service

Events DB Composer Email SMS Execution Service Monitoring Service Atraction-1 Atraction-2 Atraction-3 Weather Service Payment Service Mapping Service

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 45 / 52

slide-113
SLIDE 113
  • 7. Validation

Use Case: Setting up the system

Inserting of MAPE components is handled by the API

Creation of the required NF Bindings, using the GCM controllers NF Bindings follow the functional architecture

Manager SLO Service

Tourism Service

Events DB Composer Email SMS Execution Service Monitoring Service Monitoring Atraction-1 Atraction-2 Atraction-3 Weather Service Payment Service Mapping Service

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 45 / 52

slide-114
SLIDE 114
  • 7. Validation

Use Case: Setting up the system

Inserting of MAPE components is handled by the API

Creation of the required NF Bindings, using the GCM controllers NF Bindings follow the functional architecture

Manager SLO Service

Tourism Service

Events DB Composer Email SMS Execution Service Monitoring Service Monitoring Atraction-1 Atraction-2 Atraction-3 Weather Service Payment Service Mapping Service Atraction-4

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 45 / 52

slide-115
SLIDE 115
  • 7. Validation

Use Case: Autonomicity following the architecture

Autonomic action is propagated inside the composite

Manager SLO Service

Tourism Service

Events DB Composer Email SMS Execution Service Monitoring Service Monitoring . . . Analysis Planning Execution . . . . . . . . . Alarm: avgRT > 15 getMetric ("requestPath")

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 46 / 52

slide-116
SLIDE 116
  • 7. Validation

Use Case: Autonomicity following the architecture

Autonomic action is propagated inside the composite

Manager SLO Service

Tourism Service

Events DB Composer Email SMS Execution Service Monitoring Service Monitoring . . . Analysis Planning Execution . . . . . . . . . Alarm: avgRT > 15 getMetric ("requestPath") migrate("SMS", "VN-2") migrate ("SMS", "VN-2") migrate ("SMS", "VN-2")

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 46 / 52

slide-117
SLIDE 117
  • 7. Validation

Use Case: Autonomicity following the architecture

Autonomic action is propagated inside the composite

Manager SLO Service

Tourism Service

Events DB Composer Email SMS Execution Service Monitoring Service Monitoring . . . Analysis Planning Execution . . . . . . . . . migrate ("SMS", "VN-2")

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 46 / 52

slide-118
SLIDE 118
  • 7. Validation

Use Case: Autonomicity on external components

Inner autonomic loop The modification decision is taken internally Actions can affect external components (horizontal level)

Manager

Tourism Service

Ev. Comp. SMS Twitter M . . . A P E . . . . . . . . . Email

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 47 / 52

slide-119
SLIDE 119
  • 7. Validation

Use Case: Autonomicity on external components

Inner autonomic loop The modification decision is taken internally Actions can affect external components (horizontal level)

Manager

Tourism Service

Ev. Comp. SMS Twitter M . . . A P E . . . . . . . . . Email

Email SMS Twitter Composer Mon. An. Plan. Exec.

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 47 / 52

slide-120
SLIDE 120
  • 7. Validation

Use Case: Autonomicity on external components

Inner autonomic loop The modification decision is taken internally Actions can affect external components (horizontal level)

Manager

Tourism Service

Ev. Comp. SMS Twitter M . . . A P E . . . . . . . . . Email

Email SMS Twitter Composer Mon. An. Plan. Exec. metric: failAggr= 9 failCount= 3 failCount= 6 failCount= 0 SLO: failAgg < 5

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 47 / 52

slide-121
SLIDE 121
  • 7. Validation

Use Case: Autonomicity on external components

Inner autonomic loop The modification decision is taken internally Actions can affect external components (horizontal level)

Manager

Tourism Service

Ev. Comp. SMS Twitter M . . . A P E . . . . . . . . . Email

Email SMS Twitter Composer Mon. An. Plan. Exec. metric: failAggr= 9 failCount= 3 failCount= 6 failCount= 0 SLO: failAgg < 5 Action: unbind(SMS)

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 47 / 52

slide-122
SLIDE 122
  • 7. Validation

Use Case: Autonomicity on external components

Inner autonomic loop The modification decision is taken internally Actions can affect external components (horizontal level)

Manager

Tourism Service

Ev. Comp. SMS Twitter M . . . A P E . . . . . . . . . Email

Email Twitter Composer Mon. An. Plan. Exec.

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 47 / 52

slide-123
SLIDE 123
  • 8. Conclusions

Table of Contents

1

Introduction

2

Context

3

Goals and Contribution

4

State of the Art

5

Design

6

Implementation

7

Validation

8

Conclusions

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 48 / 52

slide-124
SLIDE 124
  • 8. Conclusions

Conclusions

Framework to provide adaptation capabilities to component-based services MAPE phases separated in components Autonomic control loops attached to each component Components can colaborate to implement the autonomic task Design presented in a generic way, and exemplified in a concrete implementation Flexibility to add the required management capabilities

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 49 / 52

slide-125
SLIDE 125
  • 8. Conclusions

Perspectives

Challenges in autonomic computing Base for experimenting with the implementation of collaborative strategies

Partition high level goals into subgoals Hierarchical planning

Determine safe non-conflicting planning strategies and reconfigurations Challenges in service-oriented development Adaptable interfaces

Make more dynamic the insertion of MAPE components

Manage multiple levels of a service-based application

Covering from SaaS level to infrastructure level Coordinating multi-cloud environments

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 50 / 52

slide-126
SLIDE 126
  • 8. Conclusions

Autonomic Monitoring and Management of Component-based Services

Cristian RUZ

Th` ese dirig´ ee par Fran¸ coise BAUDE, au sein de l’´ equipe OASIS

Jury

  • Pr. Mireille BLAY-FORNARINO

Pr´ esident du Jury

  • Pr. Philippe LALANDA

Rapporteur

  • Pr. Lionel SEINTURIER

Rapporteur

  • Dr. Romain ROUVOY

Co-Rapporteur

  • Dr. Luc BELLISSARD

Examinateur

  • Pr. Fran¸

coise BAUDE Directeur de Th` ese

23 Juin 2011

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 51 / 52

slide-127
SLIDE 127
  • 8. Conclusions

Publications

1

  • C. Ruz, F. Baude, B. Sauvan. Flexible adaptation loop for component-based SOA
  • applications. In 7th International Conference on Autonomic and Autonomous Systems

(ICAS 2011), Venice, Italy. May 2011. IEEE Computer Society, ISBN 978-1-61208-006-2

2

  • I. Filali, F. Huet, V. Legrand, E. Mathias, P. Merle, C. Ruz, R. Krummenacher, E. Simperl,
  • C. Hammerling and J.P. Lorr´
  • e. ESB Federation for Large-Scale SOA. In 25th ACM Int.

Symposium on Applied Computing, pp 2459-2466, Sierre, Switzerland. March 2010

3

  • C. Ruz, F. Baude, B. Sauvan, A. Mos, A. Boulze Flexible SOA Lifecycle on the Cloud

using SCA In 3rd International Workshop on Service-oriented Enterprise Architecture for Enterprise Engineering (SoEA4EE 2011), Helsinki, Finland. August 2011. To appear, IEEE Computer Society

4

  • C. Ruz, F. Baude, B. Sauvan Component-based generic approach for reconfigurable

management of component-based SOA applications. In MONA 2010 - 3rd Workshop on Service Monitoring, Adaptation, and Beyond (MONA+), in conjunction with ECOWS 2010 - The 8th IEEE European Conference on Web Services, ACM Digital library, Ayia-Napa, Cyprus. December 2010

5

  • C. Ruz, F. Baude, B. Sauvan. Enabling SLA Monitoring for Component-Based SOA

Applications – A Component-Based Approach. In 36th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA) – Work in Progress Session. ISBN 978-3-902457-27-1. Lille, France. September 2010

6

  • C. Ruz, F. Baude. Enabling SLA monitoring for component-based SOA applications. In

XXVIII International Conference of the Chilean Computer Society (SCCC’09), Santiago,

  • Chile. November 2009.

Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 52 / 52