Autonomic Management of Component-based Services Cristian Ruz, PhD - - PowerPoint PPT Presentation

autonomic management of component based services
SMART_READER_LITE
LIVE PREVIEW

Autonomic Management of Component-based Services Cristian Ruz, PhD - - PowerPoint PPT Presentation

Autonomic Management of Component-based Services Cristian Ruz, PhD SCADA Workshop Ingenieur Equipe OASIS INRIA Sophia Antipolis M editerran ee France July 24, 2012 PLAN MOTIVATION CONTEXT FRAMEWORK Problem Design of the


slide-1
SLIDE 1

July 24, 2012

Autonomic Management of Component-based Services

Cristian Ruz, PhD

SCADA Workshop

Ingenieur ´ Equipe OASIS INRIA Sophia Antipolis M´ editerran´ ee France

slide-2
SLIDE 2

PLAN

MOTIVATION CONTEXT FRAMEWORK Problem Design of the solution Implementation Use Cases PERSPECTIVES

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 2

slide-3
SLIDE 3

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 3

1

MOTIVATION

slide-4
SLIDE 4

Motivation

Evolution in software construction

◮ Monolithic, centralized, stable applications ◮ Close world assumption ◮ Software changes slowly

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 4

slide-5
SLIDE 5

Motivation

Evolution in software construction

◮ Monolithic, centralized, stable applications ◮ Close world assumption ◮ Software changes slowly

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 4

slide-6
SLIDE 6

Motivation

Evolution in software construction

◮ Monolithic, centralized, stable applications ◮ Close world assumption ◮ Software changes slowly

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 4

slide-7
SLIDE 7

Motivation

Evolution in software construction

◮ Monolithic, centralized, stable applications ◮ Close world assumption ◮ Software changes slowly

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 4

slide-8
SLIDE 8

Motivation

Evolution in software construction

◮ Monolithic, centralized, stable applications ◮ Close world assumption ◮ Software changes slowly

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 4

slide-9
SLIDE 9

Motivation

Evolution in software construction

◮ Monolithic, centralized, stable applications ◮ Close world assumption ◮ Software changes slowly

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 4

slide-10
SLIDE 10

Motivation

Dynamic environment

◮ Decentralized, distributed, dynamic applications

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-11
SLIDE 11

Motivation

Dynamic environment

◮ Decentralized, distributed, dynamic applications

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-12
SLIDE 12

Motivation

Dynamic environment

◮ Decentralized, distributed, dynamic applications

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-13
SLIDE 13

Motivation

Dynamic environment

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

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-14
SLIDE 14

Motivation

Dynamic environment

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

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-15
SLIDE 15

Motivation

Dynamic environment

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

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-16
SLIDE 16

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

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-17
SLIDE 17

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

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-18
SLIDE 18

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

Provider

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 5

slide-19
SLIDE 19

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 - Autonomic Management of Component-based Services July 24, 2012- 5

slide-20
SLIDE 20

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 6

2

CONTEXT

slide-21
SLIDE 21

Developing dynamic adaptable software

Component-based Software Development Service-orientation

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

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 7

slide-22
SLIDE 22

Developing dynamic adaptable software

Component-based Software Development

◮ Development of independent pieces of code ◮ Encapsulated, reusable units ◮ Better adaptation to changing requirements

Service-orientation

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

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 7

slide-23
SLIDE 23

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

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

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 7

slide-24
SLIDE 24

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 - Autonomic Management of Component-based Services July 24, 2012- 7

slide-25
SLIDE 25

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 - Autonomic Management of Component-based Services July 24, 2012- 8

slide-26
SLIDE 26

Advantages . . . and challenges

Advantages in software development

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 9

slide-27
SLIDE 27

Advantages . . . and challenges

Advantages in software development

◮ Growing ecosystem of services and compositions ◮ Easier to modify an application dynamically and quickly adapt

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 9

slide-28
SLIDE 28

Advantages . . . and challenges

Advantages in software development

◮ Growing ecosystem of services and compositions ◮ Easier to modify an application dynamically and quickly adapt

Challenges

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 9

slide-29
SLIDE 29

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 - Autonomic Management of Component-based Services July 24, 2012- 9

slide-30
SLIDE 30

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

◮ Self-{configuring, healing, optimizing, protecting, . . . }

