Service Level Agreements
Prev | Chapter 4. Architecture Fundamentals | Next

## Service Level Agreements

Using the policy mechanisms available in Rio, services can have SLAs attached to them, ensuring operational criteria is met. The dynamic service's operational behavior can be monitored and dynamically scale it's environment up & down based on declarative attributes.

Rio provides support to observe and watch system and application defined metrics. The approach is based on a sensor-effector pattern. Data is observed from applications, OS, hardware, etc ... and measured against declared thresholds.

### SLA Policy Handlers

Policy enforcement can happen locally, distributed or hierarchically. Policy enforcement is handled by SLA Policy Handlers. SLA Policy Handlers provide if-then-else logic required to deal with the problem set they know about, are associated to Watches, and are notified of out-of-bound conditions. Rio provides three different SLA Policy Handlers:

1. SLAPolicyHandler

   A SLAPolicyHandler handles thresholds for a ThresholdWatch, registering to a ThresholdManager. If a threshold is crossed (breached or cleared), the SLAPolicyHandler will fire a SLAThresholdEvent. The SLAPolicyHandler should be extended to provide logic on how to process specific policy (if-then-else logic) on how to manage SLA Thresholds produced by ThresholdWatch instantiations

2. ScalingPolicyHandler

   The ScalingPolicyHandler extends the SLAPolicyHandler, and will increment and optionally decrement instances of the ServiceBean it is associated to based on limits set for the SLA. Service allocation happens based on declared service requirements,

3. RelocationPolicyHandler

   The Relocation Policy Handler also extends the SLAPolicyHandler, and based on configured attributes will work with the Provision Monitor to relocate the service instance to a more appropriate compute resource based on the service's declared attributes. Relocation does not directly deal with service state, service state is managed by the service itself.

Prev | Up | Next
Dynamic Provisioning | Home | Fault Detection and Recovery