SLAC: A Formal Service-Level-Agreement Language for Cloud Computing
The need of mechanisms to automate and regu- late the interaction among the parties involved in the offered services is exacerbated by the increasing number of providers and solutions that enable the cloud paradigm. This regulation should be defined through a contract, the so-called Service Level Agreement (SLA). We argue that the current solutions for SLA specification cannot adequately cope with the distinctive characteristics of clouds. Therefore, in this paper we define a language, named SLAC, devised for specifying SLA for the cloud computing domain. The main differences with respect to the existing specification languages are: SLAC is domain specific; its semantics is formally defined, in order to avoid ambiguity; it supports the main cloud deployment models; and it permits the specification of multi-party agreements. Moreover, SLAC can support the specification of business aspects of the cloud domain, such as pricing schemas, business actions and metrics. Further- more, SLAC comes with an open-source software framework that allows to specify, evaluate and enforce SLAs in the cloud domain. We illustrate potentialities and effectiveness of SLAC language and management framework through experiments on an OpenNebula cloud test bed.
Rafael Brundo Uriarte, Francesco Tiezzi and Rocco De Nicola. Definition of Metrics and Elements of the SLAC Language. Technical Report, IMT, 2014.
- ZeroRPC: http://zerorpc.dotcloud.com/ – pip install zerorpc
- Gevent: http://www.gevent.org/ – pip install gevent
- Z3: http://z3.codeplex.com/ – Source Code
- Simple Parser: http://simpleparse.sourceforge.net/ – Source Code
In a terminal start the Framework.py – python Framework.py
Send the SLA and the monnitoring data – E.g.: : python Client_RPC.py -s Examples/SLAs/Case_Study_1_3.slac -m Examples/Monitoring/Case_Study_1_Monitoring.slac
For suggestions, remarks, bugs or requests please do not hesitate to contact any of us.