◮ Activities represented in a feedback 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 - Autonomic Management of Component-based Services July 24, 2012- 10

slide-31
SLIDE 31

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

◮ Self-{configuring, healing, optimizing, protecting, . . . }

◮ 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 - Autonomic Management of Component-based Services July 24, 2012- 10

slide-32
SLIDE 32

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 11

3

FRAMEWORK

slide-33
SLIDE 33

Problem

Problem

How to implement dynamic adaptations?

◮ Lack of uniformity and flexibility ◮ Impossibility of foreseeing all situations ◮ Complexity of developing effective autonomic tasks

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 12

slide-34
SLIDE 34

Problem

Problem

How to implement dynamic adaptations?

◮ Lack of uniformity and flexibility ◮ Impossibility of foreseeing all situations ◮ Complexity of developing effective autonomic tasks

Goal: Improve the adaptability of service-based applications

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 12

slide-35
SLIDE 35

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop

Monitor Execute Analyse Plan Knowledge Effectors Sensors Autonomic Manager

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 13

slide-36
SLIDE 36

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop ◮ Encapsulating each MAPE phase as a component

◮ Use components to extend the behaviour of the control loop Plan Analyze Monitor Execute Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 13

slide-37
SLIDE 37

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop ◮ Encapsulating each MAPE phase as a component

◮ Use components to extend the behaviour of the control loop

◮ Attaching the autonomic control loops to services

◮ Interfaces for the MAPE loops to interact and collaborate ◮ Take timely decisions, close to services (efficiency)

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

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 13

slide-38
SLIDE 38

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop ◮ Encapsulating each MAPE phase as a component

◮ Use components to extend the behaviour of the control loop

◮ Attaching the autonomic control loops to services

◮ Interfaces for the MAPE loops to interact and collaborate ◮ Take timely decisions, close to services (efficiency)

◮ Allowing to dynamically reconfigure the autonomic loop

◮ Add/remove components at runtime as needed (flexibility)

Service A Service B Service C

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 13

slide-39
SLIDE 39

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop ◮ Encapsulating each MAPE phase as a component

◮ Use components to extend the behaviour of the control loop

◮ Attaching the autonomic control loops to services

◮ Interfaces for the MAPE loops to interact and collaborate ◮ Take timely decisions, close to services (efficiency)

◮ Allowing to dynamically reconfigure the autonomic loop

◮ Add/remove components at runtime as needed (flexibility)

M Service A M Service B M Service C

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 13

slide-40
SLIDE 40

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop ◮ Encapsulating each MAPE phase as a component

◮ Use components to extend the behaviour of the control loop

◮ Attaching the autonomic control loops to services

◮ Interfaces for the MAPE loops to interact and collaborate ◮ Take timely decisions, close to services (efficiency)

◮ Allowing to dynamically reconfigure the autonomic loop

◮ Add/remove components at runtime as needed (flexibility)

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

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 13

slide-41
SLIDE 41

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop ◮ Encapsulating each MAPE phase as a component

◮ Use components to extend the behaviour of the control loop

◮ Attaching the autonomic control loops to services

◮ Interfaces for the MAPE loops to interact and collaborate ◮ Take timely decisions, close to services (efficiency)

◮ Allowing to dynamically reconfigure the autonomic 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 - Autonomic Management of Component-based Services July 24, 2012- 13

slide-42
SLIDE 42

Design of the solution

Solution Overview

Flexible Monitoring and Management Framework

◮ Implementing an autonomic control loop ◮ Encapsulating each MAPE phase as a component

◮ Use components to extend the behaviour of the control loop

◮ Attaching the autonomic control loops to services

◮ Interfaces for the MAPE loops to interact and collaborate ◮ Take timely decisions, close to services (efficiency)

◮ Allowing to dynamically reconfigure the autonomic loop

◮ Add/remove components at runtime as needed (flexibility)

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

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 13

slide-43
SLIDE 43

Design of the solution

Inside a Managed Service

The framework itself is component-based application.

Service A Managed Service A

actions SLOs metrics metrics actions Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 14

slide-44
SLIDE 44

Design of the solution

Inside a Managed Service

The framework itself is component-based application.

Service A

Monitoring

Managed Service A

actions SLOs metrics metrics actions metrics monitoring data Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 14

slide-45
SLIDE 45

