autonomic monitoring and management of component based
play

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


  1. 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 Car Credit Card Reservation Billing Vacation Hotel Room Planner Reservation Management Printer Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 7 / 52

  2. 2. Context Service-Orientation Basic model for Service Oriented Architecture Service n Description Service Registry 2: Query/ 1: Publish discover Service 3: Bind Service Consumer 4: Invocate/Reply Provider Various levels in a Service Oriented Architecture SLA QoS & Non-Functional characteristics Service Monitoring Management Management Coordination Service Composition Conformance Transactions Publication Selection Service Description Foundations Discovery Binding (Papazoglou, Traverso, Dustdar, Leymann, 2007) Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 8 / 52

  3. 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 Properties Reference Service Composite C Wire Component Component Component B D A Implementation: Java, BPEL, SCA Composite, promotion PHP, ... Binding: SCA, WS, JMS, ... Binding: SCA, WS, JMS, ... Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 9 / 52

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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 Instrumentation Sensors Events Context Collect Symptoms Effectors Uncertainty Act Analyse reasoning Notifications Inferences Managed Resources Rules Policies Decide Planification Decision theory Strategies Risk analysis Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 11 / 52

  9. 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 Instrumentation Sensors Events Context Sensors Effectors Autonomic Manager Collect Analyse Plan Symptoms Effectors Uncertainty Act Analyse reasoning Notifications Inferences Managed Monitor Knowledge Execute Resources Rules Policies Decide Sensors Effectors Planification Decision theory Managed Resource Strategies Risk analysis Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 11 / 52

  10. 3. Goals and Contribution Table of Contents Introduction 1 Context 2 Goals and Contribution 3 State of the Art 4 Design 5 Implementation 6 Validation 7 Conclusions 8 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 12 / 52

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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 ) Autonomic Manager Analyse Plan Monitor Knowledge Execute Sensors Effectors Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  22. 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 ) Autonomic Manager Analyse Plan Monitor Knowledge Execute Sensors Effectors Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  23. 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 ) Analyze Monitor Plan Execute Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  24. 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 ) Analyze Monitor Plan Execute Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  25. 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 ) A M A M A M P E P E P E Service Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  26. 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 ) A M A M A M P E P E P E Service Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  27. 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 Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  28. 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 Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  29. 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 M M Service Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  30. 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 ) A M M M P E E Service Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  31. 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 ) A M A M A M P E P E P E Service Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  32. 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 ) A M M P E E Service Service Service A B C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 17 / 52

  33. 4. State of the Art Table of Contents Introduction 1 Context 2 Goals and Contribution 3 State of the Art 4 Design 5 Implementation 6 Validation 7 Conclusions 8 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 18 / 52

  34. 4. State of the Art Landscape of tools Monitoring Analysis Execution Planning Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

  35. 4. State of the Art Landscape of tools Monitoring Analysis Autopilot Magpie SLAng WSLA ARM Ganglia WSOL WS-Policy GMA WSDM WS-Agreement Lattice Cilia Everest+ Dynamo Cloud Status Cremona QoS-aware Selection QoS-aware FScript/FPath rebinding SAFRAN K-Means iPOJO clustering Genetic FraSCAti Alg. Execution Planning Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

  36. 4. State of the Art Landscape of tools Monitoring Analysis PADRES ARM VRESCo GT4 Kieker Ganglia WSOL (2010) WS-Policy (2007) (2006) (2009) GMA WSDM WS-Agreement RESERVOIR WildCat Cilia (2005) (2009) Execution Planning Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

  37. 4. State of the Art Landscape of tools Monitoring Analysis ARM Ganglia WSOL StarMX GMA WSDM Rainbow (2009) Entropy (2004) Lattice Cilia (2009) Everest+ Cloud Dynamo Status Cremona Dynaco (2006) CAPPUCINO (2010) QoS-aware SAFDIS FScript/FPath rebinding (2010) SAFRAN Ceylon iPOJO (2010) FraSCAti Execution Planning Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 19 / 52

  38. 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

  39. 4. State of the Art Summary Autopilot Rainbow StarMX Entropy Dynaco Cappucino Ceylon SAFDIS Monitoring ++ ++ ++ + + + ++ + Analysis + + + + ++ + ++ ++ Planning + + ++ + ++ + ++ ++ Execution ++ + + + ++ + ++ + development of java virtualised ubiquitous Scope grids generic components autonomous services apps. resources services applications Extensibility - ++ ++ - ++ - ++ + runtime Flexibility on/off design design - design design runtime design sensors mediation middleware for Comm. ? JMX ? ? SCA REST ? middleware events Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 21 / 52

  40. 5. Design Table of Contents Introduction 1 Context 2 Goals and Contribution 3 State of the Art 4 Design 5 Implementation 6 Validation 7 Conclusions 8 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 22 / 52

  41. 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

  42. 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

  43. 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 metrics metrics SLOs Managed design time actions Service actions addition Service A A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 23 / 52

  44. 5. Design Inside the managed service The framework is itself a component-based application Managed Service A metrics metrics SLOs actions actions Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

  45. 5. Design Inside the managed service The framework is itself a component-based application Managed Service A Monitoring metrics metrics metrics monitoring data SLOs actions actions Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

  46. 5. Design Inside the managed service The framework is itself a component-based application Managed Service A Analysis Monitoring metrics metrics metrics monitoring data SLOs actions actions Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

  47. 5. Design Inside the managed service The framework is itself a component-based application Managed Service A Analysis Monitoring metrics metrics SLOs metrics monitoring data alarm SLOs actions actions Planning Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

  48. 5. Design Inside the managed service The framework is itself a component-based application Managed Service A Analysis Monitoring metrics metrics SLOs metrics monitoring data alarm SLOs actions Planning actions Execution actions execution Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 24 / 52

  49. 5. Design Monitoring Monitoring components connected through the application Interacting through their interfaces Adapted to the monitoring needs/requirements of each service (optional) storage of obtained values or metrics management of computation of sensors (polling/ metrics from (optional) listening) to collect obtained values communication with information other monitoring components metrics-reference1 [metrics] metrics-reference2 [metrics] metrics-service Monitoring [metrics] . . . . . . metrics-referencei [metrics] metrics getMetricList() getMetric(metricName) subscribe(metricName) unsubscribe(metricName) insertMetric(metric, metricName) removeMetric(metricName) Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 25 / 52

  50. 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 C Service Service Service B D A Service E Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 26 / 52

  51. 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 C Mc Mb Md Ma Service Service Service B D A Me Service E Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 26 / 52

  52. 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 e(c) = e(a) + e(b) + e(d) + e(e) e(d) = 8 kW Service C Mc Mb Md Ma Service Service Service B D A Me Service e(b) = 2 kW e(a) = 6 kW + e(b) E e(e) = 2 kW Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 26 / 52

  53. 5. Design Analysis Checking of compliance to SLA requirements Expressed as SLOs (Service Level Objectives) Computed from metrics obtained from the monitoring component management association of collection of (insertion/removal/ SLOs and required required values to activation/storage) of metrics check SLOs SLOs metrics-reference [metrics] slo-service Analysis [SLOs] alarm-reference [alarm] SLOs alarm notify(alarmType, condition) addSLO(SLO, sloName) removeSLO(metricName) enableSLO(metricName) disableSLO(metricName) Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 27 / 52

  54. 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 Ab Mb Service B Aa Ma Mc Service A Service C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 28 / 52

  55. 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 Metrics: cost(B)=... Metric: SLO: cost(A) < 30 cost(A)=cost(B)+cost(C) Ab Mb cost(B)=18 Service B Metrics: cost(A)=28 cost(C)=... Aa Ma Mc cost(C)=10 Service A Service C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 28 / 52

  56. 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 Metrics: SLO: cost(B)=... respTime < 2s. respTime(B)=... Metric: SLO: cost(A) < 30 cost(A)=cost(B)+cost(C) Ab Mb Service B Metrics: cost(C)=... Aa Ma Mc Service A Service C Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 28 / 52

  57. 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 support for one or generation of (list association of faulting more strategies of) actions in a condition and severity level defined format to an appropriate strategy metrics-reference [metrics] alarm-service Planning [alarm] actions-reference [actions] actions sendActions(actionList) sendAction(action) Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 29 / 52

  58. 5. Design Planning Example Uses the Monitoring components to get the information it may need SLO: Mb cost(A) < 30 cost(B)=18 Service B Ma Aa Mc1 cost(C1)=20 Pa Service C1 Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 30 / 52

  59. 5. Design Planning Example Uses the Monitoring components to get the information it may need SLO: Mb cost(A) < 30 cost(B)=18 Service B Alarm: cost(A) >= 30 Ma Aa Mc1 cost(C1)=20 Pa Service C1 Strategy: Service getMetric(cost,B)=? A getMetric(cost,C1)=? Mc2 getMetric(cost,C2)=? cost(C2)=5 output: replace(C1,C2); Service C2 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 30 / 52

  60. 5. Design Planning Example Uses the Monitoring components to get the information it may need SLO: Mb Action: cost(A) < 30 cost(B)=18 replace(C1,C2); Service B Alarm: cost(A) >= 30 Ma Aa Mc1 cost(C1)=20 Pa Service C1 Strategy: Service getMetric(cost,B)=? A getMetric(cost,C1)=? Mc2 getMetric(cost,C2)=? cost(C2)=5 output: replace(C1,C2); Service C2 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 30 / 52

  61. 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 translation of actions to the execution of transmission of support provided by the actions on the actions to external service target service services actions-reference1 [actions] actions-reference2 actions-service [actions] Executing [actions] . . . . . . actions-referencei [actions] Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 31 / 52

  62. 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 Actions: replace(C1,C2); unbind(B,b1); Eb set(C2,threads,10); Service B Service D b1 Pa Ea Ec1 Service C1 Service A Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

  63. 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 Actions: replace(C1,C2); Eb unbind(B,b1); set(C2,threads,10); Service B Service D b1 Pa Ea Ec1 replace(C1,C2); Service C1 Service A Ec2 Service C2 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

  64. 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 Actions: replace(C1,C2); Eb unbind(B,b1); set(C2,threads,10); Service B Service D b1 Pa Ea Ec1 replace(C1,C2); Service C1 Service A Ec2 Service C2 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

  65. 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 unbind(B,b1); Actions: replace(C1,C2); unbind(B,b1); Eb set(C2,threads,10); Service B Service D b1 Pa Ea Service A Ec2 Service C2 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

  66. 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 unbind(B,b1); Actions: replace(C1,C2); Eb unbind(B,b1); set(C2,threads,10); Service B b1 Pa Ea Service A Ec2 Service C2 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

  67. 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 Actions: replace(C1,C2); Eb unbind(B,b1); set(C2,threads,10); Service B b1 Pa Ea Service set(C2,threads,10); A Ec2 Service C2 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 32 / 52

  68. 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

  69. 6. Implementation Table of Contents Introduction 1 Context 2 Goals and Contribution 3 State of the Art 4 Design 5 Implementation 6 Validation 7 Conclusions 8 Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 34 / 52

  70. 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

  71. 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 Control Interfaces Client Interfaces Primitive Component Server Interfaces Content Bindings Membrane Composite Component Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

  72. 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

  73. 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

  74. 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

  75. 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

  76. 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 Passive Object Invocation flow Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

  77. 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 Passive Object Invocation flow Cristian Ruz (INRIA Oasis Team) Autonomic M&M of Comp-based Services 23/06/2011 36 / 52

Recommend


More recommend