Design of the solution

Inside a Managed Service

The framework itself is component-based application.

Service A

Monitoring Analysis

Managed Service A

actions SLOs metrics metrics actions metrics monitoring data Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 14

slide-46
SLIDE 46

Design of the solution

Inside a Managed Service

The framework itself is component-based application.

Service A

Monitoring Analysis Planning

Managed Service A

actions SLOs SLOs metrics metrics actions metrics monitoring data alarm Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 14

slide-47
SLIDE 47

Design of the solution

Inside a Managed Service

The framework itself is 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 - Autonomic Management of Component-based Services July 24, 2012- 14

slide-48
SLIDE 48

Design of the solution

MAPE Components

Basic API for each component

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

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

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

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 - Autonomic Management of Component-based Services July 24, 2012- 15

slide-49
SLIDE 49

Design of the solution

Monitoring: Example

Monitoring components connected through the application

◮ Monitoring backbone through the application ◮ Components collaborate to compute metrics ◮ Each component may implement the computation logic

differently

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 - Autonomic Management of Component-based Services July 24, 2012- 16

slide-50
SLIDE 50

Design of the solution

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 - Autonomic Management of Component-based Services July 24, 2012- 17

slide-51
SLIDE 51

Design of the solution

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 - Autonomic Management of Component-based Services July 24, 2012- 17

slide-52
SLIDE 52

Design of the solution

Planning: Example

Implementation of strategies of decision algorithms

Service B Mb Service A Service C1 Mc1 Aa Ma Pa

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

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 18

slide-53
SLIDE 53

Design of the solution

Planning: Example

Implementation of strategies of decision algorithms

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 - Autonomic Management of Component-based Services July 24, 2012- 18

slide-54
SLIDE 54

Design of the solution

Planning: Example

Implementation of strategies of decision algorithms

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 - Autonomic Management of Component-based Services July 24, 2012- 18

slide-55
SLIDE 55

Design of the solution

Execution: Example

Actions may be propagated to the appropiate service

◮ Execute actions on the service according to the specific means

allowed

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 - Autonomic Management of Component-based Services July 24, 2012- 19

slide-56
SLIDE 56

Design of the solution

Execution: Example

Actions may be propagated to the appropiate service

◮ Execute actions on the service according to the specific means

allowed

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 - Autonomic Management of Component-based Services July 24, 2012- 19

slide-57
SLIDE 57

Design of the solution

Execution: Example

Actions may be propagated to the appropiate service

◮ Execute actions on the service according to the specific means

allowed

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 - Autonomic Management of Component-based Services July 24, 2012- 19

slide-58
SLIDE 58

Design of the solution

Execution: Example

Actions may be propagated to the appropiate service

◮ Execute actions on the service according to the specific means

allowed

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 - Autonomic Management of Component-based Services July 24, 2012- 19

slide-59
SLIDE 59

Design of the solution

Execution: Example

Actions may be propagated to the appropiate service

◮ Execute actions on the service according to the specific means

allowed

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 - Autonomic Management of Component-based Services July 24, 2012- 19

slide-60
SLIDE 60

Design of the solution

Execution: Example

Actions may be propagated to the appropiate service

◮ Execute actions on the service according to the specific means

allowed

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 - Autonomic Management of Component-based Services July 24, 2012- 19

slide-61
SLIDE 61

Implementation

Implementation: background

◮ Grid Component Model (GCM)

◮ Extension of the Fractal Component Model ◮ Support for distributed deployment ◮ Support for collective communications (multicast/gathercast) Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 20

slide-62
SLIDE 62

Implementation

Implementation: background

◮ Grid Component Model (GCM)

◮ Extension of the Fractal Component Model ◮ Support for distributed deployment ◮ Support for collective communications (multicast/gathercast) ◮ Separation between F and NF concerns Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 20

slide-63
SLIDE 63

Implementation

Implementation: background

◮ Grid Component Model (GCM)

◮ Extension of the Fractal Component Model ◮ Support for distributed deployment ◮ Support for collective communications (multicast/gathercast) ◮ Separation between F and NF concerns

◮ Using the GCM/ProActive reference implementation

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

Active Object Invocation flow Passive Object

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 20

slide-64
SLIDE 64

Implementation

Implementaci´

  • n: SCA→ GCM

◮ MAPE components in the membrane of GCM componentes ◮ NF (non-functional) interfaces ◮ Implementation of each MAPE component ◮ Definition of an API to manipular los componentes MAPE

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 - Autonomic Management of Component-based Services July 24, 2012- 21

slide-65
SLIDE 65

Implementation

Monitoring and Analysis Components

Collection, storage, computation of metrics

◮ Listeners JMX ◮ Insertion/removal of metrics. Push/pull access. ◮ Sending of Alarm objects ◮ SLO representation: metric, condition, 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>)

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)

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 22

slide-66
SLIDE 66

Implementation

Planning and Execution Components

Execution of planning algorithms (strategies)

◮ Alarms associated to one or more strategies ◮ Support for multiple strategies using multicast interfaces

◮ Selection, parallel execution of strategies

◮ Delegation of actions to other components

◮ GCMScript for executing reconfigurations

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")

➂ ➃ ➄ Execution Manager Execution Component actions-service [actions] Translation Reconfiguration Engine actions-service [actions] PAGCMScript commands

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 23

slide-67
SLIDE 67

Use Cases

Use Case: Setting up

◮ Insertion of MAPE components via API

◮ Automatic creation of bindings following the functional

architecture of the system.

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 - Autonomic Management of Component-based Services July 24, 2012- 24

slide-68
SLIDE 68

Use Cases

Use Case: Setting up

◮ Insertion of MAPE components via API

◮ Automatic creation of bindings following the functional

architecture of the system.

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 - Autonomic Management of Component-based Services July 24, 2012- 24

slide-69
SLIDE 69

Use Cases

Use Case: Setting up

◮ Insertion of MAPE components via API

◮ Automatic creation of bindings following the functional

architecture of the system.

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 - Autonomic Management of Component-based Services July 24, 2012- 24

slide-70
SLIDE 70

Use Cases

Use Case: Propagation of autonomic adaptations

The actions is propagated through the internal components

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 - Autonomic Management of Component-based Services July 24, 2012- 25

slide-71
SLIDE 71

Use Cases

Use Case: Propagation of autonomic adaptations

The actions is propagated through the internal components

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 - Autonomic Management of Component-based Services July 24, 2012- 25

slide-72
SLIDE 72

Use Cases

Use Case: Propagation to external components

Internal control loop

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 - Autonomic Management of Component-based Services July 24, 2012- 26

slide-73
SLIDE 73

Use Cases

Use Case: Propagation to external components

Internal control loop

Manager

Tourism Service

Ev. Comp. SMS Twitter M . . . A P E . . . . . . . . . Email Email Twitter Composer Mon. An. Plan. Exec.

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 26

slide-74
SLIDE 74

Use Cases

Use Case: Mapping the lifecycle of services

Travel Composite TS BC BC Weather WS Hotel Recom. WS SMTP Server Email Brochure Service TS BC1 BC2 Monitoring Node: A Node: B Node: C VN: manager VN: workers-2 Reconf. + Virtual Nodes +Nodes ProActive Scheduler VN: workers-1 BPMN2SCA + Design customiz. SCA design BPMN design GCM Runtime Infrastructure Node: D

User Email Brochure Service Travel Servic e Weather Hotel Brochuer Email

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 27

slide-75
SLIDE 75

PERSPECTIVES Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 28

4

PERSPECTIVAS

slide-76
SLIDE 76

PERSPECTIVES

Additional work

◮ Non-Functional ADL ◮ Distributed reconfiguration of compoments ◮ Autonomic deployment on cloud environments ◮ Integration of the autonomic framework with skeletons ◮ Dynamic adaptation of workflows

Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 29

slide-77
SLIDE 77

PERSPECTIVES

Perspectives

Challenges on autonomic computing

◮ Implementation and experimentation of collaborative

strategies

◮ Division of goals in sub-tasks ◮ Hierarchical planning

◮ Verification of (safety) of reconfiguration actions

◮ Avoid livelock of adaptations ◮ Avoid inconsistencies of the applications Cristian RUZ - Autonomic Management of Component-based Services July 24, 2012- 30

slide-78
SLIDE 78

PERSPECTIVES

MERCI

INRIA Sophia Antipolis M´ editerran´ ee http://www-sop.inria.fr/oasis/ personnel/Cristian.Ruz/